Aangepast kanaal
Koppel een extern tekstkanaal via webhooks aan een ElevenLabs-agent
Overzicht
Custom Channel verbindt een extern berichtensysteem met een ElevenLabs-agent. Stuur gebruikersberichten naar een ElevenLabs-webhook en ontvang vervolgens antwoorden van de agent op je eigen HTTPS-endpoint.
Mogelijkheden
Instellen
Configureer de trigger
Selecteer een bestaande verbinding of maak er een en voer vervolgens de Reply Webhook URL in.
Een bericht verzenden
Stuur een POST-request naar de gegenereerde webhook-URL:
ElevenLabs retourneert 202 Accepted voordat de beurt wordt verwerkt:
Stuur nog een request met die conversation_id en een nieuwe user_message_id om het gesprek voort te zetten.
Antwoorden ontvangen
ElevenLabs stuurt na elke beurt een POST-request naar de reply webhook-URL:
Als de verwerking mislukt, is status gelijk aan failed, is data gelijk aan [] en bevat error een beschrijving.
data bevat gebeurtenissen in de volgorde van de beurt. Elk item heeft een type en een event:
agent_responsebevat één uiting van de agent.response_ididentificeert de uiting uniek, terwijlevent_iddeze aan een beurt koppelt. Voeg de waarden vanagent_responsesamen als je kanaal één tekstballon per beurt weergeeft.agent_tool_responserapporteert een toolresultaat en deelt deevent_idvan de beurt. Destatusissuccess,error,blockedofskipped. Een antwoord mettool_type: "system",tool_name: "end_call"enstatus: "success"betekent dat de agent het gesprek heeft beëindigd.
Meerdere inkomende berichten kunnen worden samengevoegd tot één beurt. user_message_ids bevat de ID’s van de gebruikersberichten waarop dit antwoord reageert.
Handtekeningen van antwoorden verifiëren
Elk antwoord bevat een ElevenLabs-Signature-header:
De digest is een HMAC-SHA256-handtekening over {timestamp}.{raw_request_body} met het outbound signing secret. Verifieer de onbewerkte body voordat je JSON parseert en wijs verouderde timestamps af.
Leveringsgedrag
ElevenLabs doet drie leveringspogingen binnen hetzelfde proces, na ongeveer 0, 0,5 en 2 seconden. Een 2xx-response markeert de levering als geslaagd.
Requestbodies zijn beperkt tot 256 KiB.