Actions & Tools
Im Actions-Tab verwalten Sie alles, was Ihr Agent jenseits des Gesprächs leisten kann — Tools, die der Agent während eines laufenden Gesprächs aufruft, Pre-fetch-Hooks, die vor Anrufbeginn laufen, und Post-call-Aktionen, die nach Anrufende ausgelöst werden. Auch die Abruf-Variablen (die Datenfelder, die der Agent aus jedem Gespräch extrahiert) finden sich in diesem Tab.
Sämtliche Tools, Aktionen und der neue Pre-fetch-Hook sind in jedem Tarif verfügbar, einschließlich Free.
Die drei Phasen
Jeder Eintrag im Actions-Tab gehört zu einer von drei Lebenszyklus-Phasen. Das Add Tool-Dropdown gruppiert sie, damit auf einen Blick klar ist, wann was ausgelöst wird:
| Phase | Wann | Beispiele |
|---|---|---|
| Pre fetch | Bevor der Agent grüßt | Anrufer per Telefonnummer im CRM nachschlagen, letzte Bestellung abrufen, personalisierte Begrüßungsdaten aus Ihrem Backend laden |
| Live call | Während des Gesprächs, von der KI im passenden Moment ausgelöst | Anruf an einen Menschen weiterleiten, Kalenderverfügbarkeit prüfen, an einen anderen Agenten übergeben, externe API für Daten abfragen |
| Post call | Nach Anrufende | Zusammenfassungs-E-Mail senden, SMS-Bestätigung verschicken, Anruf-Payload an Ihr CRM pushen |
Das Dropdown öffnet mit Pre fetch ganz oben, weil alle anderen Phasen bereits zahlreiche Optionen bieten — der neue Pre-fetch-Eintrag ist wahrscheinlich das, was Sie suchen.
Pre fetch
Pre-fetch-Hooks ermöglichen es Ihrem Agenten, das Gespräch zu beginnen, ohne den Anrufer nicht zu kennen. Sie laufen parallel zum Anrufaufbau und injizieren die Antwort in den System-Prompt des Agenten, bevor das erste Wort fällt.
Wann verwenden
- Wiederkehrenden Kunden anhand der Telefonnummer erkennen und namentlich begrüßen
- Offene Bestellung, letzten Termin oder Mitgliedschaftsstufe des Anrufers abrufen
- Geschäftskontext laden, der davon abhängt, welche Nummer angerufen wurde
- CRM-Notizen injizieren, damit der Agent die Lead-Phase und Historie kennt
So funktioniert es
- Die Plattform ermittelt die Telefonnummer des Anrufers (per SIP bei eingehenden, per Wahlziel bei ausgehenden Anrufen).
- Jede aktive Pre fetch-Aktion läuft parallel mit einem festen Timeout von 1,5 s pro Anfrage und einem Gesamtbudget von 2 s.
- Erfolgreiche Antworten werden als benannte Blöcke in den System-Prompt des Agenten konkateniert — der Agent liest sie in seinem allerersten Turn.
- Fehler bleiben stumm — ein langsamer oder fehlerhafter Endpoint blockiert die Begrüßung niemals. Der Agent beginnt dann einfach ohne diesen Block zu sprechen.
Konfiguration
| Feld | Beschreibung |
|---|---|
| Name | Pflichtfeld. Interne Bezeichnung und Blockname im Prompt — kurz und beschreibend halten (z. B. crm_lookup, vip_check). |
| API URL | Pflichtfeld. Endpoint zum Abruf. Unterstützt die Platzhalter {phone}, {direction}, {agent_id}, {user_id}, {call_id}. |
| HTTP Method | GET ist Standard und die beste Wahl. POST / PUT / PATCH / DELETE funktionieren ebenfalls. |
| Headers | Optional. Statisch oder mit Platzhaltern (Platzhalter funktionieren auch hier). |
| Query Parameters | Optional. Bei neuen Pre-fetch-Aktionen mit phone={phone} vorbelegt. |
Verfügbare Variablen
Diese Tokens werden zum Anfragezeitpunkt in URL, Headers und Query-/Body-Parametern ersetzt:
| Variable | Quelle | Beispielwert |
|---|---|---|
{phone} | Telefonnummer des Anrufers (E.164) — bei ausgehenden Anrufen die Zielnummer | +431234567890 |
{direction} | inbound oder outbound | inbound |
{agent_id} | Interne Agent-ID | 65f1a2b3c4... |
{user_id} | ID des Workspace-Inhabers | 65e0b1c2d3... |
{call_id} | Anruf-ID (lässt Ihr Backend spätere Post-call-Payloads zuordnen) | 65f1f2c4d5... |
Unbekannte Platzhalter bleiben unverändert — fehlerhaftes Templating bricht niemals einen Anruf ab.
Was im Prompt landet
Wenn Ihr Endpoint unter https://crm.example.com/lookup?phone={phone} Folgendes zurückgibt:
{ "name": "Sarah Johnson", "tier": "Gold", "open_orders": 1 }
Wird der System-Prompt des Agenten um einen XML-umschlossenen Block ergänzt, benannt nach der Aktion:
<call_context>
<block name="crm_lookup">
{ "name": "Sarah Johnson", "tier": "Gold", "open_orders": 1 }
</block>
</call_context>
Sie müssen dem Agenten nicht erklären, wie er den Block nutzen soll — das LLM nimmt den Kontext natürlich auf. Optional erwähnen Sie Pre fetch im System-Prompt: "Wenn <call_context> einen Kundennamen enthält, begrüße ihn mit Namen."
Wichtige Einschränkungen
- Nur Telefonanrufe. Pre fetch läuft nicht für Widget-Anrufe im Web — es gibt keine Telefonnummer zum Einsetzen.
- 8-KB-Limit für die Antwort — alles darüber wird vor der Injektion abgeschnitten. Das Limit schützt Ihr Prompt-Token-Budget und begrenzt den möglichen Schaden eines böswilligen Endpoints.
- Keine
condition-Auswertung — Pre fetch feuert immer, wenn aktiv. Es liegt noch keine Transkription vor, gegen die ausgewertet werden könnte.
Verwenden Sie GET mit einem nach Telefonnummer geschlüsselten Lookup-Endpoint. Halten Sie Antworten klein und strukturiert (JSON-Objekt mit 3–5 Feldern). Der Agent braucht nicht Ihren ganzen Kundendatensatz — nur die Felder, die das Gespräch verändern.
Live-Call-Tools
Diese laufen während des Gesprächs. Die KI entscheidet anhand der Tool-Beschreibung und des aktuellen Dialogs, wann sie jedes Tool aufruft.
Verfügbare Tools
| Tool | Zweck | Wann verwenden |
|---|---|---|
| Call Forwarding | An einen menschlichen Mitarbeiter weiterleiten | Kunde fragt nach einer Person, komplexe Anliegen |
| Google Calendar | Verfügbarkeit prüfen und Termine buchen | Kunde möchte einen Termin vereinbaren |
| Outlook Calendar | Dasselbe via Microsoft Outlook | Kunde möchte einen Termin vereinbaren |
| API Tool RAG | Live-Daten aus einer externen API abrufen | Echtzeitinformation nötig (Bestellungen, Lagerbestand, Kontostatus) |
| Agent Transfer | An einen anderen Voice Agent weiterleiten | Anrufer benötigt eine andere Abteilung oder eine Fachperson |
| HubSpot CRM | Kontakte und Deals in HubSpot lesen/schreiben | Anruf in HubSpot loggen, Lead nachschlagen |
| MCP servers | Tools von einem Ihrer registrierten MCP Servers bereitstellen | Sie betreiben einen MCP-kompatiblen Tool-Server und möchten, dass der Agent dessen Tools mitten im Gespräch nutzt |
Call Forwarding
Anrufe an einen Menschen weiterleiten, wenn bestimmte Bedingungen erfüllt sind.
| Einstellung | Beschreibung | Beispiel |
|---|---|---|
| Name | Pflichtfeld. Name der Person oder Abteilung | "Vertriebsleiter" |
| Forwarding Number | Standard-Telefonnummer für die Weiterleitung | "+49 123 456 789" |
| Trigger Condition | Wann der Agent weiterleiten soll | "Kunde fragt nach Manager oder das Anliegen kann nicht gelöst werden" |
| Conditional Routing Numbers | Mapping Bedingung → Nummer für das Routing | {"billing": "+49 111 222", "technical": "+49 333 444"} |
So funktioniert es:
- Während des Gesprächs wertet die KI die Trigger Condition aus.
- Sind Conditional Routing Numbers gesetzt, bestimmt die passende Bedingung, welche Nummer angerufen wird.
- Andernfalls wird die Forwarding Number verwendet.
- Der Agent informiert den Anrufer über die Weiterleitung.
- Der Anruf wird weitergeleitet — bei Nichtannahme kehrt er zurück zum Agenten.
Sie können mehrere Call-Forwarding-Tools für unterschiedliche Abteilungen anlegen — eines für „Vertrieb" und eines für „Technischen Support" mit jeweils eigenen Bedingungen und Nummern.
Google Calendar
Verbinden Sie Ihren Google Calendar, damit der Agent während des Anrufs Verfügbarkeit prüfen und Termine buchen kann.
Einrichtung:
- Gehen Sie zu Integration → Calendars und verbinden Sie zuerst Ihr Google-Konto.
- Fügen Sie das Tool Google Calendar im Actions-Tab des Agenten hinzu.
- Wählen Sie den zu nutzenden Kalender.
- Konfigurieren Sie Ihre Verfügbarkeits-Einstellungen.
| Einstellung | Beschreibung | Standard |
|---|---|---|
| Calendar | Pflichtfeld. Welcher Kalender genutzt wird | Ihr primärer Kalender |
| Timezone | Zeitzone für Termine (IANA-Format) | Automatisch erkannt |
| Work Start Time | Beginn der Arbeitszeit | 9:00 |
| Work End Time | Ende der Arbeitszeit | 18:00 |
| Slot Duration | Termindauer in Minuten | 30 |
| Working Days | Verfügbare Wochentage | Montag–Freitag |
| Buffer Between Appointments | Pufferzeit zwischen Terminen (0–60 Min.) | 0 |
Unterstützte Slot-Dauern: 15, 30, 45, 60, 75, 90, 105, 120 Minuten.
Hinterlegen Sie Arbeitszeiten und -tage präzise — der Agent bietet nur Slots innerhalb Ihrer konfigurierten Verfügbarkeit an.
Outlook Calendar
Verbinden Sie Ihren Outlook Calendar für Terminbuchungen während des Anrufs. Funktioniert genauso wie Google Calendar.
Einrichtung:
- Gehen Sie zu Integration → Calendars und verbinden Sie zuerst Ihr Outlook-Konto.
- Fügen Sie das Tool Outlook Calendar im Actions-Tab des Agenten hinzu.
- Wählen Sie den zu nutzenden Kalender.
- Konfigurieren Sie Ihre Verfügbarkeits-Einstellungen.
Die Einstellungen sind identisch zu Google Calendar (Zeitzone, Arbeitszeiten, Slot-Dauer, Wochentage, Puffer).
Agent Transfer
Leitet einen Anruf an einen anderen Voice Agent in Ihrem Konto weiter. Nützlich, wenn Sie spezialisierte Agenten für unterschiedliche Abteilungen haben.
| Einstellung | Beschreibung |
|---|---|
| Target Agent | Pflichtfeld. Wählen Sie, an welchen Agenten weitergeleitet werden soll |
| Trigger Condition | Wann weitergeleitet wird (z. B. „Anrufer fragt nach technischem Support") |
Beispiel: Ein Empfangs-Agent leitet Anrufer an einen Sales-Agent weiter, wenn diese nach Preisen fragen, oder an einen Support-Agent bei technischen Problemen.
HubSpot CRM
Lesen und Schreiben in Ihrem HubSpot-CRM während des Anrufs. Der Agent kann Interaktionen protokollieren, einen Kontakt per Telefonnummer nachschlagen oder Deal-Updates pushen, ohne dass Sie die API-Aufrufe selbst skripten müssen.
Einrichtung:
- Öffnen Sie die Seite Integrations und verbinden Sie Ihr HubSpot-Konto.
- Fügen Sie das Tool HubSpot CRM im Actions-Tab des Agenten hinzu.
- Legen Sie fest, welche Pipeline und welche Properties die KI verändern darf.
Sobald das Tool hinzugefügt ist, kann die KI den Anrufer per Telefonnummer einem HubSpot-Kontakt zuordnen, die Deal-Phase abrufen und Felder aktualisieren — alles aus dem laufenden Gespräch heraus.
MCP servers
Stellen Sie Tools von einem beliebigen MCP-kompatiblen Server bereit, den Sie mit Hanc.AI verbunden haben. Ein Agent kann Tools aus mehreren MCP Servers nutzen; ein MCP Server kann mehrere Agenten bedienen.
Einrichtung:
- Verbinden Sie Ihre MCP-Server einmalig unter Integration → MCP servers. Die vollständigen Registrierungsschritte finden Sie auf der eigenen Seite MCP Servers.
- Fügen Sie den Eintrag MCP servers zum Actions-Tab dieses Agenten hinzu — er ist im Add-Action-Dropdown unter Live call gruppiert.
- Aktivieren Sie, auf welche Ihrer registrierten Verbindungen dieser Agent Zugriff haben soll.
- Ergänzen Sie eine kurze „When to use it"-Anweisung, damit der Agent weiß, wann er diese Tools nutzen soll.
Zu Beginn jedes Anrufs entdeckt der Agent die Tool-Liste jedes aktivierten MCP Servers neu, sodass serverseitige Änderungen automatisch beim nächsten Anruf wirken. Tools werden mit dem Verbindungs-Label als Präfix umbenannt, damit gleichnamige Tools aus verschiedenen Servern nicht kollidieren.
API Tool RAG
Verbinden Sie sich mit externen APIs, um während des Anrufs Echtzeitinformationen abzurufen — Bestellungen prüfen, Lagerbestände abfragen, Konten verifizieren oder beliebige andere API-Daten nutzen.
| Einstellung | Beschreibung | Beispiel |
|---|---|---|
| Name | Pflichtfeld. Tool-Name | "Bestellabfrage" |
| Description / When to Use | Pflichtfeld. Wann die API abgefragt werden soll | "Kunde fragt nach Bestellstatus" |
| API URL | Pflichtfeld. API-Endpoint. Kann {placeholder}-Tokens enthalten, die mit Werten aus dem Body Parameters Schema (siehe unten) ersetzt werden. | "https://api.yourshop.com/orders/{order_id}" |
| HTTP Method | Pflichtfeld. HTTP-Methode | GET, POST, PUT, DELETE, PATCH |
| Loading Message | Was der Agent während des Wartens sagt | "Einen Moment, ich prüfe das für Sie..." |
| Timeout | Maximale Wartezeit (ms) | 5000 (Standard) |
| Headers | Statische HTTP-Header, die mit jeder Anfrage gesendet werden | {"Authorization": "Bearer KEY"} |
| Query Parameters | Statische Query-String-Parameter, die jeder Anfrage hinzugefügt werden | {"apiVersion": "v2"} |
| Body Parameters Schema | Pflichtfeld. JSON Schema, das beschreibt, welche Argumente die KI aus dem Gespräch extrahieren und an das Tool übergeben soll. Siehe Body Parameters Schema schreiben. | JSON-Schema-Objekt |
Setzen Sie immer eine Loading Message — Stille während eines API-Aufrufs wirkt auf den Anrufer wie ein Fehler.
Die alte Checkbox „Run on call start" am API Tool RAG wurde durch den dedizierten Eintrag Pre fetch ersetzt. Verwenden Sie Pre fetch, wenn Sie die Daten vor Gesprächsbeginn brauchen; nutzen Sie API Tool RAG, wenn die KI während des Gesprächs entscheiden soll, ob abgerufen wird.
Body Parameters Schema schreiben
Trotz des Namens ist das Body Parameters Schema kein roher Request-Body. Es ist ein JSON Schema, das beschreibt, was die KI aus dem Gespräch extrahieren und an Ihr Tool übergeben soll. Abhängig von HTTP-Methode und URL-Template landen diese Werte in URL, Query-String oder JSON-Body:
| HTTP-Methode | Wohin extrahierte Werte gehen |
|---|---|
URL enthält {name} | Der passende Wert wird in die URL eingesetzt |
GET, DELETE | Verbleibende Werte werden als ?key=value an die URL angehängt |
POST, PUT, PATCH | Verbleibende Werte werden als JSON-Body gesendet |
Minimale Struktur
{
"type": "object",
"properties": {
"param_name": {
"type": "string",
"description": "Was dieser Wert ist und wie die KI ihn auswählen soll"
}
},
"required": ["param_name"]
}
Der Wurzel-type ist immer "object". properties listet jedes Argument auf. required markiert die zwingend benötigten — hat der Kunde sie noch nicht genannt, fragt die KI nach, bevor sie das Tool aufruft.
Feldreferenz
| Feld | Zweck |
|---|---|
type | JSON-Typ des Werts: "string", "number", "integer", "boolean", "array", "object" |
description | Wichtigster Punkt. Erklärt der KI, was der Wert bedeutet, in welchem Format er vorliegt und wann er zu liefern ist. Wenn möglich, Beispiele angeben. |
enum | Beschränkt den Wert auf eine feste Liste. Die KI ordnet natürliche Sprache der nächstliegenden Option zu (z. B. „der blaue" → "blue"). |
minimum, maximum | Numerische Grenzen. Die KI lehnt Werte außerhalb des Bereichs ab oder klemmt sie auf den Rand. |
default | Wert, wenn die KI das Feld nicht übergibt. Nicht zwingend, dokumentiert aber den impliziten Wert. |
format | Validierungshinweis, z. B. "email", "date" (YYYY-MM-DD), "uri". |
Beispiele
Produktsuche (nur Stichwort):
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Produktsuche-Stichwort — z. B. \"Telefon\", \"Laptop\", \"Apple\", \"Samsung\""
}
},
"required": ["query"]
}
Verwendet mit URL https://dummyjson.com/products/search?q={query}&limit=5 und GET: Der query-Wert geht in den URL-Platzhalter. Im Body landet nichts.
Bestellung per ID nachschlagen:
{
"type": "object",
"properties": {
"order_id": {
"type": "string",
"description": "Bestell-ID, nach der der Kunde fragt, üblicherweise 6 bis 10 Ziffern. Beim Kunden nachfragen, wenn nicht genannt."
}
},
"required": ["order_id"]
}
Verwendet mit URL https://api.example.com/orders/{order_id} und GET.
Buchung mit mehreren Pflichtfeldern:
{
"type": "object",
"properties": {
"product_id": {
"type": "string",
"description": "Produkt-ID aus einem vorherigen search_products-Aufruf."
},
"quantity": {
"type": "integer",
"minimum": 1,
"maximum": 10,
"description": "Wie viele Artikel reservieren. Standard 1."
},
"delivery_method": {
"type": "string",
"enum": ["pickup", "home_delivery", "locker"],
"description": "Wie der Kunde den Artikel erhalten möchte."
},
"customer_email": {
"type": "string",
"format": "email",
"description": "E-Mail des Kunden für die Bestellbestätigung. Nachfragen, wenn nicht genannt."
}
},
"required": ["product_id", "delivery_method", "customer_email"]
}
Verwendet mit POST https://api.example.com/reservations: Die vier Werte gehen in den JSON-Body. Die KI fragt beim Kunden nach fehlenden required-Feldern, bevor sie das Tool aufruft.
Tool ohne Parameter:
{
"type": "object",
"properties": {}
}
Verwenden Sie das, wenn der Endpoint vollständig statisch ist (z. B. GET /store/hours) und die KI nichts übergeben muss.
Best Practices für Sprachagenten
- Halten Sie das Schema flach. Verschachtelte Objekte und Arrays funktionieren, aber die KI kann sich am Telefon verheddern. Bevorzugen Sie maximal 3–5 Felder auf oberster Ebene.
- Schreiben Sie für jedes Feld immer eine
description. Beispiele dazu (z. B. "Telefon", "Laptop") — Beispiele leiten die KI verlässlicher als abstrakte Definitionen. - Verwenden Sie
enum, wann immer eine feste Werteliste vorliegt. So vermeiden Sie, dass die KI Werte erfindet oder"Elektronik"statt"electronics"sendet. - Markieren Sie ein Feld nur dann als
required, wenn das Tool ohne dieses Feld nicht arbeiten kann. Alles andere ist optional, und die KI lässt es weg, wenn der Kunde es nicht erwähnt — keine unnötigen Rückfragen. - Verwenden Sie
snake_case-Namen und matchen Sie alle{placeholder}-Tokens in der URL exakt. - Dokumentieren Sie das Verhalten bei fehlenden Werten in der
description— z. B. „Auslassen, wenn kein Budget-Limit", „Standard 5".
Post-Call-Aktionen
Post-Call-Aktionen werden ausgelöst, sobald der Anruf beendet und die Analyse-Kette Zusammenfassung, Sentiment und extrahierte Variablen erzeugt hat. Sie verarbeiten Anrufdaten — sie sprechen nicht mit dem Kunden.
Verfügbare Aktionen
| Aktion | Zweck |
|---|---|
| Send Email | Strukturierte Zusammenfassung an Ihr Team oder den Kunden mailen |
| Send SMS | SMS-Bestätigung an den Anrufer |
| Send WhatsApp | WhatsApp-Nachricht oder -Template (innerhalb und außerhalb des 24-Stunden-Fensters) |
| API Call | Vollständige Anruf-Payload an eine externe API pushen (CRM, Webhook, Data Warehouse) |
Send Email
| Einstellung | Beschreibung |
|---|---|
| Name | Pflichtfeld. Aktions-Bezeichner |
| Subject | Pflichtfeld. Betreffzeile der E-Mail |
| Message Body | Pflichtfeld. E-Mail-Text — kann Abruf-Variablen enthalten |
| Trigger Condition | Wann gesendet wird (leer = immer) |
| Recipients | Pflichtfeld. E-Mail-Adressen, die immer empfangen |
| Conditional Recipients | Mapping Bedingung → Empfänger |
Variablen in E-Mails verwenden:
Neuer Lead aus Telefonanruf:
Name: {{customer_name}}
E-Mail: {{customer_email}}
Interessiert an: {{selected_plan}}
Notizen: {{call_notes}}
Send SMS
| Einstellung | Beschreibung |
|---|---|
| Name | Pflichtfeld. Aktions-Bezeichner |
| Sender Name | Angezeigter Absendername |
| Message | Pflichtfeld. SMS-Inhalt (kann Variablen enthalten) |
| Trigger Condition | Wann gesendet wird |
| Recipients | Pflichtfeld. Telefonnummern, die immer empfangen |
| Conditional Recipients | Mapping Bedingung → Nummer |
Send WhatsApp
WhatsApp-Nachrichten in HANC nutzen vorab genehmigte Templates aus einem zentralen Twilio-Content-Account — Sie fügen keine Template-SID manuell ein. Der Aktions-Editor zeigt ein Dropdown mit allen aktuell aktiven und genehmigten Templates, und Sie wählen eines aus. Platzhalter im Template ({{1}}, {{2}}, …) werden anschließend inline aus Anruf-Variablen oder festem Text befüllt, den Sie im Editor zuordnen.
| Einstellung | Beschreibung |
|---|---|
| Name | Pflichtfeld. Aktions-Bezeichner |
| Trigger Condition | Wann gesendet wird |
| Recipients | Pflichtfeld. Telefonnummern, die die Nachricht immer erhalten |
| Conditional Recipients | Mapping Bedingung → Nummer |
| Template | Pflichtfeld. Dropdown-Auswahl der vorab genehmigten WhatsApp-Templates, synchronisiert aus dem zentralen Twilio-Content-Account. Jeder Eintrag zeigt Template-Name, Sprache und eine Vorschau des Inhalts, damit Sie das richtige auswählen können. |
| Template Variables | Für das gewählte Template listet der Editor jeden Platzhalter ({{1}}, {{2}}, …) auf und Sie ordnen ihn einer Anruf-Variable (siehe unten) oder einer festen Zeichenkette zu. |
Verfügbare Anruf-Variablen für Template-Platzhalter:
| Variable | Beschreibung |
|---|---|
{{call_from}} | Telefonnummer des Anrufers |
{{call_to}} | Angerufene Nummer |
{{call_summary}} | KI-generierte Anrufzusammenfassung |
{{call_sentiment}} | Sentiment (positive/neutral/negative) |
{{call_task_achieved}} | Ob das Anrufziel erreicht wurde |
{{call_transcription}} | Vollständige Anruftranskription |
WhatsApp verlangt für jede vom Unternehmen ausgelöste Nachricht außerhalb des 24-Stunden-Kundenservicefensters ein vorab genehmigtes Template. HANC synchronisiert die Liste der genehmigten Templates aus dem gemeinsamen Twilio-Content-Account, daher zeigt das Dropdown immer genau das, was aktuell versendet werden darf — Sie können nicht versehentlich einen Entwurf, ein abgelehntes Template oder eine nicht existierende SID auswählen. Um ein neues Template hinzuzufügen, wenden Sie sich an den Support; sobald es von WhatsApp genehmigt ist, erscheint es automatisch im Dropdown.
API Call
Die Post-Call-API-Call-Aktion ist Ihr generischer Webhook in den Rest Ihres Stacks. Methode wählen, URL setzen — wir senden die vollständige Anruf-Payload, und Ihr Endpoint erhält ein strukturiertes JSON-Objekt mit allem, was passiert ist.
| Einstellung | Beschreibung |
|---|---|
| Name | Pflichtfeld. Aktions-Bezeichner |
| Trigger Condition | Wann ausgelöst wird (leer = jeder Anruf). Wird von einem LLM gegen die Transkription ausgewertet. |
| API URL | Pflichtfeld. URL des API-Endpoints |
| HTTP Method | Pflichtfeld. GET, POST, PUT, DELETE, PATCH |
| Headers | Optionale Request-Header |
| Query Parameters | Optionale Query-String-Parameter |
Was Ihr Endpoint empfängt
Bei POST / PUT / PATCH erhält Ihr Endpoint ein JSON-Objekt im Request-Body. Ihre konfigurierten Body-Parameter werden mit der vollständigen Anruf-Payload zusammengeführt:
{
"call_from": "+431234567890",
"call_to": "+439876543210",
"direction": "inbound",
"call_type": "phone",
"call_status": "ended",
"start_timestamp": 1730000000000,
"end_timestamp": 1730000187000,
"duration": 187000,
"transcription": [
{ "speaker": "agent", "content": "Hallo…", "timestamp": 1730000001000 },
{ "speaker": "user", "content": "Hi…", "timestamp": 1730000003000 }
],
"call_summary": "Kunde fragte nach Preisen…",
"task_achieved": true,
"sentiment": { "sentiment": "positive", "explanation": "…" },
"custom_analysis_data": {
"name": "John",
"email": "john@example.com"
},
"collected_data": { /* Formulareingaben während des Anrufs */ },
"transfer_history": [ /* falls ein Agent-Transfer stattfand */ ],
"recording_url": "https://…",
"disconnection_reason": "user_hangup",
"is_anonymous": false,
"is_simulation": false,
"created_at": 1730000000000,
"updated_at": 1730000187000
}
Bei GET / DELETE werden dieselben Felder in den Query-String geflättet — verschachtelte Werte wie transcription, sentiment und custom_analysis_data werden dabei jedoch verworfen (URLs können strukturierte Daten nicht sinnvoll transportieren). Verwenden Sie POST/PUT/PATCH, wenn Sie das Transkript brauchen.
Jede Anfrage erhält außerdem einen X-Correlation-Id-Header für das Tracing und läuft nach 30 Sekunden in einen Timeout.
- Pre fetch setzt
{phone}etc. in URL/Headers/Query/Body ein. Liefert in den Prompt, vor dem Anruf. - Post-Call API Call sendet den vollständigen Anruf-Dump im Body oder Query. Kein URL-Templating — Ihr Endpoint bekommt eine statische URL plus dynamischen Body.
Abruf-Variablen
Abruf-Variablen sind benutzerdefinierte Datenfelder, die die KI automatisch aus Gesprächen extrahiert. Der Agent kann beispielsweise Name, E-Mail-Adresse, Telefonnummer oder beliebige andere Informationen erfassen.
Standard-Variablen
Jeder neue Agent wird mit zwei Standard-Abruf-Variablen erstellt:
| Variable | Typ | Beschreibung |
|---|---|---|
| E-Mail-Adresse des Anrufers | ||
| Phone | Telefon | Telefonnummer des Anrufers |
Diese sind standardmäßig aktiviert und werden im Anruf-Widget-Formular angezeigt. Sie können sie bearbeiten, entfernen und eigene Variablen hinzufügen.
Variablentypen
| Typ | Anwendungsfall | Beispiel |
|---|---|---|
| Text | Namen, Adressen, Notizen, Freitext | Kundenname, Lieferadresse |
| Number | Mengen, Budgets, IDs | Bestellmenge, Budgetbetrag |
| E-Mail-Adressen mit Validierung | Kunden-E-Mail | |
| Phone | Telefonnummern mit Validierung | Kunden-Telefonnummer |
| Selector | Auswahl aus vordefinierten Optionen | Bevorzugter Tarif (Basic/Pro/Enterprise) |
| Checkbox | Ja/Nein-Einwilligung oder Bestätigung | „Ich stimme dem Empfang von Marketing-E-Mails zu" |
Eine Variable konfigurieren
| Feld | Beschreibung | Beispiel |
|---|---|---|
| Variable Name | Pflichtfeld. Variablen-Bezeichner | customer_email |
| Instructions for AI | Pflichtfeld. Anweisung an die KI, wann und wie der Wert extrahiert wird | "Die E-Mail-Adresse des Kunden. Höflich nachfragen, wenn nicht genannt." |
| Example Format | (Optional) Beispielformat | "john@example.com" |
| Options (für Selector) | (Nur Selector) Liste der erlaubten Optionen | ["Basic", "Pro", "Enterprise"] |
| Show in Form | Ob das Feld im Anruf-Widget-Formular angezeigt wird | Standardmäßig aktiv |
Show in Form
Ist Show in Form aktiv, erscheint die Variable als sichtbares Eingabefeld im Web-Widget vor und während des Anrufs. So können Besucher ihre Daten direkt eingeben — zusätzlich zur Extraktion durch die KI aus dem Gespräch.
Die KI fragt fehlende Informationen während des Gesprächs auf natürliche Weise nach. Schreiben Sie eine klare Beschreibung wie „E-Mail-Adresse des Kunden, höflich nachfragen, wenn nicht genannt", und der Agent erledigt den Rest.
Tools & Aktionen hinzufügen
- Navigieren Sie zum Actions-Tab Ihres Agenten.
- Klicken Sie auf Add Tool.
- Wählen Sie im Dropdown die passende Phase — Pre fetch, Live call oder Post call.
- Konfigurieren Sie die Einstellungen.
- Speichern — Änderungen greifen ab dem nächsten Anruf.
Alle Einträge werden gemeinsam in der Actions-Tabelle aufgelistet. Klicken Sie auf eine Zeile zum Bearbeiten oder auf das Mülltonnen-Symbol zum Löschen.
Verwandt
- Voice Agents Übersicht
- Prompt Engineering — Tools im Prompt referenzieren
- Knowledge Base — Informationsquellen
- Integrationen — Externe Systeme, mit denen Ihre Tools sprechen können