Webhookツール

アシスタントを外部データとシステムに接続します。

ツールを使うと、アシスタントを外部データやシステムに接続できます。アシスタントが利用できるツールのセットを定義でき、会話に応じて適切なツールを使用します。

概要

多くのアプリケーションでは、リアルタイム情報を取得するために、アシスタントが外部APIを呼び出す必要があります。ツールを使うと、アシスタントはサードパーティ製アプリへの外部関数呼び出しを行い、リアルタイム情報を取得できます。

ツールが役立つ例をいくつか紹介します。

  • データの取得:ユーザーに回答する前に、アシスタントがREST対応データベースやサードパーティのインテグレーションからリアルタイムデータを取得できるようにします。
  • アクションの実行:会議のスケジュール設定や注文の返品開始など、会話に基づいてアシスタントが認証済みのアクションをトリガーできるようにします。

アプリケーションUIを操作したり、クライアント側イベントをトリガーしたりするには、代わりにクライアント ツールを使用してください。

ツール設定

ElevenLabsエージェントには、外部APIと連携するためのツールを設定できます。従来のリクエストとは異なり、アシスタントは、会話と指定したパラメータ説明に基づいて、クエリ、本文、パスの各パラメータを動的に生成します。

すべてのツール設定とパラメータ説明は、アシスタントがこれらのツールをいつ、どのように使うかを判断するのに役立ちます。ツール利用を効果的にオーケストレーションするには、これらの呼び出しの順序とロジックを指定するよう、アシスタントのシステムプロンプトを更新してください。これには次の内容が含まれます。

  • 使用するツールと、その使用条件。
  • ツールが適切に機能するために必要なパラメータ。
  • 応答の処理方法。

ツールの目的を説明するために、大まかな名前と説明を定義します。これにより、LLMがツールを理解し、いつ呼び出すべきかを判断できます。

APIでパスパラメータが必要な場合は、URLパス内の変数を中括弧{}で囲んで指定します。例:idがパスパラメータである場合、/api/resource/{id}。

設定

ガイド

このガイドでは、任意の場所のリアルタイム天気情報を提供できる天気アシスタントを作成します。アシスタントは地理に関する知識を使って場所の名前を座標に変換し、正確な天気データを取得します。

1

天気ツールを設定する

天気ツールは、LLMから提供されるパスパラメータlatitudeとlongitudeを使用して、https://api.open-meteo.com/v1/forecastにGETリクエストを送信します。

エージェント設定ページのエージェントセクションで、ツールを追加を選択します。ツールタイプとしてWebhookを選択し、次の値で天気APIインテグレーションを設定します。

LLM Promptの値タイプで、2つのパスパラメータを追加します。

データ型識別子説明
stringlatitudeリクエストされた場所の緯度座標
stringlongitudeリクエストされた場所の経度座標

このツールにAPIキーは必要ありません。必要な場合は、ヘッダーで渡し、シークレットとして保存してください。

2

オーケストレーション

このシステムプロンプトで、天気に関する質問をインテリジェントに処理するようアシスタントを設定します。

System prompt
You are a helpful conversational agent with access to a weather tool. When users ask about
weather conditions, use the get_weather tool to fetch accurate, real-time data. The tool requires
a latitude and longitude - use your geographic knowledge to convert location names to coordinates
accurately.
Never ask users for coordinates - you must determine these yourself. Always report weather
information conversationally, referring to locations by name only. For weather requests:
1. Extract the location from the user's message
2. Convert the location to coordinates and call get_weather
3. Present the information naturally and helpfully
For non-weather queries, provide friendly assistance within your knowledge boundaries. Always be
concise, accurate, and helpful.
First message: "Hey, how can I help you today?"

さまざまな場所の天気について質問して、アシスタントをテストしてください。アシスタントは、特定の場所(「東京の天気は?」)を処理し、一般的な質問(「今日の天気はどう?」)の後には詳細を確認する必要があります。

