Twilioのパーソナライズ

Webhookを使用して、着信Twilio通話のパーソナライズを設定します。

概要

Twilioの着信通話を受ける際、webhookを通じて会話開始データを動的に取得できます。これにより、発信者情報やその他のコンテキストデータに基づいてエージェントの動作をカスタマイズできます。

webhookがいつ起動するか、およびリクエストの形式については、会話開始webhookを参照してください。

仕組み

  1. Twilio通話を受信すると、ElevenAgentsは指定されたエンドポイントにwebhook呼び出しを行い、通話情報(caller_id、agent_id、called_number、call_sid、conversation_id)を引数として渡します
  2. webhookは、動的変数とオーバーライドを含む会話開始クライアントデータを返します(例は以下を参照)
  3. このデータを使用して会話を開始します

システムはTwilioの接続・発信中の時間を利用して、並行してwebhookデータを取得します。これにより、次のような シームレスな体験を実現します。

  • ユーザーには通常の電話接続音が聞こえます
  • 同時に、ElevenAgentsが必要なwebhookデータを取得します
  • オーディオ接続が確立されるまでに、取得したデータで会話を開始します

設定

1

webhookの詳細を設定

ElevenAgentsの設定ページで、webhook URLを設定し、認証に必要な シークレットを追加します。

webhookを有効化

webhookをクリックすると、ヘッダーで送信するシークレットを変更できます。

ヘッダーにシークレットを追加

2

会話開始データの取得を有効化

エージェントのページの「Security」タブで、Twilioの着信通話に対する会話開始データの取得を有効にし、オーバーライド可能なフィールドを定義します。

webhookを有効化

3

Twilioデータを受信するwebhookエンドポイントを実装

webhookは、次のパラメータを含むPOSTリクエストを受信します。

パラメータ型説明
caller_idstring発信者の電話番号
agent_idstring通話を受けるエージェントのID
called_numberstring着信先のTwilio番号
call_sidstringTwilio通話の一意の識別子
conversation_idstringElevenLabsの会話識別子
4

会話開始クライアントデータを返す

webhookは、エージェントの開始データを含むJSONレスポンスを返す必要があります。

dynamic_variablesフィールドには、エージェントに定義されているすべての動的変数を含める必要があります。一方、オーバーライドは完全に任意です。動的変数と オーバーライドの詳細については、動的変数および オーバーライドのドキュメントを参照してください。

レスポンスの例:

{
"type": "conversation_initiation_client_data",
"conversation_config_override": {
"agent": {
"prompt": {
"prompt": "The customer's bank account balance is $100. They are based in San Francisco.",
"llm": "gpt-5.6-luna"
},
"first_message": "Hi, how can I help you today?",
"language": "en"
},
"tts": {
"voice_id": "new-voice-id"
},
"conversation": {
"text_only": false
}
},
"dynamic_variables": {
"customer_name": "John Doe",
"account_status": "premium",
"last_interaction": "2026-01-15"
},
"branch_id": "agtbrch_xxxx",
"environment": "production"
}

ElevenAgentsは動的変数を使用して会話開始データを設定し、スムーズに会話を開始します。

通話処理の遅延を避けるため、webhookが適切なタイムアウト時間内に応答するようにしてください。

セキュリティ

  • HTTPSエンドポイントのみを使用してください
  • リクエストヘッダーを使用して認証を実装してください
  • 機密値はElevenLabsシークレットマネージャーでシークレットとして保存してください
  • 受信したリクエストパラメータを検証してください