Open in
コアコンセプト
プラットフォーム全体の地図。各オブジェクトの役割、ダッシュボード上の場所、関連するAPIを把握できます。
ThunderPhone は、AI 音声エージェントを構築、運用、改善するためのフルプラットフォームです。このページは全体像を示します。各概念を短いセクションで説明し、対応するダッシュボード画面と API を紹介します。まず一度目を通し、用語の説明が必要になったときに戻ってきてください。
ダッシュボードのサイドバーは、この構成を反映しています。
エージェントで使用できるアプリ、API、MCP サーバー、VoIP プロバイダー。
組織
組織はテナントの単位です。エージェント、電話番号、通話、キーなど、その他すべてのリソースは、必ず 1 つの組織に属します。アカウントは複数の組織に所属でき、それぞれに独自の残高、キー、メンバーリストがあります。
組織 → キーで作成する sk_live_ API キーは、1 つの組織に紐付けられます。この紐付けにより、REST API は非常にシンプルです。キーがすでに組織を識別するため、URL パスに組織 ID を指定する必要はありません。
ダッシュボード内: 組織切り替え(サイドバーフッター)と 組織設定 — マイアカウント、一般、キー、アラート、 請求設定、請求履歴のタブ。詳細は 組織設定リファレンスを参照してください。
API 内: /v1/orgs、
/v1/developer/api-keys。
エージェント
エージェントは、通話を実行する AI 設定です。以下をまとめます。
- エージェントの発話内容と動作を制御するプロンプト。転送、キーパッド操作、通話終了などの通話アクションも含まれ、個別の設定ではなく通常のプロンプト行として記述します。
- エンジンティア(
spark、bolt、storm-*):Spark はコスト向けに最適化され、Bolt は速度向け、Storm は複雑なプロンプトにおける高度な推論向けです。 - 音声、主要言語、任意の追加言語。発信者が言語を切り替えると、エージェントも自動的に切り替わります。対応言語を参照してください。
- 接続済みの機能:接続済みアプリ、 API 接続、ナレッジベース、 MCP サーバー、インラインの 関数ツール。
- 動作設定:発話順序、応答モード、バックグラウンドトラック、保留タイムアウト。
ビルダーでの編集は下書きに自動保存されます。デプロイをクリックするまで公開されません。デプロイのたびにビルダーの履歴タブにスナップショットが保存されるため、以前の任意のバージョンを確認して復元できます。
ダッシュボード内: 音声エージェント → エージェントビルダー
(/dashboard/agents)。詳細は
最初の音声エージェントを構築するを参照してください。
API 内: /v1/agents — CRUD、
複製、転送、バージョン履歴、プロンプトヘルパー。
音声
音声ライブラリには、エージェントが使用できる音声、再生可能な サンプル、対応言語、性別とアクセントの分類、およびプレミアム音声・言語の 追加料金が含まれます。有料サンプラーでは、選択前に1~500文字の任意の フレーズを合成できます。
対象となる組織は、短いWAVまたはMP3サンプルからカスタム音声を作成することもできます。カスタム音声には上限と非同期の作成ステータスがあり、準備が完了するとライブラリ音声と同じエージェント選択画面に表示されます。
ダッシュボード内: 音声 (/dashboard/voices)。詳細は
音声ライブラリとカスタム音声を参照してください。
API内: /v1/voices、
音声サンプル、および
カスタム音声。
電話番号
電話番号は組織に属し、着信通話をエージェントにルーティングします (発信通話にも使用できます)。取得元は2種類あります。
- ThunderPhone番号 — ThunderPhoneのプールから提供される実在の米国番号です。数秒で利用可能になり、月額$1に加えて1分あたり1¢の追加料金がかかります。最初は着信専用です。組織の管理者は電話番号ページから発信機能をリクエストできます。ThunderPhoneが各リクエストを手動で審査し、承認された番号は通話の発信とキャンペーンの実行が可能になります。組織ではデフォルトで25件まで保有できます。
- VoIP番号 — VoIP接続を通じて独自のプロバイダーから持ち込む番号です。TwilioとTelnyxはAPIキーで直接接続できます(Telnyxにはガイド付きの新規アカウント設定もあります)。SignalWire、Vonage、Plivo、その他のSIPトランクは、手動のSIP設定であるSIPセットアップを通じて接続します。インポートと認証が完了すると、VoIP番号は着信と発信に対応します。
各番号の行では、ルーティングモードの設定、着信エージェントの選択、 番号へのラベル付けを行えます。
ダッシュボード内: 電話番号 (/dashboard/phone-numbers)。
詳細は電話番号を取得するを参照してください。
API内: /v1/phone-numbers、
/v1/voip-connections、
/v1/phone-number-labels。
通話
すべての着信通話、発信通話、シミュレーション、およびウィジェットセッションは 通話ログになります。通話には、役割タグ付きの完全な文字起こし、 構造化されたターン履歴(ツール呼び出しを含む)、録音、請求合計、 および任意のAI評価と問題レポートが含まれます。
通話がライブ中の場合、開いて通話を聞くことができます。通話には 無音で参加するため、通話中の誰にも聞こえません。通話を聞いている間は、 ささやきを使用できます。通話中にエージェントへ直接送信される指示を入力すると、 発信者には聞こえず、エージェントがリアルタイムで従います。
ダッシュボード内: アーカイブと通話ごとの詳細は通話履歴 (/dashboard/call-history)、
進行中の通話はライブで確認できます。詳細は
通話を確認し、聞き、指導するを参照してください。
API内: /v1/calls — 一覧、文字起こし、
履歴、音声、評価、エクスポート。
/v1/issue-reports。
クライアントポータル
クライアントポータルは、外部クライアント向けのブランド設定済み読み取り専用 通話履歴ビューです。組織管理者は表示する通話のエージェントを選択し、承認済みの 閲覧者メールアドレスを追加し、ロゴとアクセントカラーをアップロードし、必要に応じて カスタムドメインを検証します。ポータル閲覧者は、ダッシュボードへのアクセス権なしで 通話の詳細、文字起こし、利用可能な録音を確認できます。
ダッシュボード内: クライアントポータル (/dashboard/client-portals)。詳細は
クライアントポータルを参照してください。
API内: 管理用インターフェースとして
/v1/client-portalsを使用できます。
Webウィジェット
ウェブウィジェットを使用すると、サイト訪問者は電話番号なしで、マイクを通じてエージェントと会話できます。許可したドメインからのみブラウザで使用できる公開可能キー(pk_live_...)で認証されるため、クライアント側コードでも安全に使用できます。ドメインリストは認証ではなく、ページが送信できるセッション設定は、キーで許可するまで無効です。
キーは2つのモードのいずれかで動作します。agent(1つのエージェントに静的に紐付け)またはwebhook(サーバーが訪問者ごとに設定を選択 — 通話ごとの動的設定を参照)です。ウィジェットセッションは、電話と同じ通話インフラストラクチャを経由します。
ダッシュボード: Webウィジェット(/dashboard/web-widgets)— ウィジェットの作成、モードとエージェントの設定、許可ドメインの管理、埋め込みスニペットのコピーを行えます。Webウィジェットを作成するを参照してください。
API: /v1/publishable-key、/v1/mic-session、およびWidget SDKドキュメント。
ナレッジベース
ナレッジベースは、通話中にエージェントが回答の根拠を得るために検索できるドキュメントの集合です。ファイルをアップロードするか、テキストを貼り付けるか、URLからWebページをインポートし、ビルダーでナレッジベースをエージェントに接続します。会話で必要になったとき、エージェントは組み込みの検索ツールでナレッジベースを照会します。
ダッシュボード: ドキュメントライブラリはナレッジ(/dashboard/knowledge)、エージェントへの接続はビルダーのナレッジセクションで行います。エージェントにナレッジベースを追加するを参照してください。
接続
接続により、エージェントは外部サービスにアクセスできます。種類は4つで、すべて1つのサイドバーグループにあります。
- アプリ(
/dashboard/app-connections)— Slack、HubSpot、Salesforce、Google Calendar、Google Sheets、Cal.comへのOAuth接続です。一度接続すれば、操作ごとのツール(Slackメッセージの投稿、HubSpotコンタクトのアップサート、Cal.com枠の予約など)を任意のエージェントで有効にできます。アプリを接続するを参照してください。 - API(
/dashboard/api-connections)— 任意のHTTP APIをエージェントアクションに変換します。cURLコマンドを貼り付けるとAIウィザードがツール定義の下書きを作成します。手動で作成することもできます。リリース前にテストリクエストボタンでサンドボックス呼び出しを実行できます。API接続を参照してください。これは/v1/integrationsのダッシュボード画面です。 - MCP(
/dashboard/mcp-connections)— URLでModel Context Protocolサーバーを追加し、エージェントが公開されているツールを使用できるようにします。MCPサーバーを追加するを参照してください。 - VoIP(
/dashboard/voip-connections)— 独自の電話番号を使用するためのプロバイダー認証情報です。VoIPプロバイダーを接続するを参照してください。
ThunderPhoneは独自のMCPエンドポイントも公開しており、外部MCPクライアントからエージェントの一覧取得、通話と文字起こしの確認、通話の発信を行えます。ThunderPhoneをMCPサーバーとして使用するを参照してください。
API: /v1/integrations、/v1/mcp-servers、/v1/voip-connections。ツール統合を構築するも参照してください。
キャンペーン
キャンペーンでは、大規模なアウトバウンド通話を実行できます。連絡先のCSVをアップロードし、エージェントと発信元番号を選択して、発信時間帯(曜日、時間、タイムゾーン対応)、同時実行数、再試行ポリシー(最大試行回数と、再試行する結果 — 応答なし、留守番電話、失敗)を設定します。キャンペーンはリストを順に処理し、すべての通話を通話履歴に記録します。
ダッシュボード: キャンペーン(/dashboard/campaigns)。アウトバウンド通話キャンペーンを実行するを参照してください。
単発のプログラムによる通話: アウトバウンド通話API。
ライブモニタリング
ライブでは、組織全体で進行中のすべての通話を表示し、任意の通話を開いてリアルタイムで傍受とささやきを行えます。これは監督用の画面です。新しいプロンプトが初めて実際のトラフィックを処理する様子を確認したり、実行中のキャンペーンを監視したりできます。
ダッシュボード: ライブ (/dashboard/live)。ライブ通話を監視・管理するを参照してください。
シミュレーション
シミュレーションとは、AIの発信者がエージェントと実際に会話する機能です。同じ電話経路、実際の文字起こし、実際の評価を使用するため、リリース前後にテストできます。エージェントまたは電話番号を指定し、発信者シナリオを作成するか、エージェントのプロンプトからAIでシナリオを生成します。必要に応じてエッジケースも含められます。通話はライブで確認できます。
シナリオはスイートとしてグループ化され、最低合格率を固定し、CIでリリースをゲートできます。承認済みベースラインに対する回帰は、シナリオごとに報告されます。
ダッシュボード: シミュレーション (/dashboard/simulations) と、エージェントビルダー内のシミュレーションボタン。通話をシミュレーションするを参照してください。
API: /v1/test-calls とスイートランナー。エージェントをエンドツーエンドでテストするを参照してください。
検証セット
検証セットは、実際の通話の瞬間を、繰り返し実行可能な単一ターンの回帰チェックに変換します。各例では、会話コンテキスト、関連する発信者音声、元の応答、期待される動作を固定します。リプレイは追加の通話を発信せずに現在のエージェント下書きに対して実行され、デプロイダイアログでは最新の実行結果がその下書きと引き続き一致しているかを確認できます。
ダッシュボード: 組織データセット用の検証セット (/dashboard/validation) と、実行結果用のエージェントビルダーの検証タブ。検証セットを参照してください。
API: /v1/validation-sets と、同じリファレンスページにあるエージェントおよび例のリプレイエンドポイント。
実験
実験では、ライブトラフィックでエージェント設定をA/Bテストします。バリアント(異なるプロンプト、エンジン、設定)を定義し、トラフィックを分割して、バリアントごとの結果を比較します。Webhookでバケットロジックを手作業で実装する代わりに使用してください。
ダッシュボード: 実験 (/dashboard/experiments) と、エージェントビルダーのA/Bタブ。実験(A/Bテスト)を参照してください。
問題
問題とは、特定の通話でフラグ付けされた問題です。人間のレビュー担当者が登録するか、AI評価によって検出されます。問題には重要度、発生元、ステータスが含まれ、問題ページはトリアージキューとして機能します。フィルタリングし、問題のある通話を調査して、修正を追跡できます。
ダッシュボード: 問題 (/dashboard/issues) と、通話履歴での通話ごとのフラグ付け。問題のトリアージを参照してください。
API: /v1/issue-reports。
レポート
レポートは、通話データに関する自然言語の質問(「先週、発信者が人間の担当者を求めた主な理由の上位3つは何ですか?」)に対し、選択したエージェントと日付範囲を対象とするAI作成の分析で回答します。
ダッシュボード: レポート (/dashboard/reports)。レポートを参照してください。
可観測性
可観測性はメトリクス画面です。通話量、結果、時間の経過に伴う品質を確認でき、エージェントと時間枠でフィルタリングできるほか、後続の分析用にエクスポートできます。
ダッシュボード: 可観測性 (/dashboard/observability)。可観測性を参照してください。
アラート
アラートルールは、時間枠内のメトリクス(成功率、失敗率、平均スコア、通話量、スイートの回帰)を監視し、設定したしきい値を超えると発火します。通知はメールとSlackに送信され、Webhookエンドポイントにalert.triggeredイベントを発火します。
ダッシュボード: 組織 → アラート。アラートを参照してください。
Webhook
ThunderPhone は、通話中および通話後にイベントが発生すると、サーバーへ HTTP POST webhook を送信します。配信モデルは 2 種類あります。
- Webhook エンドポイント(推奨):エンドポイントごとのシークレットとイベント購読を使用して、多数の URL を
/v1/developer/webhook-endpointsで管理します。 - レガシー単一 URL webhook:組織ごとに 1 つの URL。
/v1/webhookまたは 組織 → 一般 で管理します。後方互換性のために維持されています。
イベントは 2 つのクラスに分かれます。
- ブロッキングイベントでは、進行中の通話を制御する設定をサーバーから応答する必要があります。対象は
着信イベント
(
telephony.incoming/web.incoming)です。電話通話は再試行1回を含めて最大 13秒、ウィジェットセッションは10秒待機します。 フォールバックエージェントはありません。有効な設定がない場合、電話通話は終了し、ウィジェットセッションは失敗します。 - ノンブロッキングイベントは、指数バックオフで再試行されるファイアアンドフォーゲット通知です。詳細は 配信セマンティクス を参照してください。
すべてのリクエストには、タイムスタンプ付きのHMAC-SHA256署名が
X-ThunderPhone-Signature-V2 に含まれ、従来の本文のみを対象とする
X-ThunderPhone-Signature も含まれます。詳細は
署名の検証
を参照してください。
関数ツール
関数ツールは、エージェントが会話の途中で呼び出せる HTTP エンドポイントです。ThunderPhone に OpenAI スタイルの関数スキーマとエンドポイント URL を渡すと、エージェントが呼び出すタイミングを判断します。ThunderPhone は自社サーバーから署名付き HTTP リクエストを実行し、結果をエージェントに返します。
エージェントには、通話の転送、キーパッド(DTMF)入力の送信、通話の終了、保留待機といった 組み込みの通話機能 もあります。ツール定義ではなく、シンプルなプロンプト行で有効にできます。
ダッシュボード内: ビルダーの API 接続 セクション(接続 を参照)。
API 内: /v1/integrations および
関数ツール仕様。
チームとロール
各組織には、2 つのロールを持つメンバーリストがあります。メンバーはエージェントを構築・運用し、管理者はチームと請求も管理できます。メールで招待できます。招待は 7 日後に期限切れとなり、取り消すこともできます。メンバー行の ⋯ メニューからロールの変更やメンバーの削除を行えます。シングルサインオンは組織全体で設定できます。詳細は SSO を参照してください。
ダッシュボード内: 組織 → 一般。 チームを招待する を参照してください。
API 内: /v1/members、
/v1/invites。
請求
ThunderPhone は 前払い制です。各組織には USD 残高があり、通話ごとにエージェントの分単価(エンジンティアと追加料金。ビルダーでは設定変更に応じて総額料金がリアルタイムで表示され、一部の追加対応言語 には 3¢/分 が加算されます)で残高から差し引かれます。残高がゼロになると、着信通話は拒否され、発信通話は 402 Payment Required を返します。
手動でチャージするか、残高しきい値、補充額、任意の月間利用上限を指定して 自動チャージを有効にできます。これにより、通話が会話の途中で切断されることを防げます。
ダッシュボード内: 組織 → 請求設定 および 請求履歴。 残高を追加して自動チャージを有効にする と、 完全な料金リファレンス を参照してください。
API 内: /v1/billing。
アプリ内コパイロット
ダッシュボードには組み込みの コパイロット が用意されています。「X を行う方法」と質問すると、このドキュメントに基づいて回答し、実際のコントロールをハイライトするクリックごとの操作ガイドを提示し、任意のガイドツアーを再生できます。このページで紹介されているコントロールを見つける最も速い方法です。 アプリ内コパイロットに質問する を参照してください。
すべてを組み合わせる
5ステップのウィザード:エージェント → 請求 → 番号 → シミュレーション → 確認。
4回のREST呼び出しで同じ最初の通話を実現。
エージェントを構築し、資金を追加し、番号を取得して、通話をシミュレーション・確認。
OAuthアプリ、カスタムAPI、MCPサーバー、VoIPプロバイダー。
レポート、可観測性、実験、問題、アラート。
招待とロール、APIキー、セキュリティ、SSO。
APIレシピ:着信、発信、動的設定、ツール、テスト。
HMACチェックを一度正しく実装し、どこでも再利用。