Canal personnalisé
Canal personnalisé
Connectez un canal de texte externe à un agent ElevenLabs avec des webhooks
Présentation
Custom Channel connecte un système de messagerie externe à un agent ElevenLabs. Envoyez les messages des utilisateurs à un webhook ElevenLabs, puis recevez les réponses de l’agent sur votre propre endpoint HTTPS.
Fonctionnalités
Configuration
Ouvrir Custom Channel
Ouvrez votre agent, sélectionnez Channels, choisissez Custom Channel, puis cliquez sur Add trigger.
Configurer le déclencheur
Sélectionnez une connexion existante ou créez-en une, puis saisissez l’URL du webhook de réponse.
Envoyer un message
Envoyez une requête POST à l’URL du webhook générée :
ElevenLabs renvoie 202 Accepted avant de traiter le tour :
Pour poursuivre la conversation, envoyez une autre requête avec ce conversation_id et un nouveau user_message_id.
Recevoir les réponses
ElevenLabs envoie une requête POST à l’URL du webhook de réponse après chaque tour :
Si le traitement échoue, status est défini sur failed, data sur [] et error contient une description.
data répertorie les événements dans l’ordre des tours. Chaque élément comporte un type et un event :
agent_responsecontient une réponse de l’agent.response_ididentifie cette réponse de manière unique, tandis queevent_idl’associe à un tour. Concaténez les valeursagent_responsesi votre canal affiche une bulle de texte par tour.agent_tool_responsesignale le résultat d’un outil et partage l’event_iddu tour. Sonstatusestsuccess,error,blockedouskipped. Une réponse avectool_type: "system",tool_name: "end_call"etstatus: "success"signifie que l’agent a mis fin à la conversation.
Plusieurs messages entrants peuvent être regroupés en un seul tour. user_message_ids répertorie les ID des messages utilisateur auxquels cette réponse répond.
Vérifier les signatures des réponses
Chaque réponse comprend un en-tête ElevenLabs-Signature :
Le condensat est une signature HMAC-SHA256 sur {timestamp}.{raw_request_body} utilisant le secret de signature sortant. Vérifiez le corps brut avant d’analyser le JSON et rejetez les horodatages obsolètes.
Comportement de livraison
ElevenLabs effectue trois tentatives de livraison en cours de traitement, environ à 0, 0,5 et 2 secondes. Une réponse 2xx confirme que la livraison a réussi.
La taille des corps de requête est limitée à 256 KiB.