इस API के बिना भी डैशबोर्ड अधिकांश टूल आवश्यकताओं को कवर करता है: कनेक्शंस
→ ऐप्स कुछ OAuth क्लिक्स में Slack, HubSpot, Salesforce, Google Calendar,
Google Sheets, और Cal.com को कनेक्ट करता है; कनेक्शंस →
APIs किसी भी HTTP API को एजेंट एक्शन में बदलता है (एक cURL कमांड पेस्ट करें
और एक AI विज़ार्ड टूल का ड्राफ्ट तैयार करता है, जिसमें बिल्ट-इन टेस्ट रिक्वेस्ट होता है); और
कनेक्शंस → MCP MCP सर्वर जोड़ता है। देखें
कनेक्शंस। यह गाइड APIs इंटरफ़ेस के नीचे मौजूद
रॉ API के बारे में है।
टूल की संरचना
दो हिस्से:- स्कीमा — एक OpenAI-स्टाइल फ़ंक्शन डेफिनिशन
(
{type: "function", function: {name, description, parameters}}) जो LLM को बताती है कि टूल क्या करता है और वह कौन से आर्ग्युमेंट लेता है। - एंडपॉइंट — वह URL जिसे ThunderPhone के सर्वर तब कॉल करते हैं जब LLM टूल का उपयोग करने का निर्णय लेता है। रिक्वेस्ट 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. लूप टेस्ट करें
एजेंट के विरुद्ध एक mic session चलाएँ और वह प्रश्न पूछें जिसे आपका टूल हैंडल करता है (“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, ट्रांसफर, वर्शन हिस्ट्री।
Function Tools स्पेसिफिकेशन
पूरा JSON स्कीमा ग्रामर और साइन किए गए एंडपॉइंट कॉन्ट्रैक्ट।
सिग्नेचर सत्यापित करें
टूल एंडपॉइंट पर वेबहुक-सिग्नेचर पैटर्न लागू करें।
ट्रांसक्रिप्ट + हिस्ट्री API
टूल कॉल के पूरे राउंड-ट्रिप की जांच करें।