サポートされる認証方式

ElevenLabs Agentsは、ツールを外部APIに安全に接続するための複数の認証方式をサポートしています。認証方式はエージェント設定で構成し、必要に応じて個々のツールに接続します。

ワークスペース認証接続

設定後、これらの認証方式をツールに接続し、ツール設定でカスタムヘッダーを管理できます。

ツール認証接続

OAuth2クライアント認証情報

OAuth2のクライアント認証情報フローを自動で処理します。クライアントID、クライアントシークレット、トークンURL(例:https://api.example.com/oauth/token)を設定します。必要に応じて、スコープをカンマ区切りの値として指定し、追加のJSONパラメータを設定できます。エージェント設定ページのエージェントセクションにあるワークスペース認証接続で、認証を追加をクリックして設定します。

OAuth2 JWT

OAuth 2.0 JWT BearerフローにJSON Web Token認証を使用します。JWT署名シークレット、トークンURL、アルゴリズム(デフォルト:HS256)が必要です。発行者、オーディエンス、サブジェクトを含むJWTクレームを設定します。必要に応じて、キーID、有効期限(デフォルト:3600秒)、スコープ、追加パラメータを設定できます。エージェント設定ページのエージェントセクションにあるワークスペース認証接続で、認証を追加をクリックして設定します。

基本認証

HTTP Basic AuthをサポートするAPI向けのシンプルなユーザー名とパスワードによる認証です。エージェント設定ページのエージェントセクションにあるワークスペース認証接続で、認証を追加をクリックして設定します。

Bearerトークン

Bearerトークンの値をリクエストヘッダーに追加する、トークンベースの認証です。ツール設定にヘッダーを追加し、ヘッダータイプとしてシークレットを選択して、新しいシークレットを作成をクリックして設定します。

カスタムヘッダー

独自の認証方式のために、任意の名前と値でカスタム認証ヘッダーを追加します。ツール設定にヘッダーを追加し、名前と値を指定して設定します。

ベストプラクティス

ツールには直感的な名前と詳しい説明を付ける

アシスタントが正しいツールを呼び出さない場合は、各ツールをいつ選択すべきかをより明確に理解できるよう、ツール名と説明を更新する必要があるかもしれません。ツール名や引数名を短縮するために、略語や頭字語を使用するのは避けてください。

ツールをいつ呼び出すべきかについて、詳しい説明を含めることもできます。複雑なツールでは、各引数の説明も含めることで、アシスタントがその引数を収集するためにユーザーへ何を尋ねる必要があるかを把握しやすくなります。

ツールパラメータには直感的な名前と詳しい説明を付ける

ツールパラメータには、明確でわかりやすい名前を使用してください。該当する場合は、説明内でパラメータに期待される形式を指定します(例:日付の場合はYYYY-mm-ddまたはdd/mm/yy)。

アシスタントの システムプロンプトに、ツールを呼び出す方法とタイミングに関する追加情報を含めることを検討する

システムプロンプトで明確な指示を与えると、アシスタントのツール呼び出し精度を大幅に改善できます。たとえば、次のような指示でアシスタントを導きます。

Use `check_order_status` when the user inquires about the status of their order, such as 'Where is my order?' or 'Has my order shipped yet?'.

複雑なシナリオにはコンテキストを提供してください。例:

Before scheduling a meeting with `schedule_meeting`, check the user's calendar for availability using check_availability to avoid conflicts.

LLMの選択

ツールを使用する場合は、GPT 5.2、Gemini-2.5-Flash、 Claude Sonnet 4.5などの高性能モデルを選び、Gemini-2.0-Flashは避けることをおすすめします。

LLMの選択は、関数呼び出しの成功に重要であることに注意してください。一部のLLMでは、会話から関連するパラメータを抽出するのが難しい場合があります。

ツール呼び出し音

ツール実行中に再生する環境音を設定して、ユーザー体験を向上できます。詳しくはツール呼び出し音をご覧ください。