控制台無須使用此 API 即可滿足大多數工具需求:連線
→ 應用程式可透過幾次 OAuth 點擊連接 Slack、HubSpot、Salesforce、Google Calendar、
Google Sheets 與 Cal.com;連線 →
APIs 可將任何 HTTP API 轉換為智慧體動作(貼上 cURL 指令,
AI 精靈便會草擬工具,並提供內建的「測試請求」);連線 → MCP
可新增 MCP 伺服器。請參閱
連線。本指南介紹 APIs 介面底層的
原始 API。
工具的結構
包含兩個部分:- Schema——OpenAI 風格的函式定義
(
{type: "function", function: {name, description, parameters}}), 用於告訴 LLM 工具的用途及其接受的引數。 - 端點——當 LLM 決定使用工具時,ThunderPhone 伺服器呼叫的 URL。請求是 JSON POST,並以 LLM 選定的引數作為本文內容。
1. 選擇儲存策略
直接附加至智慧體
將一次性工具附加至智慧體的
tools 陣列。簡單,但
無法重複使用。已儲存的整合
將工具儲存為可重複使用的整合,
並從多個智慧體連結至該工具。建議用於任何使用超過
一次的工具。
2. 建立整合
id(UUID)。
3. 在沙箱中測試端點
在將整合連結至智慧體之前,先從 ThunderPhone 的伺服器發出已簽署的 請求,以確認連線能力:Response
400 code=url_not_allowed。
4. 將整合連結至智慧體
建立或更新智慧體時,透過integration_ids 附加整合:
get_weather」——或者從
結構描述中隱含地探索它們。
5. 實作端點
當智慧體呼叫工具時,ThunderPhone 會向你的endpoint_url 傳送已簽署的 POST 請求:
6. 測試流程
對智慧體執行 麥克風工作階段, 並提出你的工具可處理的問題(「94110 的天氣如何?」)。通話的逐字稿會顯示完整往返流程:GET /v1/calls/{call_id}/transcript 取得此資訊;
原始事件串流(包含每筆項目的時間與音訊偏移)位於
GET /v1/calls/{call_id}/history。
常見陷阱
智慧體從不呼叫工具
智慧體從不呼叫工具
LLM 會根據工具描述決定是否呼叫工具。如果來電者的
問題不符合描述,模型便不會呼叫該工具。請強化描述(加入常見同義詞和
說法),或在智慧體提示詞中明確提及它(「當
來電者詢問天氣時,使用
get_weather。」)。工具回傳過多資料
工具回傳過多資料
超過 6 kB 的回應會在逐字稿預覽中遭到截斷。請只回傳
LLM 所需的欄位——不要回傳整筆資料列。
逾時
逾時
工具端點的預設逾時時間為 10 秒。如果你需要更長時間,
請以非同步方式處理:回傳
{"status": "pending", "request_id": "..."}
並透過另一個工具呼叫呈現結果。版本管理
版本管理
每次整合
PATCH 都會建立新的修訂版本。查看
GET /v1/integrations/{id}/versions
以了解誰變更了哪些內容。如果你破壞了工具的結構描述,可以
手動將較舊的快照 PATCH 回去以復原。後續步驟
整合參考資料
CRUD、移轉、版本紀錄。
函式工具規格
完整的 JSON 結構描述語法與簽署端點契約。
驗證簽章
將 Webhook 簽章模式套用至工具端點。
逐字稿與歷程 API
檢視工具呼叫的完整往返流程。
