- Deinen Agenten mit beliebigen externen APIs zu verbinden
- Authentifizierung zu konfigurieren (Bearer, Basic, API Key)
- Parameter zu definieren, die der Agent vom Anrufer einsammelt
- Tool-Ausführung zu testen und zu debuggen
Wie benutzerdefinierte Aktionen funktionieren
Benutzerdefinierte Aktionen lassen deine KI-Agenten während des Gesprächs mit externen Systemen integrieren. Deine Agenten können Kundendaten abrufen, CRM-Datensätze aktualisieren, Lagerbestand prüfen, Tickets erstellen und Business-Logik ausführen - alles in Echtzeit, während sie mit Kunden sprechen. So funktioniert es:- API-Endpunkt konfigurieren - HTTP-Methode, URL, Authentifizierung, Header und Request Body einrichten
- Variablen definieren - Festlegen, welche Informationen der Agent vor dem API-Aufruf einsammeln muss
- Agent nutzt es - Während des Gesprächs sammelt der Agent die Variablen ein und ruft deine API auf
- API antwortet - Dein System gibt Daten zurück, mit denen der Agent das Gespräch fortsetzt
Benutzerdefinierte Aktionen laufen synchron während des Gesprächs. Für Operationen, die keine sofortige Antwort brauchen, etwa Logging, Insights-Auswertung oder Post-Call-Verarbeitung, nutze stattdessen Webhooks.
Beispielablauf
Eine benutzerdefinierte Aktion erstellen
Basisinfos konfigurieren
- Name: Beschreibender Name, zum Beispiel “Lookup Order Status”
- Beschreibung: Wann dieses Tool verwendet werden soll (10-200 Zeichen). Das hilft der KI, den Aufruf zu entscheiden.
Endpoint konfigurieren
Wähle die HTTP-Methode und gib die Endpoint-URL ein. Siehe Endpoint Configuration unten.
Authentifizierung einrichten
Wähle eine Authentifizierungsmethode. Siehe Authentication Methods unten.
Header und Body hinzufügen
Konfiguriere benutzerdefinierte Header, Query-Parameter und den Request Body im Parameters-Tab.
Variablen definieren
Füge Variablen hinzu, die der Agent aus dem Gespräch einsammeln soll. Siehe Variables unten.
Endpoint-Konfiguration
HTTP-Methode
| Methode | Anwendungsfall |
|---|---|
| GET | Daten abrufen (Order-Status, Kundeninfos) |
| POST | Datensätze erstellen (Tickets, Leads, Bestellungen) |
| PUT | Ganze Datensätze ersetzen |
| PATCH | Bestimmte Felder aktualisieren |
| DELETE | Datensätze entfernen |
Endpoint-URL
Gib die volle API-URL ein. Die Plattform setzt automatischhttps:// davor, wenn du das Protokoll weglässt.
Die Endpoint-URL selbst ist statisch. Verwende Query-Parameter oder den JSON-Request-Body für
{{variable_name}}-Substitutionen.Authentifizierungsmethoden
Keine
Keine
Keine Authentifizierung erforderlich. Für öffentliche APIs oder interne Endpunkte in privaten Netzwerken.
Bearer Token
Bearer Token
Am häufigsten für moderne APIs. Sendet den Header
Authorization: Bearer {your_token}.Use for: OAuth-2.0-Access-Tokens, JWT-Authentifizierung, moderne REST APIs.Basic Auth
Basic Auth
Username/Passwort-Authentifizierung. Sendet den Header
Authorization: Basic {base64(username:password)}.Use for: Legacy-APIs, einfache Authentifizierungsschemata.Header
Header
Benutzerdefinierte Header-basierte Authentifizierung, z. B.
X-API-Key: {your_api_key}.Use for: API-Key-Authentifizierung, benutzerdefinierte Schemata.Body
Body
Credentials im Request Body gesendet, z. B.
{"api_key": "{your_key}"}.Use for: Nicht-standardisierte Authentifizierung, Login-Endpunkte.Parameter-Konfiguration
ProfiHeaders
Füge benutzerdefinierte HTTP-Header als Key-Value-Paare hinzu. Beispiel:Content-Type: application/json
Query Parameters (GET requests)
Füge URL-Query-Parameter als Key-Value-Paare hinzu. Template-Variablen werden in Query-Parameter-Werten unterstützt. Beispiel:Request Body (POST/PUT/PATCH)
Schreibe deinen JSON-Request-Body im Editor. Nutze{{variable_name}}-Syntax, um Werte aus dem Gespräch einzufügen.
Variablen - Parameter-Mapping aus dem Gesprächskontext
Profi Variablen definieren, welche Informationen dein Agent vor dem API-Aufruf aus dem Gespräch einsammeln muss. Jede Variable sagt der KI, welche Information sie vor der Anfrage vom Anrufer sammeln soll.Variablenfelder
| Feld | Beschreibung |
|---|---|
| Name | Variablenname, zum Beispiel order_number, customer_email |
| Typ | Datentyp: string, integer, float, boolean, date, email, phone |
| Beschreibung | Wofür diese Variable ist (hilft der KI zu verstehen, wann sie die Info einsammeln soll) |
| Beispiel | Beispielwert (zeigt der KI das erwartete Format) |
| Erforderlich | Wenn true, muss die KI diese Info vor dem API-Aufruf einsammeln |
| Standardwert | Wird genutzt, wenn die Variable nicht erforderlich ist und der Kunde sie nicht liefert |
Beispiel-Variable
Laufzeitvariablen
Benutzerdefinierte Aktions-Templates nutzen flache{{variable_name}}-Platzhalter in Headern, Query-Parametern und im Request Body. Diese Laufzeitwerte sind verfügbar, wenn sie existieren:
{{account_id}} oder {{cal_email}}.
Tools testen
Endpoint unabhängig testen
Nutze Postman oder cURL, um zu prüfen, ob der Endpoint erreichbar ist, die Authentifizierung funktioniert und das Request-Format korrekt ist.
Mit statischen Werten starten
Konfiguriere die Action zuerst mit fest codierten Werten ohne Variablen, um die Grundfunktion zu prüfen.
Variablen hinzufügen
Ersetze die fest codierten Werte durch flache Template-Variablen wie
{{order_id}}.Im Agenten testen
Starte Agent testen und führe ein browserbasiertes Gespräch, einen Telefonanruf oder eine Chat-Session aus. Löse die Action im Gespräch aus und verifiziere:
- Der Agent sammelt Variablen korrekt ein
- Die API wird mit den richtigen Daten aufgerufen
- Der Agent nutzt die Antwort passend
Fehlerbehandlung
Konfiguriere deinen Prompt so, dass API-Fehler sauber behandelt werden:Fehlerbehebung
401 Unauthorized
401 Unauthorized
404 Not Found
404 Not Found
Ursache: Falsche URL oder Ressource existiert nicht.Lösung: Prüfe die statische Endpoint-URL, kontrolliere, ob Query-Parameter oder Body-Variablen korrekt eingesetzt werden, und teste zuerst mit statischen Werten.
Agent sammelt Variablen nicht ein
Agent sammelt Variablen nicht ein
Ursache: Variablen nicht konfiguriert oder Beschreibungen unklar.Lösung: Prüfe, ob Variablen im Variablen-Tab definiert sind, füge klare Beschreibungen und Beispiele hinzu, setze required=true für essenzielle Variablen und referenziere das Tool im Prompt mit genauem Namen.
Variablen werden im Request nicht ersetzt
Variablen werden im Request nicht ersetzt
Ursache: Falsche Syntax oder Variable existiert nicht.Lösung: Verwende exakt
{{variable_name}}, prüfe, ob die Variable definiert ist, und vermeide dotted Platzhalter wie {{contact.email}} in Custom-Action-Templates.Timeout-Fehler
Timeout-Fehler
Ursache: API antwortet zu langsam.Lösung: Optimiere die Antwortzeit der API, verwende für langsame Operationen Webhooks und cache häufig genutzte Daten.
Sicherheitsempfehlungen
- Nur HTTPS verwenden für alle API-Endpunkte
- Credentials absichern - niemals in URLs hardcoden, Schlüssel regelmäßig rotieren
- Berechtigungen begrenzen - für Lookup-Aktionen nur Read-only-Schlüssel verwenden
- Eingaben validieren - deine API sollte auf Injections prüfen und Datentypen validieren
- Identität prüfen - Kunden authentifizieren, bevor sensible Daten angezeigt werden
Praxisbeispiele
CRM Customer Lookup
CRM Customer Lookup
- Method: GET
- URL:
https://api.salesforce.com/customers - Auth: Bearer token
- Variable:
customer_id(string, required) - Query parameter:
customer_id={{customer_id}}
Support-Ticket erstellen
Support-Ticket erstellen
- Method: POST
- URL:
https://company.zendesk.com/api/v2/tickets - Auth: Basic (email/token)
- Variables:
issue_description(string),priority_level(string) - Body:
Produktbestand prüfen
Produktbestand prüfen
- Method: GET
- URL:
https://inventory.company.com/products/availability - Auth: Header (
X-API-Key) - Variable:
sku(string, required, example: “PROD-12345”) - Query parameter:
sku={{sku}}
Nächste Schritte
Tools Overview
Mehr über alle Tool-Typen erfahren
Custom Action Troubleshooting
Auth-, Payload-, Timeout- und Response-Probleme diagnostizieren
Booking Tools
Cal.com-Terminplanung einrichten
Gesprächsdatenfluss
Verstehen, woher Variablen kommen und was nach der Tool-Ausführung passiert
Template-Syntax
Template-Variablen meistern
MCP-Server
MCP-Server für fortgeschrittene Integrationen verbinden