3行でいうと
- ツールの種類は、公式のdocsでは、Client Tools、Webhook tools、Code Tools、MCP Tools、System Toolsです。Webhookツールは、エージェントの設定の「Agent」の節で、「Add Tool」から種類に「Webhook」を選んで作ります。
- 外のMCPサーバー(Zapier MCPなど)は、「Add Custom MCP Server」から、名前、説明、サーバーURL、(任意で)秘密のトークンとヘッダを入れて足します。承認のモードは「Always Ask」「Fine-Grained Tool Approval」「No Approval」で、公式は「Always Ask」を recommended と書いています。MCPは、初期ではワークスペースで無効で、Zero Retention ModeとHIPAAでは使えません。
- 他社のLLMは、公式のdocsが、Google、OpenAI、Anthropicのモデルを挙げています。自前のLLMは、OpenAIのチャット補完(
/v1/chat/completions)か、Responses API(/v1/responses)と同じ形のサーバーを用意し、Server-Sent Eventsで返す必要があります。リアルタイム用のモデルとは組み合わせられません。 - 通話のあとの結果は、「post-call webhook」で自分のサーバーに送れます。ヘッダ
ElevenLabs-Signatureで署名を確かめられます。10回以上続けて失敗し、直近の成功が7日より前だと、自動で無効になります。 - ウェブサイトに置くウィジェットは、認証を無効にした公開のエージェントが必要です。許可するドメインは「Security」のタブの「Allowlist」で決めます。
この記事は、公式の資料を2026年10月25日に読んでまとめたものです。この記事は、実際に使って確かめた記録ではありません。
手順は「公式の手順を順に並べたもの」です。コマンドと設定のうち、公式のページに書かれていたものは「公式の例の写し」と書き、この記事で組んだ例は「この記事の例」と書きます。システムへ権限やシークレットを登録する操作は、原文を公式ページで見て写してください。公式に書かれていない画面の経路、ボタンの表記、初期値は書かず、「公式で確認できていない」と書きます。画面の表記は変わるので、手元の画面と照らして読んでください。
先に結論
- 外とつなぐ道は5つ。 Webhookツール(自分のAPIを呼ぶ)、MCPサーバー(Zapierなど)、他社LLM・自前LLM、通話後のWebhook、ウィジェット(Webページに置く)です。
- データの行き先は、道ごとに違う。 会話の内容が、外のAPI、MCPサーバー、LLMの提供元、自分のサーバーへ出ていきます。公式のMCPのセキュリティの資料は、会話のデータ(ユーザーの入力を含みうる)が、外のサーバーに送られる、と書いています。
- 権限は、承認のモードと、ツールごとの設定で絞る。 MCPでは3つのモード、WebhookツールではAuth(認証)の接続とシークレットが、公式の記載です。
- 秘密はシークレットに入れる。 Webhookのトークンは、ヘッダの種類を「Secret」にして「Create New Secret」。MCPのURLに秘密が含まれるなら、ワークスペースのシークレットに。自前のLLMのキーは、「Create new secret」で。
- 使えない組み合わせがある。 MCPは、Zero Retention ModeとHIPAAでは使えません。自前のLLMはリアルタイム用モデルと組み合わせられず、システムツールを使うには関数呼び出しに対応している必要があります。
前提:用語をそろえる
- ツール:エージェントが、会話の途中で呼ぶ機能。電話を切る、他のエージェントに回す、外のAPIを呼ぶ、など。
- システムツール:公式が最初から用意しているツール。自前のLLMには、
end_call、language_detection、transfer_to_agent、transfer_to_number、skip_turn、voicemail_detectionが、OpenAI形式のtoolsとして渡される、と書かれています。 - Webhook(ウェブフック):あるサービスが、出来事があったときに、決めたURLへHTTPで知らせる仕組み。ここでは2種類あります。エージェントが呼ぶ「Webhookツール」と、通話が終わったあとに自分のサーバーへ届く「post-call webhook」です。
- シークレット(secret):ElevenLabsが、APIキーなどを保管する機能。画面に直接書かずに参照できます。
- HMAC署名:送り主が本物か、内容が変わっていないかを確かめる署名。post-call webhookでは、共有の秘密(シークレット)で作られます。
- SSE(Server-Sent Events):サーバーが、少しずつ文字を送り続けるHTTPの方式。LLMの返答のストリームに使われます。
- ZRM(Zero Retention Mode):データを保持しない特別なモード。04で扱っています。
- プロンプトインジェクション:読み込んだ文書に仕込まれた指示に、AIが従ってしまう問題。
たとえ話:窓口の係と、持たせる名刺
音声エージェントを窓口の係だと考えてみます。Webhookツールは、係に渡す「外線の電話番号表」で、番号と話す内容を決めて渡します。MCPサーバーは、係が使える「道具箱」です。道具の使用に上司の承認を必須にするか、読むだけの道具は自動にするか、決められます。LLMは、係の「頭脳」で、どの頭脳を使うかで、会話の内容が出ていく先が変わります。これは僕らのたとえで、公式の表現ではありません。
連携1:Webhookツール × 自分のAPI
作る手順(公式のdocs、Webhook tools)
- エージェントの設定を開き、「Agent」の節に進む。
- 「Add Tool」を選び、Tool Typeに「Webhook」を選ぶ。
- 「Name」「Description」「Method」「URL」を入れる。
- パス、クエリ、ボディのパラメータ、ヘッダ、認証、ダイナミック変数への代入を、必要に応じて足す。
別のページ(Client tools)は、「エージェントのダッシュボードで『Tools』を開き『Add Tool』を押す」と書いています。画面の呼び方が少し違うので、手元の画面で確かめてください。
項目(公式の表より)
| 項目 | 公式の説明 |
|---|---|
| Name | ツールの名前。LLMが、いつ呼ぶかを決める手がかりになる。略語は避ける |
| Description | ツールの目的。LLMが、いつ呼ぶかを知るための説明 |
| Method | HTTPのメソッド(例 GET) |
| URL | 呼び先。パスのパラメータは、波かっこで囲む(例 /api/resource/{id}) |
| Authentication | カスタムヘッダか、認証の接続 |
| Headers | 毎回のリクエストに付けるヘッダ |
| Path/Query/Body parameters | URLのパス、クエリ、ボディに入れる値。ダッシュボードでは値の種類が「LLM Prompt」で、会話から、アシスタントが作る |
| Content Type | JSON(初期、application/json)か、URLエンコード(application/x-www-form-urlencoded)。POST、PUT、PATCHでボディがあるときだけ |
| Dynamic variable assignment | ツールの応答の値を、あとの会話で使う変数に保存する |
公式は、複雑なツールでは、引数ごとに説明を書き、日付はYYYY-mm-ddのように形式をそろえるとよい、と書いています。
認証(公式のdocs)
認証の方式は、「Workspace Auth Connections」(「Agent」の節の「Add Auth」)で作ってから、ツールに結びつけます。
- OAuth2 Client Credentials:クライアントID、クライアントシークレット、トークンのURL、(任意で)スコープ。
- OAuth2 JWT:JWTの署名のシークレット、トークンのURL、アルゴリズム(初期HS256)、クレーム、有効期限(初期3600秒)など。
- Basic Authentication:ユーザー名とパスワード。
- Bearer Tokens:ヘッダを足し、種類を「Secret」にして、「Create New Secret」を押す。
- Custom Headers:好きなヘッダ名と値。
APIキーが要る場合は、ヘッダで渡し、シークレットに保存する、と書かれています。
公式の例(天気のツール)
公式は、tool_configs/get_weather.json として、次の形の設定を示しています(type は webhook、name、description、api_schema に url、method、path_params_schema)。要点だけ書きます。全文は公式ページで確認してください。
elevenlabs tools add "get_weather" --type "webhook" --config-path ./tool_configs/get_weather.json
elevenlabs agents push --agent "<agent-name>"
- 公式の手順は、1行目でツールを追加し、そのあと
agent_configs/<agent-name>.jsonのconversation_config.agent.prompt.tool_idsに、追加したツールのIDを足し、2行目でエージェントに反映する、という順です。2つのコマンドの間に、このJSONの編集が入ります(コマンドは公式の例の写し)。 - SDKでは、作ったツールのIDを
conversation_config.agent.prompt.tool_idsに入れる、と書かれています。 - 公式のページでは、ダッシュボードのURLの書き方(クエリに波かっこ)と、JSONの例の書き方(URLにプレースホルダなし)が違って見え、どう書き分けるかの説明は、このページにありませんでした。
渡るデータ・外し方・確認点
- 渡るデータ:エージェントが会話から作ったパラメータが、設定したURLへ送られます。ヘッダに入れたトークンも、そのURLへ届きます。完全なリクエストの形、既定のヘッダ、応答の大きさの上限は、読んだページには書かれていませんでした。
- 外し方:ツールを、エージェントから外す、または削除する画面の記載は、読んだページにはありません(「記載が見つからない」)。
- 確認点:タイムアウト、レート制限、リトライ、2xx以外の応答の扱いは、公式のWebhook toolsのページに書かれていません。呼び先のAPIが、どの権限のトークンで動くかは、自分のAPIの側で決まります。
連携2:Clientツール × 自分のアプリ
公式のdocs(Client tools)の記載です。
- Clientツールは、ブラウザやアプリの側で動く関数で、画面の更新などに使います。サーバーのAPIを呼ぶなら、Webhookツールを使う、と書かれています。
- ダッシュボードで「Tools」→「Add Tool」→Tool Typeを「Client」にして、名前、説明、パラメータを決めます(公式の例は
logMessage)。結果を会話に返したいときは、「Wait for response」にチェックを入れます。 - コードの側にも登録が要ります。公式の例(JavaScript)は、
Conversation.startSession({ ... clientTools: { logMessage: async ({message}) => { console.log(message); } } ... })の形です。ツール名とパラメータの名前は、大文字小文字を含めて一致させる、と書かれています。 - 公式は、ツールを呼ぶには高い知能のモデルを使うよう勧め、一部のLLMは、会話からパラメータを取り出すのが苦手、と書いています。
連携3:外のMCPサーバー × エージェント(Zapierを含む)
事前:ワークスペースで有効にする(公式のdocs、MCP)
- MCPは、初期では無効です。ワークスペースのメンバーが、有効にする必要があります。
- ダッシュボードでは、「MCP server integrations」で、初めてサーバーを足すときに、Model Context Protocol Server Termsに同意すると、ワークスペース全体で有効になります。
- APIでは、
can_use_mcp_serversをtrue(TypeScriptはcanUseMcpServers: true)にします。falseにすると無効になりますが、既存の連携は残ります。 - 管理者でなくても、メンバーか、
convai_writeの権限を持つAPIキーなら、この設定を変えられる、と書かれています。 - MCPサーバーは、それぞれが1つのリソースで、作った人が、個別のメンバーと共有できます。
足す手順(公式のdocs)
- 「MCP server integrations」のダッシュボードで、「Add Custom MCP Server」をクリックする。
- 次の項目を入れる。
- Name
- Description
- Server URL:URLに秘密のキーが含まれる場合は、ワークスペースのシークレットとして保存する。
- Secret Token(任意):認証のヘッダの値。
- HTTP Headers(任意):サーバーが必要とする追加のヘッダ。
- 「Add Integration」をクリックする。サーバーを保存して接続を試し、使えるツールの一覧が出る。
- サーバーを、エージェントに結びつける。公開のエージェントにも、非公開にも対応している。
APIでは、mcp_servers.create(TypeScriptは mcpServers.create)で、url、name、description、approval_policy、transport を持つ設定を渡し、そのサーバーのIDを、エージェントの設定の agent.prompt.mcp_server_ids に入れます。公式の例は approval_policy: "always_ask"、transport: "SSE" です。ストリーミング可能なHTTPのAPI上の値は、ページに書かれていませんでした。
対応する通信方式は、SSEと、HTTPのストリーミングです。
承認のモード(公式のdocsとセキュリティのページ)
| モード | 内容 |
|---|---|
| Always Ask | ツールを使う前に、毎回、許可を求める。公式が「recommended」と書く |
| Fine-Grained Tool Approval | ツールごとに、自動で承認、承認が必要、無効、の3つから選ぶ |
| No Approval | 聞かずに、どのツールも使える。公式は、十分に確かめた、信頼できるサーバーに限る、と書く |
公式は、読むだけで低リスクのツールは自動承認、データを変えたり、機微な操作をするものは承認が必要、不要やリスクのあるものは無効、という使い分けの例を書いています。新しい連携は「Always Ask」で始め、十分に試してからゆるめる、とも書かれています。
Zapier(公式のZapierのページ)
公式の「Connect Zapier to ElevenLabs Conversational AI Voice Agents」のページは、Zapierを、7,000以上のアプリへの、1つのMCPのエンドポイントとして説明しています。手順の見出しは次の4つです。
- 「Generate Zapier MCP endpoint URL」
- 「Configure permitted actions and permissions」
- 「Add MCP server URL to ElevenLabs dashboard」
- 「Test integration with sample workflows」
読んだページでは、各見出しの本文が、上の見出しとは別の内容(予約の確認や、get_available_slots、book_meeting というツールの使い方)に見える書き方で、Zapier側の画面の操作は読み取れませんでした。ZapierのMCPのエンドポイントを作る操作は、Zapier社のドキュメントを見る必要があります(読んでいません)。ElevenLabs側は、上の「Add Custom MCP Server」の手順に、Zapierが発行したURLを入れる形になる、と読めます(この記事の読み取りで、ページの明記ではありません)。
ページが挙げるセキュリティ面の記載は、トークンによる認証、HTTPSの暗号化、細かい権限の制御、許可する操作を決められること、影響の大きい操作の前の確認、自動の操作の監査の記録です。データの保存場所と保持期間は、ページには書かれていません。ページに載っている項目として、設定の時間は10〜15分、難しさは「Intermediate」、種類は「MCP」とあります。
渡るデータ・外し方
- 渡るデータ:エージェントがそのサーバーを使うとき、会話のデータ(ユーザーの入力を含みうる)が、外のサーバーに送られる、と公式のセキュリティのページに書かれています。公式は、個人情報などの機微な情報を送ることに注意し、エージェントとプロンプトが、各作業に必要な分だけ共有するようにする、と書いています。
- 外し方:設定の「Disabled」で、個別のツールを無効にできます。サーバーそのものの削除の画面は、読んだページには書かれていません(「記載が見つからない」)。
- 公式の注意:第三者のMCPサーバーのセキュリティ、法令への適合、動作は、使う側の責任で、ElevenLabsは、外のサーバーを審査も保証もしない、と書かれています。「信頼でき、確かめた提供元のサーバーだけを入れる」「運営者とそのセキュリティの状況を理解する」とも書かれています。
- MCPの資格情報:APIキーとシークレットは、ElevenLabsのシークレット機能に保存し、書き込まない。HTTPSでつなぐ。私設のネットワークのサーバーには、ファイアウォールとネットワークのACLをかけ、ElevenLabsの固定の送信元IPを許可する選択肢もある、と書かれています。
- プロンプトインジェクション:信頼できない外のサーバーは、エージェントを、プロンプトインジェクションにさらす、と書かれています。システムプロンプトに強いガードレールを書くよう勧めています。
使えない場合
- Zero Retention Modeか、HIPAAの順守が必要なワークスペースでは、MCPは使えません。
can_use_mcp_serversを有効にしても、この制限は変わらない、と書かれています。 - MCPサーバーは、ElevenLabs CLIでは管理できず、ダッシュボードかSDKで管理する、と書かれています。
連携4:他社LLM × エージェント
公式のdocs(LLM)の記載です。
- モデルの選択肢(公式の例):ElevenLabsが提供するもの(Nemotron 3.5 Super VL、DeepSeek Flash 4.1、GLM 5.2、Qwen系など)、GoogleのGemini、OpenAIのGPT、AnthropicのClaude、そして「Custom LLM」。モデルの名前は更新が早いので、画面の一覧で確かめてください。
- ほかに、リアルタイムのモデル(会話に特化した、低遅延のElevenLabsのモデル)を使う選択肢がある、と書かれています。
- 選ぶ画面:このページは、「エージェントの設定で選べる」と書くだけで、タブやドロップダウンの名前は書いていません(公式で確認できていない)。自前のLLMのページは、「エージェントの設定で、LLMのドロップダウンから『Custom LLM』を選ぶ」と書いています。
- データの流れ:ElevenLabsが提供するモデルは、ElevenLabsの管理する基盤で処理され、元のモデルの提供元は、入力も出力も受け取らない。米国か、Enterpriseの展開地域でホストされる。EUのデータレジデンシーでは使えないモデルがある、と書かれています。Google、OpenAI、Anthropic、自前のエンドポイントへの、データの扱いは、このページには書かれていませんでした。
- 料金:他社のコストは、提供元の公表料金のまま、上乗せなし。選ばれたGeminiとClaudeのモデルは、Vertex AIの地域別料金で、入力、出力、キャッシュのトークンが10%高い、と書かれています。
- 思考の設定:「Thinking budget」(数値のスライダー。0で無効、モデルが許す場合)、Reasoning effort、「Reasoning summary」(初期はオフ。遅延が増えることがある)。ライブの音声エージェントには、低い設定にするよう公式は書いています。
- バックアップのLLM:「Default」「Custom」「Disabled」。「Disabled」は、本番では強く勧められない、と書かれています(主のLLMが失敗すると会話が突然終わる)。
- システムプロンプトの最大は2MBです(指示、ナレッジベース、その他の文脈を含む)。
連携5:自前のLLM × エージェント
公式のdocs(Integrate your own model)の記載です。
条件
- Realtimeモデルとは組み合わせられません。
- システムツールを使うには、関数呼び出しに対応している必要があります。
- サーバーは、次のどちらかと同じ形のエンドポイントを持ち、
Content-Type: text/event-streamのServer-Sent Eventsで返します。 - Chat Completions API:
/v1/chat/completions - Responses API:
/v1/responses
方法1:自分のOpenAIのキーを使う(公式の手順)
- エージェントの設定で、LLMのドロップダウンから「Custom LLM」を選ぶ。
- 「server URL」と「Model ID」を入れる。
- 「API key」で「Create new secret」を選び、名前を
OPENAI_API_KEYにして、キーの値を入れ、「Add secret」を押す。 - LLMのモーダルを閉じて、「Publish」を押す。
方法2:自前のサーバー(公式の手順)
- 上のエンドポイントを実装するサーバーを作る。
- 公開する。公式の例は、
ngrok http --url=<Your url>.ngrok.app 8013です(公式の例の写し)。 - エージェントのLLMの設定で、サーバーURLに、その公開のエンドポイントを指す。
- 「Limit token usage」を設定する(公式の例は5000)。
- 公開して、試す。
ストリームの形(公式の記載)
- Chat Completions:各チャンクは
data: {json}\n\n、終わりはdata: [DONE]\n\n。 - Responses API:各チャンクは
event: {type}\ndata: {json}\n\n、終わりはdata: [DONE]\n\n。必須のイベントは、response.output_text.delta(文字のストリーム)とresponse.completed(完了)。 - 遅いLLMには、最初に「Let me think about that... 」のような、末尾に省略記号と空白で終わるチャンクを返す方法が書かれています(空白がないと、後続の音声がゆがむことがある)。
- 公式は、PythonのFastAPIとTypeScriptのExpressの、実行できる例を載せています。全文は公式ページで確認してください。
追加のパラメータ
Python SDKでは、ConversationInitiationData を通じて extra_body を渡せます。サーバーには、リクエストの elevenlabs_extra_body として届きます。上流のモデルに送る前に、この項目を取り除く、と書かれています。
渡るデータ・外し方・確認点
- 渡るデータ:会話のテキストと、システムツールの定義が、設定したURLへ送られます。そのサーバーが、さらに別のLLMへ転送するかどうかは、自分のサーバーの作りで決まります。
- 外し方:LLMの選択肢を、別のモデルに戻す、という記載のほか、画面の手順は、読んだページにはありません。シークレット(
OPENAI_API_KEY)の削除の画面も、記載が見つかりません。 - 確認点:Realtimeモデルを選んでいないか、サーバーが関数呼び出しに対応しているか、
text/event-streamで返しているか、data: [DONE]で閉じているか。公式のページは、対応するプロバイダーや中継サービスの名前、カスタムのHTTPヘッダ、データの流れの説明を載せていません。
連携6:通話後のWebhook × 自分のサーバー
公式のdocs(Post-call webhooks)の記載です。
設定
- ElevenAgentsの設定のページ(
https://elevenlabs.io/app/agents/settings)で、post-call webhookを有効にする。ワークスペースのすべてのエージェントに適用される。 - webhookを作ると、共有のシークレットが生成される。保存する。
- 「Send audio data」のトグルで、音声のwebhookを送るかを決める。ワークスペース単位か、エージェント単位で設定できる。
- 自分のエンドポイントは、
200を返す。そうでなければ失敗と数えられる。
イベントの種類
| type | 内容 |
|---|---|
post_call_transcription |
会話の全体:書き起こし、分析、メタデータ |
post_call_audio |
agent_id、conversation_id、full_audio(base64のMP3)のみ |
call_initiation_failure |
agent_id、conversation_id、failure_reason、metadata |
書き起こしの data について、公式の例には agent_id、conversation_id、status、user_id、transcript、metadata、analysis、conversation_initiation_client_data が出てきます。ページの項目表には agent_name、version_id も挙がっています。branch_id と environment は、例では conversation_initiation_client_data の中に null として出てきます。失敗の理由は busy、no-answer、unknown です。
署名の確認
- ヘッダ:
ElevenLabs-Signature(コードではelevenlabs-signature)。 - アルゴリズムは、このページには書かれていません。SDKが、署名、タイムスタンプ、JSONの解析を確かめます。
- Pythonの呼び出しは、
elevenlabs.webhooks.construct_event(rawBody=..., sig_header=..., secret=...)の形です。JavaScriptはawait elevenlabs.webhooks.constructEvent(payload, signature, WEBHOOK_SECRET)です。 - 生のリクエストの本文を渡します。Expressでは
express.text({ type: 'application/json' })。公式のサンプルのハンドラ(Python、Express、Next.js)は、署名が合わないときに401を返しています。
再試行と自動の無効化
- 10回以上続けて失敗し、かつ、直近の成功が7日より前(または一度も成功していない)の場合、webhookは自動で無効になります。
- 音声の再試行は、全体の内容を再送するので、
conversation_idで重複を取り除く、と書かれています。 - 音声は
transfer-encoding: chunkedのストリームで届き、1回のリクエストは5分でタイムアウトします。音声は大きいことがあるので、メモリと保存の容量を確かめる、と書かれています。 - 追加の防御として、ElevenLabsの固定の送信元IPを許可できます(一覧は公式の別のページで、読んでいません)。HMACの確認と併用すると二重になる、と書かれています。
渡るデータ
書き起こしの全体、分析(要約、通話の成功を含む)、メタデータ(時間、費用、電話の情報)、ダイナミック変数が、自分のサーバーへ送られます。音声のwebhookは、会話IDとエージェントIDと音声だけです。外し方(webhookの無効化の画面)は、読んだページには、記載がありません。
連携7:ウィジェット × Webページ
公式のdocs(Widget customization)の記載です。
- サイト全体で使うなら、
index.htmlの<body>に、次のスニペットを置く(公式の例の写し。agent-idは自分のもの)。
<elevenlabs-convai agent-id="agent-id"></elevenlabs-convai>
<script src="https://unpkg.com/@elevenlabs/convai-widget-embed" async type="text/javascript"></script>
- 認証:「ウィジェットは、認証を無効にした公開のエージェントが必要」と書かれています。エージェントの「Advanced」のタブで切り替えます。
- 許可するドメイン:エージェントの「Security」のタブの「Allowlist」で、使えるホストを決める。
- 見た目、アバター、文言、言語:エージェントの「Widget」のタブ。
- 入力のモード(音声のみ、音声とテキスト、チャット):「Channels」→「Widget」→「Interface」。
属性として、agent-id(必須)、signed-url、variant、dismissible、見た目の avatar-*、文言の *-text、リンクを開く markdown-link-allowed-hosts、実行時の dynamic-variables、override-*(言語、プロンプト、最初のメッセージ、声のID。項目ごとに有効にする必要がある)が書かれています。
渡るデータ・確認点
- 渡るデータ:ページの訪問者が話した内容や入力が、エージェントを通じて、ElevenLabsへ、そしてエージェントが使うLLMやツールの先へ渡ります。
- 確認点:認証を無効にした公開のエージェントなので、Allowlistを設定してから公開する、という順番は、この記事の見立てです。公式は、Allowlistで、ウィジェットを指定したホストに限れる、と書いています。
- 外し方:ページから、スニペットを消す。エージェントを非公開にする画面の記載は、読んだページにはありません。
渡るデータの比較
| 連携 | データの流れ(公式の記載) |
|---|---|
| Webhookツール | 会話から作られたパラメータとヘッダのトークンが、設定したURLへ |
| Clientツール | 自分のアプリの中の関数。結果は、「Wait for response」で会話に戻る |
| 外のMCPサーバー | 会話のデータが、そのサーバーへ(ユーザーの入力を含みうる)。Zapier経由なら、Zapierとその先のアプリへ |
| ElevenLabs提供のLLM | ElevenLabsの基盤の中で処理される。元の提供元は受け取らない |
| Google、OpenAI、Anthropic、自前のLLM | データの扱いは、読んだページには書かれていない |
| 通話後Webhook | 書き起こし、分析、メタデータ、(設定すれば)音声が、自分のサーバーへ |
| ウィジェット | 訪問者とエージェントの会話が、ElevenLabsを通じて流れる |
気をつけること
- この記事は、実際に使って確かめた記録ではありません。公式のdocsを、要約の形で読んだ範囲です。コマンドや設定は、公式ページの原文で確かめてから、設定してください。
- 読めなかった、または書かれていなかった所:Zapier側の操作、LLMを選ぶ画面の名前、Google・OpenAI・Anthropic・自前LLMへのデータの扱い、Webhookツールのタイムアウトとリトライ、ツールやMCPサーバーを外す画面、post-call webhookの署名のアルゴリズム、IPの許可リスト。
- MCPは、初期で無効で、有効にするとワークスペース全体に影響します。管理者でないメンバーも変えられる、と公式に書かれています。
- 外のサーバーやLLMへ、会話のデータが出ていきます。個人情報を扱う場合は、04のデータの扱いと、つなぐ先の規約を先に確かめてください。
- Zero Retention ModeとHIPAAのワークスペースでは、MCPが使えません。
- モデルの名前、料金、対応の範囲は、ページごとに違う所があり、更新も早いです。画面と公式のページで確かめてください。
出典
- Tools(ElevenLabs Docs、ElevenLabs、確認日 2026-10-25)
- Webhook tools(ElevenLabs Docs、ElevenLabs、確認日 2026-10-25)
- Client tools(ElevenLabs Docs、ElevenLabs、確認日 2026-10-25)
- Model Context Protocol(ElevenLabs Docs、ElevenLabs、確認日 2026-10-25)
- MCP integration security(ElevenLabs Docs、ElevenLabs、確認日 2026-10-25)
- Connect Zapier to ElevenLabs Conversational AI Voice Agents(ElevenLabs、確認日 2026-10-25)
- LLM(ElevenLabs Docs、ElevenLabs、確認日 2026-10-25)
- Integrate your own model(ElevenLabs Docs、ElevenLabs、確認日 2026-10-25)
- Post-call webhooks(ElevenLabs Docs、ElevenLabs、確認日 2026-10-25)
- Widget customization(ElevenLabs Docs、ElevenLabs、確認日 2026-10-25)
- ElevenAgents Quickstart(ElevenLabs Docs、ElevenLabs、確認日 2026-10-25)