カスタムチャネル
カスタムチャネル
Webhookで外部テキストチャネルをElevenLabsエージェントに接続します
概要
Custom Channelは、外部メッセージングシステムをElevenLabsエージェントに接続します。ユーザーメッセージをElevenLabsのWebhookに送信し、エージェントの返信を独自のHTTPSエンドポイントで受信できます。
機能
セットアップ
メッセージを送信する
生成されたWebhook URLにPOSTリクエストを送信します。
ElevenLabsは、ターンを処理する前に202 Acceptedを返します。
会話を継続するには、そのconversation_idと新しいuser_message_idを指定して別のリクエストを送信します。
返信を受信する
ElevenLabsは各ターンの後、返信Webhook URLにPOSTリクエストを送信します。
処理に失敗した場合、statusはfailed、dataは[]となり、errorに説明が含まれます。
dataにはターン順にイベントが並びます。各項目にはtypeとeventがあります。
agent_responseには1つのエージェント発話が含まれます。response_idは発話を一意に識別し、event_idは発話をターンに関連付けます。チャンネルでターンごとに1つのテキストバブルを表示する場合は、agent_responseの値を連結してください。agent_tool_responseはツールの結果を報告し、ターンのevent_idを共有します。statusはsuccess、error、blocked、またはskippedです。tool_type: "system"、tool_name: "end_call"、status: "success"のレスポンスは、エージェントが会話を終了したことを示します。
複数のインバウンドメッセージが1つのターンにまとめられる場合があります。user_message_idsには、この返信が応答するユーザーメッセージIDの一覧が含まれます。
返信署名を検証する
各返信にはElevenLabs-Signatureヘッダーが含まれます。
ダイジェストは、アウトバウンド署名シークレットを使用して{timestamp}.{raw_request_body}に対して生成されるHMAC-SHA256署名です。JSONを解析する前に生の本文を検証し、古いタイムスタンプは拒否してください。
配信動作
ElevenLabsは、約0秒、0.5秒、2秒後にプロセス内で3回配信を試みます。2xxレスポンスを受け取ると、配信成功と見なされます。
リクエスト本文は256KiBに制限されています。