ThunderPhone 2.0、提供開始。セルフサービスで、1分あたり2¢から。発表内容を見る

Getting Started

コアコンセプト

プラットフォーム内のすべてを示すマップ。各オブジェクトの役割、ダッシュボード上の場所、対応するAPIを説明します。

ThunderPhone は、AI 音声エージェントの構築、運用、改善のためのフルプラットフォームです。このページは全体像を示します。ここで登場するすべての概念を、ダッシュボード上の機能とそれを支える API とともに、それぞれ短いセクションで説明します。まず一度目を通し、用語の詳しい説明が必要になったときに参照してください。

ダッシュボードのサイドバーはこの構成に対応しています。


組織

組織はテナントの単位です。エージェント、電話番号、通話、キーなど、その他すべてのリソースは、必ず 1 つの組織に属します。1 つのアカウントは複数の組織に所属でき、各組織には独自の残高、キー、メンバー一覧があります。

組織 → キー で作成する sk_live_ API キーは、1 つの組織に紐付けられます。この紐付けにより REST API は非常にフラットになります。キーがすでに組織を識別するため、URL パスに組織 ID を指定する必要はありません。

ダッシュボード: 組織切り替えメニュー(サイドバー下部)と 組織設定。マイアカウント、一般、キー、アラート、 請求設定、請求履歴のタブがあります。 組織設定リファレンスを参照してください。

API: /v1/orgs/v1/developer/api-keys


エージェント

エージェントは、通話を実行する AI 設定です。次の要素をまとめています。

  • エージェントの発話内容と動作を定めるプロンプト。転送、キーパッド操作、通話終了などの通話アクションも含まれ、別個の設定ではなく通常のプロンプト行として記述します。
  • エンジンティアsparkboltstorm-*)。Spark はコスト向け、Bolt は速度向け、Storm は複雑なプロンプトにおける知能向けに最適化されています。
  • 音声に加え、主要言語と任意の追加言語。発信者が言語を切り替えると、エージェントも自動的に切り替わります。対応言語を参照してください。
  • 接続済みのアプリAPI 接続ナレッジベースMCP サーバー、インラインの 関数ツールなどの追加機能。
  • 発話順序、相づちモード、バックグラウンドトラック、保留タイムアウトなどの動作設定。

ビルダーでの編集内容は下書きに自動保存されます。デプロイをクリックするまで公開されません。デプロイごとにビルダーの履歴タブへスナップショットが保存されるため、任意の以前のバージョンを確認して復元できます。

ダッシュボード: 音声エージェント → エージェントビルダー (/dashboard/agents)。最初の音声エージェントを構築するを参照してください。

API: /v1/agents — CRUD、 複製、転送、バージョン履歴、プロンプトヘルパー。

音声

音声ライブラリには、エージェントが使用できる音声、再生可能な サンプル、対応言語、性別およびアクセントの分類、プレミアム音声・言語の追加料金が含まれます。有料サンプラーでは、選択前に独自の1〜500文字のフレーズを合成できます。

対象となる組織は、短いWAVまたはMP3サンプルからカスタム音声を作成することもできます。カスタム音声にはクォータと非同期の作成ステータスがあり、準備が完了するとライブラリ音声と同じエージェント選択画面に表示されます。

ダッシュボード: 音声 (/dashboard/voices)。詳細は 音声ライブラリとカスタム音声を参照してください。

API: /v1/voices音声サンプル、および カスタム音声


電話番号

電話番号は組織に属し、着信通話をエージェントにルーティングします (発信通話にも使用できます)。取得元は2種類あります。

  • デモ番号 — ThunderPhoneのプールからプロビジョニングされる実在の米国番号で、 数秒で利用可能になります。着信専用で、短い音声の免責事項を流して応答します。 ダッシュボードでは組織あたり最大10件に制限されます。初回テストには最適ですが、 本番運用には適しません。
  • VoIP番号 — 自社プロバイダーから VoIP接続を通じて持ち込みます。TwilioとTelnyxは直接接続でき (Telnyxにはガイド付きセットアップがあります)、SignalWireとVonageにも近日対応予定です。 現在は、あらゆる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ウィジェット

Webウィジェットを使うと、サイト訪問者はマイクを使ってエージェントと会話できます。電話番号は不要です。許可したドメインにオリジンロックされた公開可能キーpk_live_...)で認証されるため、クライアントサイドのコードでも安全に使用できます。

キーは次のいずれかのモードで動作します。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)です。応答時間は最大 10 秒です。タイムアウトした場合は、静的に割り当てられたエージェントが通話を処理します。
  • 非ブロッキングイベント は、指数バックオフで再試行される送信後待機なしの通知です。配信セマンティクス を参照してください。

すべてのリクエストには、X-ThunderPhone-Signature の HMAC-SHA256 署名が含まれます。署名の検証 を参照してください。


関数ツール

関数ツール は、エージェントが会話の途中で呼び出せる HTTP エンドポイントです。OpenAI 形式の関数スキーマとエンドポイント URL を ThunderPhone に指定すると、エージェントが呼び出すタイミングを決定します。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 を行う方法は?」と質問すると、このドキュメントに基づいて回答し、実際の操作項目を強調表示するクリックごとの手順を案内できます。また、任意のガイドツアーを再生することもできます。このページで説明されている操作項目を見つける最も速い方法です。アプリ内コパイロットに質問する を参照してください。


まとめ