エージェントとは
エージェントは完全な音声ペルソナです。名前だけで作成すると、すぐに使用できます — OneInbox がデフォルトの LLM、デフォルトの声、デフォルトのシステムプロンプトを自動的に設定します。カスタマイズしたい場合のみ変更が必要です。
1 つのエージェントがブラウザ通話(Web SDK 経由)と直接の電話通話(アウトバウンドおよびインバウンドの両方)を処理します — 通話タイプごとに別のエージェントは不要です。
エージェントを作成する
2 つの方法があります — デフォルトで作成して後でカスタマイズするか、最初から独自の設定を提供するかです。どちらも完全に動作するエージェントを作成します。オプション A — デフォルトで作成
名前だけで OK。OneInbox がデフォルトの LLM、声、システムプロンプトを自動的に作成します。レスポンスのllm_id と agent_id を使って後でカスタマイズできます。
オプション B — 独自の設定で作成
最初から設定したいフィールドを渡します。name 以外のフィールドはすべて任意です。
llm_id は自動作成された AI モデルです。使用したオプションに関わらず、システムプロンプトの設定、ツールの紐付け、ナレッジベースのリンクに使用します。
エージェントはすぐに使用できます。電話番号不要でブラウザ通話でテストできます — 完全にインターネット経由で動作します(Web SDK と同じ仕組み):
デフォルトをカスタマイズする
デフォルトでは汎用のシステムプロンプト、デフォルトの声、デフォルトの LLM で動作します。エージェントに特定の個性やスクリプトを与えるには、作成レスポンスのllm_id を使って LLM モデルを更新します:
{ "llm_id": "llm_xyz789" } でエージェントを PATCH します。モデルを一度更新すれば、それを使用するすべてのエージェントに変更が反映されます。
セルフホストまたはサードパーティの LLM を使用するには、provider を "custom" に設定し、custom_websocket_url を指定します。URL は wss://、ws://、https://、または http:// が使用できます — サーバーは OpenAI 互換のストリーミングチャット補完インターフェースを公開している必要があります。
利用可能なモデルを確認する
カタログには LLM、STT、TTS プロバイダーの受け入れ可能なモデル ID が一覧表示されます — エージェントや LLM にカスタムモデルを設定する前に確認できます。source フィールドは live(プロバイダーから直接取得)、seed(クレデンシャルなしで表示される静的リスト)、または unverified です。
エージェントにツールを与える
ツール(SMS 送信、発信者データの取得、通話転送、会議予約など)は、エージェントではなく LLM モデル に紐付けられます。 理由: LLM モデルが会話中に何をするかを決定します。ツールはそれが取れるアクションです — だからそこに置かれます。そのモデルを使用するすべてのエージェントは、すべてのツールを自動的に継承します。 ツールを追加するには、まず作成し、エージェントのllm_id に紐付けます:
音声認識(STT)
STT は発信者の音声を LLM が理解できるテキストに変換します。エージェントのtranscriber オブジェクトを設定してプロバイダーとモデルを選択します。
以下の STT プロバイダーはすべてプラットフォーム提供です — 認証情報は不要です。
language を設定します — 例:日本語は "ja"、ヒンディー語は "hi"。言語が不明な多言語通話には flux-multi を使用します。
音声合成(TTS)
TTS はエージェントのテキスト返答を音声に変換します。エージェントのtts オブジェクトを設定してプロバイダー、ボイス、速度を選択します。
以下の TTS プロバイダーはすべてプラットフォーム提供です — 認証情報は不要です。
voice_id には /v1/voices エンドポイントの vc_... ID を使用してください — プロバイダーのネイティブ ID ではありません。利用可能なボイス ID の全リストは ボイス を参照してください。主要なエージェントフィールド
ダイナミック変数
ダイナミック変数を使うと、リードごとに別のエージェントを作成せずに、エージェントのfirst_message、voicemail_message、system_prompt を通話ごとに個別化できます。これらのフィールドのプレースホルダーは シングルブレース({variable_name})で書き、通話開始時に実際の値を渡します。
通話開始時、OneInbox は両レイヤーをマージして最終的な変数マップを作成し(衝突時は通話の値が優先)、エージェントが話し始める前にテンプレート内のすべての
{placeholder} を置き換えます。LLM と TTS は解決済みの文字列のみを受け取ります — 生のプレースホルダーは渡されません。
シングルブレース を使用してください —
{lead_name}({{lead_name}} ではない)。ダブルブレースは補間されず、リテラルテキストとして表示されます。エージェントを更新する
いつでもエージェントの任意のフィールドを更新できます。変更は次の通話から有効になります — 進行中のアクティブな通話には影響しません。エージェントを管理する
すべてのエージェントを一覧表示
アカウント内のすべてのエージェントを取得します。他の操作で必要なagent_id や llm_id を見つけるために使用します。
特定のエージェントを取得
1 つのエージェントの完全な設定を取得します —llm_id、言語、音声設定、すべての動作フィールドを含みます。
effective_system_prompt フィールドが含まれます — 通話時にエージェントに渡される正確なシステムプロンプトです:LLM の system_prompt に job_description が # Role ブロックとして先頭に追加されたものです。これが LLM が実際に受け取るもので、ワーカーが実行時と同じ方法で組み立てられます。
effective_system_prompt は GET /v1/agents/{id} でのみ入力されます。行ごとの LLM ルックアップを避けるため、リストエンドポイントでは null です。通話ごとの変数補間とナレッジベースのチャンクは実行時に解決されるため、ここには反映されません。エージェントを削除する
エージェントを永続的に削除します。エージェントが電話番号に割り当てられている場合は、まず番号を別のエージェントに再割り当てしてから削除してください。LLM モデルを一覧表示する
LLM モデルを取得する
特定のモデルの完全な設定(システムプロンプト、ツール、ナレッジベース、カスタム URL)を取得します。LLM モデルを削除する
モデルを永続的に削除します。このモデルを現在使用しているエージェントは LLM 設定を失います — 先に{ "llm_id": "<replacement_model_id>" } で再割り当てしてください。
次のステップ
ツール
エージェントにアクションを与える — SMS、メール、データ取得、転送
電話番号
登録済みの電話番号で実際のアウトバウンド通話を行う
通話
通話の分類方法と結果の読み方
ボイス
利用可能な声を閲覧して TTS を設定する