Übersicht
Benutzerdefinierte API-Aktionen ermöglichen es deinen KI-Agenten, während Gesprächen mit externen Systemen zu integrieren. deine Agenten können Kundendaten abrufen, CRM-Datensätze aktualisieren, Lagerbestände prüfen, Tickets erstellen und Geschäftslogik ausführen - alles in Echtzeit während des Gesprächs mit Kunden. Wie es funktioniert:- API-Endpunkt konfigurieren - HTTP-Methode, URL, Authentifizierung, Header und Request-Body einrichten
- Variablen definieren - Angeben, welche Informationen der Agent vor dem API-Aufruf sammeln muss
- Agent verwendet es - Während des Gesprächs sammelt der Agent die Variablen und ruft deine API auf
- API antwortet - dein System gibt Daten zurück, die der Agent verwendet, um das Gespräch fortzusetzen
Benutzerdefinierte Aktionen werden synchron während Gesprächen ausgeführt. Für Operationen, die keine sofortigen Antworten benötigen (Protokollierung, Analytik, Nachbearbeitung), verwende stattdessen Webhooks.
Beispielablauf
Sicheres Beispiel mit Verifizierung
Für sensible Datenabfragen überprüfe zuerst die Kundenidentität:- Erste Aktion: “Kunde verifizieren” - authentifiziert mit Kunden-ID + PIN/Passwort
- Zweite Aktion: “Bestellung nachschlagen” - wird nur ausgeführt, wenn Verifizierung erfolgreich ist
Benutzerdefinierte Aktion erstellen
Zu Aktionen navigieren
Gehe zu deinem Agenten → Fähigkeiten → Aktionen → Aktion hinzufügen → Benutzerdefinierte API
Grundinformationen konfigurieren
- Name: Beschreibender Name (z.B. “Bestellstatus nachschlagen”)
- Beschreibung: Wann zu verwenden (10-200 Zeichen)
Variablen hinzufügen
Definiere, welche Informationen der Agent sammeln muss (siehe Variablen-Abschnitt)
Konfiguration
Endpunkt-Tab
HTTP-Methode (Erforderlich)- GET - Daten abrufen
- POST - Datensätze erstellen
- PUT - Gesamte Datensätze ersetzen
- PATCH - Spezifische Felder aktualisieren
- DELETE - Datensätze entfernen
- Vollständige API-URL:
https://api.company.com/customers - Unterstützt Template-Variablen:
https://api.company.com/orders/{{order_id}} - Fügt automatisch
https://hinzu, wenn kein Protokoll angegeben
Authentifizierungs-Tab
Authentifizierungstyp wählen:Keine
Keine
Keine Authentifizierung erforderlichVerwendung für:
- Öffentliche APIs
- Interne Endpunkte in privatem Netzwerk
Bearer Token
Bearer Token
Am häufigsten für moderne APIsKonfiguration:Verwendung für:
- Token: dein API-Token/JWT
- OAuth 2.0 Access Tokens
- JWT-Authentifizierung
- Moderne REST-APIs
Basic Auth
Basic Auth
Benutzername/Passwort-AuthentifizierungKonfiguration:Verwendung für:
- Benutzername: API-Benutzername
- Passwort: API-Passwort (beim Bearbeiten maskiert)
- Legacy-APIs
- Einfache Authentifizierung
Header
Header
Benutzerdefinierte Header-basierte AuthentifizierungKonfiguration:Verwendung für:
- Header-Name: z.B.
X-API-Key - Header-Wert: dein API-Schlüssel (beim Bearbeiten maskiert)
- API-Key-Authentifizierung
- Benutzerdefinierte Authentifizierungsschemata
Body
Body
Anmeldeinformationen im Request-BodyKonfiguration:Verwendung für:
- Parametername: z.B.
api_key - Parameterwert: deine Anmeldeinformation (beim Bearbeiten maskiert)
- Nicht-standardisierte Authentifizierungsschemata
- Login-Endpunkte
Parameter-Tab
Headers- Benutzerdefinierte HTTP-Header hinzufügen (Schlüssel-Wert-Paare)
- Beispiel:
Content-Type: application/json
- URL-Query-Parameter hinzufügen (Schlüssel-Wert-Paare)
- Beispiel:
include=orders&limit=100
- JSON-Textbereich mit Monaco-Stil-Schrift
- Unterstützt Template-Variablen:
{{variable_name}} - Validiert JSON-Struktur während Variable-Platzhalter erlaubt sind
Variablen-Tab
Dies ist der wichtigste Teil. Variablen definieren, welche Informationen dein Agent vor dem API-Aufruf sammeln muss. Jede Variable erstellt einen Funktionsparameter, den das LLM sieht und während des Gesprächs sammelt. Variablenfelder:- Name: Variablenname (z.B.
order_number,customer_email) - Typ: string, integer, float, boolean, date, email, phone
- Beschreibung: Wofür diese Variable ist (hilft dem LLM zu verstehen)
- Beispiel: Beispielwert (leitet das LLM)
- Erforderlich: Umschalten - wenn true, muss LLM vor API-Aufruf sammeln
- Standardwert: Wird verwendet, wenn nicht erforderlich und nicht bereitgestellt
Verwendung in Anweisungen
Referenziere die Aktion mit Namen und erkläre, wann sie verwendet werden soll:Variablensammlung
Der Agent sammelt automatisch erforderliche Variablen vor dem API-Aufruf:Verwendung optionaler Variablen
Template-Variablen
Verwende{{variable_name}}-Syntax in URLs, Headern, Query-Parametern und Request-Body.
Aktionsvariablen
Variablen, die du im Variablen-Tab definiert haben:Kontext-Variablen
Automatisch aus Kontaktdatensatz und Anrufkontext verfügbar: Kontaktinformationen:Typkonvertierung
Variablen werden automatisch in ihre definierten Typen konvertiert:integer→ Zahl in JSONfloat→ Dezimalzahl in JSONboolean→ true/false in JSONstring→ String in Anführungszeichen in JSON
Testen
Endpunkt unabhängig testen
Verwende Postman oder cURL, um zu überprüfen:
- Endpunkt ist erreichbar
- Authentifizierung funktioniert
- Request-Format ist korrekt
- Antwort ist wie erwartet
Mit statischen Werten beginnen
Aktion zuerst mit fest kodierten Werten konfigurieren (keine Variablen)Grundfunktionalität überprüfen, bevor Komplexität hinzugefügt wird
Variablen hinzufügen
Fest kodierte Werte durch Variablen ersetzenMit Kontaktdatensatz testen, der erforderliche Felder hat
Im Agenten testen
- Web-Anruf starten
- Aktion durch Gespräch auslösen
- Überprüfen, dass Agent Variablen korrekt sammelt
- Prüfen, dass API mit korrekten Daten aufgerufen wird
- Bestätigen, dass Agent Antwort angemessen verwendet
Fehlerbehebung
401 Unauthorized
401 Unauthorized
404 Not Found
404 Not Found
Ursache: Falsche URL oder Ressource existiert nichtLösung:
- Endpunkt-URL überprüfen
- Template-Variablen prüfen, ob korrekt ausgefüllt
- Zuerst mit statischen Werten testen
Agent sammelt Variablen nicht
Agent sammelt Variablen nicht
Ursache: Variablen nicht konfiguriert oder unklare BeschreibungenLösung:
- Überprüfen, ob Variablen im Variablen-Tab definiert sind
- Klare Beschreibungen und Beispiele hinzufügen
- required=true für wesentliche Variablen setzen
- Aktion mit exaktem Namen in Anweisungen referenzieren
Variablen werden nicht ersetzt
Variablen werden nicht ersetzt
Ursache: Falsche Syntax oder Variable existiert nichtLösung:
- Exakte Syntax verwenden:
{{variable_name}} - Überprüfen, ob Variable im Variablen-Tab definiert ist
- Kontaktdatensatz prüfen, ob Feld ausgefüllt ist
- Standardwert im Variablen-Tab für optionale Variablen setzen
Timeout-Fehler
Timeout-Fehler
Ursache: API antwortet langsam (>2 Minuten)Lösung:
- API-Antwortzeit optimieren
- Erwäge Webhooks für langsame Operationen
- Häufig aufgerufene Daten zwischenspeichern
Agent kann Antwortdaten nicht verwenden
Agent kann Antwortdaten nicht verwenden
Ursache: API gibt Nicht-JSON oder fehlerhaftes JSON zurückLösung:
- Überprüfe, ob API gültiges JSON zurückgibt
- Content-Type-Header in Antwort prüfen
- Antwort mit JSON-Validator testen
Best Practices für Sicherheit
Nur HTTPS verwenden
Nur HTTPS verwenden
Verwende immer HTTPS-Endpunkte, um Daten während der Übertragung zu verschlüsseln✅
https://api.company.com/endpoint
❌ http://api.company.com/endpointAnmeldeinformationen sichern
Anmeldeinformationen sichern
- Niemals Anmeldeinformationen in URLs fest kodieren
- Authentifizierungskonfiguration verwenden
- API-Schlüssel regelmäßig rotieren
- Separate Schlüssel für Test vs. Produktion verwenden
- Kompromittierte Anmeldeinformationen sofort widerrufen
Berechtigungen beschränken
Berechtigungen beschränken
- Minimal notwendige API-Berechtigungen gewähren
- Nur-Lese-Schlüssel für Nachschlagen-Aktionen verwenden
- Schreibberechtigungen auf spezifische Endpunkte beschränken
- Auf ungewöhnliche Aktivität überwachen
Eingaben validieren
Eingaben validieren
deine API sollte alle Eingaben validieren:
- Auf Injection-Versuche prüfen
- Datentypen und Formate validieren
- String-Längen begrenzen
- Parametrisierte Queries verwenden
Praxisbeispiele
CRM-Kundennachschlagen
CRM-Kundennachschlagen
Szenario: Kunde in Salesforce nachschlagenKonfiguration:
- Methode: GET
- URL:
https://api.salesforce.com/customers/{{customer_id}} - Auth: Bearer Token
- Variable:
customer_id(string, erforderlich)
Support-Ticket erstellen
Support-Ticket erstellen
Szenario: Ticket in Zendesk erstellenKonfiguration:Agentenanweisungen:
- Methode: POST
- URL:
https://company.zendesk.com/api/v2/tickets - Auth: Basic (E-Mail/Token)
- Variablen:
issue_description(string),priority_level(string) - Body:
Produktlagerbestand prüfen
Produktlagerbestand prüfen
Szenario: Produktverfügbarkeit prüfenKonfiguration:
- Methode: GET
- URL:
https://inventory.company.com/products/{{sku}}/availability - Auth: Header (
X-API-Key) - Variable:
sku(string, erforderlich, Beispiel: “PROD-12345”)