वेबहुक टूल्स

अपने असिस्टेंट को बाहरी डेटा और सिस्टम्स से कनेक्ट करें।

टूल्स आपके असिस्टेंट को बाहरी डेटा और सिस्टम से कनेक्ट करने में मदद करते हैं। आप ऐसे टूल्स का एक सेट तय कर सकते हैं, जिनका असिस्टेंट इस्तेमाल कर सके, और बातचीत के आधार पर ज़रूरत पड़ने पर असिस्टेंट उनका इस्तेमाल करेगा।

ओवरव्यू

कई ऐप्लिकेशन में असिस्टेंट को रीयल-टाइम जानकारी पाने के लिए बाहरी APIs कॉल करने की ज़रूरत होती है। टूल्स आपके असिस्टेंट को थर्ड-पार्टी ऐप्स के लिए बाहरी फ़ंक्शन कॉल करने की क्षमता देते हैं, ताकि आप रीयल-टाइम जानकारी पा सकें।

यहां कुछ उदाहरण दिए गए हैं, जहां टूल्स उपयोगी हो सकते हैं:

  • डेटा फ़ेच करना: यूज़र को जवाब देने से पहले असिस्टेंट को किसी भी REST-सक्षम डेटाबेस या थर्ड-पार्टी इंटीग्रेशन से रीयल-टाइम डेटा पाने की सुविधा दें।
  • कार्रवाई करना: बातचीत के आधार पर असिस्टेंट को प्रमाणित कार्रवाइयां ट्रिगर करने दें, जैसे मीटिंग शेड्यूल करना या ऑर्डर रिटर्न शुरू करना।

ऐप्लिकेशन UIs के साथ इंटरैक्ट करने या क्लाइंट-साइड इवेंट ट्रिगर करने के लिए, इसके बजाय क्लाइंट टूल्स का इस्तेमाल करें।

टूल कॉन्फ़िगरेशन

ElevenLabs एजेंट्स को बाहरी APIs के साथ इंटरैक्ट करने के लिए टूल्स से लैस किया जा सकता है। पारंपरिक रिक्वेस्ट के विपरीत, असिस्टेंट आपके दिए गए बातचीत और पैरामीटर विवरणों के आधार पर query, body और path पैरामीटर डाइनैमिक रूप से जनरेट करता है।

सभी टूल कॉन्फ़िगरेशन और पैरामीटर विवरण असिस्टेंट को यह तय करने में मदद करते हैं कि इन टूल्स का इस्तेमाल कब और कैसे करना है। टूल के इस्तेमाल को प्रभावी ढंग से व्यवस्थित करने के लिए, इन कॉल्स का क्रम और लॉजिक तय करने हेतु असिस्टेंट का सिस्टम प्रॉम्प्ट अपडेट करें। इसमें शामिल है:

  • कौन सा टूल इस्तेमाल करना है और किन स्थितियों में।
  • टूल को ठीक से काम करने के लिए किन पैरामीटर्स की ज़रूरत है।
  • रिस्पॉन्स को कैसे हैंडल करना है।

टूल के उद्देश्य को बताने के लिए एक उच्च-स्तरीय Name और Description तय करें। इससे LLM को टूल समझने और यह जानने में मदद मिलती है कि इसे कब कॉल करना है।

अगर API को path पैरामीटर्स चाहिए, तो URL path में वेरिएबल्स को कर्ली ब्रेसेस {} में रखें, उदाहरण के लिए: /api/resource/{id}, जहां id एक path पैरामीटर है।

कॉन्फ़िगरेशन

गाइड

इस गाइड में, हम एक मौसम असिस्टेंट बनाएंगे जो किसी भी जगह की रीयल-टाइम मौसम जानकारी दे सके। असिस्टेंट जगह के नामों को निर्देशांकों में बदलने और सटीक मौसम डेटा पाने के लिए अपने भौगोलिक ज्ञान का इस्तेमाल करेगा।

1

मौसम टूल कॉन्फ़िगर करें

मौसम टूल https://api.open-meteo.com/v1/forecast को GET रिक्वेस्ट भेजता है, जिसमें LLM द्वारा दिए गए latitude और longitude path पैरामीटर्स होते हैं।

अपने एजेंट सेटिंग्स पेज के Agent सेक्शन में, Add Tool चुनें। Tool Type के रूप में Webhook चुनें, फिर इन वैल्यू के साथ मौसम API इंटीग्रेशन कॉन्फ़िगर करें:

फ़ील्डवैल्यू
नामget_weather
विवरणकिसी जगह के लिए वर्तमान मौसम पूर्वानुमान पाता है
तरीकाGET
URLhttps://api.open-meteo.com/v1/forecast?latitude={latitude}&longitude={longitude}&current=temperature_2m,wind_speed_10m&hourly=temperature_2m,relative_humidity_2m,wind_speed_10m

LLM Prompt वैल्यू टाइप के साथ दो path पैरामीटर्स जोड़ें:

डेटा टाइपआइडेंटिफ़ायरविवरण
stringlatitudeमांगी गई जगह का अक्षांश निर्देशांक
stringlongitudeमांगी गई जगह का देशांतर निर्देशांक

इस टूल के लिए API key की ज़रूरत नहीं है। अगर इसकी ज़रूरत हो, तो इसे हेडर्स में पास किया जाना चाहिए और secret के रूप में स्टोर किया जाना चाहिए।

2

ऑर्केस्ट्रेशन

इस सिस्टम प्रॉम्प्ट के साथ अपने असिस्टेंट को मौसम संबंधी क्वेरीज़ समझदारी से हैंडल करने के लिए कॉन्फ़िगर करें:

System prompt
You are a helpful conversational agent with access to a weather tool. When users ask about
weather conditions, use the get_weather tool to fetch accurate, real-time data. The tool requires
a latitude and longitude - use your geographic knowledge to convert location names to coordinates
accurately.
Never ask users for coordinates - you must determine these yourself. Always report weather
information conversationally, referring to locations by name only. For weather requests:
1. Extract the location from the user's message
2. Convert the location to coordinates and call get_weather
3. Present the information naturally and helpfully
For non-weather queries, provide friendly assistance within your knowledge boundaries. Always be
concise, accurate, and helpful.
First message: "Hey, how can I help you today?"

अलग-अलग जगहों के मौसम के बारे में पूछकर अपने असिस्टेंट को टेस्ट करें। असिस्टेंट को खास जगहों (“What’s the weather in Tokyo?”) को हैंडल करना चाहिए और सामान्य क्वेरीज़ (“How’s the weather looking today?”) के बाद स्पष्टीकरण मांगना चाहिए।

समर्थित ऑथेंटिकेशन तरीके

ElevenLabs एजेंट्स आपके टूल्स को बाहरी APIs से सुरक्षित रूप से कनेक्ट करने के लिए कई ऑथेंटिकेशन तरीकों का समर्थन करता है। ऑथेंटिकेशन तरीकों को आपके एजेंट सेटिंग्स में कॉन्फ़िगर किया जाता है और फिर ज़रूरत के अनुसार अलग-अलग टूल्स से कनेक्ट किया जाता है।

वर्कस्पेस Auth कनेक्शन

कॉन्फ़िगर हो जाने के बाद, आप इन ऑथेंटिकेशन तरीकों को अपने टूल्स से कनेक्ट कर सकते हैं और टूल कॉन्फ़िगरेशन में कस्टम हेडर्स मैनेज कर सकते हैं:

टूल Auth कनेक्शन

OAuth2 क्लाइंट क्रेडेंशियल्स

OAuth2 client credentials flow को अपने आप हैंडल करता है। अपने client ID, client secret और token URL (जैसे, https://api.example.com/oauth/token) के साथ कॉन्फ़िगर करें। वैकल्पिक रूप से comma-separated वैल्यू के रूप में scopes और अतिरिक्त JSON पैरामीटर्स तय करें। अपने एजेंट सेटिंग्स पेज के Agent सेक्शन में Workspace Auth Connections पर Add Auth क्लिक करके सेट अप करें।

OAuth2 JWT

OAuth 2.0 JWT Bearer flow के लिए JSON Web Token ऑथेंटिकेशन का इस्तेमाल करता है। इसके लिए आपका JWT signing secret, token URL और algorithm (डिफ़ॉल्ट: HS256) ज़रूरी है। issuer, audience और subject समेत JWT claims कॉन्फ़िगर करें। वैकल्पिक रूप से key ID, expiration (डिफ़ॉल्ट: 3600 सेकंड), scopes और अतिरिक्त पैरामीटर्स सेट करें। अपने एजेंट सेटिंग्स पेज के Agent सेक्शन में Workspace Auth Connections पर Add Auth क्लिक करके सेट अप करें।

बेसिक ऑथेंटिकेशन

HTTP Basic Auth को सपोर्ट करने वाले APIs के लिए सरल username और password ऑथेंटिकेशन। अपने एजेंट सेटिंग्स पेज के Agent सेक्शन में Workspace Auth Connections पर Add Auth क्लिक करके सेट अप करें।

Bearer टोकन्स

टोकन-आधारित ऑथेंटिकेशन जो आपकी bearer token वैल्यू को रिक्वेस्ट हेडर में जोड़ता है। टूल कॉन्फ़िगरेशन में हेडर जोड़कर, हेडर टाइप के रूप में Secret चुनकर और Create New Secret क्लिक करके कॉन्फ़िगर करें।

कस्टम हेडर्स

प्रोप्रायटरी ऑथेंटिकेशन तरीकों के लिए किसी भी नाम और वैल्यू वाले कस्टम ऑथेंटिकेशन हेडर्स जोड़ें। टूल कॉन्फ़िगरेशन में हेडर जोड़कर और उसका name और value तय करके कॉन्फ़िगर करें।

सर्वोत्तम तरीके

टूल को स्पष्ट नाम और विस्तृत विवरण दें

अगर असिस्टेंट सही टूल को कॉल नहीं करता, तो आपको टूल के नाम और विवरण अपडेट करने पड़ सकते हैं, ताकि असिस्टेंट बेहतर ढंग से समझ सके कि उसे हर टूल कब चुनना है। टूल और आर्ग्युमेंट के नाम छोटे करने के लिए संक्षिप्त रूप या एक्रोनिम का इस्तेमाल न करें।

आप यह भी विस्तार से बता सकते हैं कि टूल को कब कॉल करना चाहिए। जटिल टूल के लिए, हर आर्ग्युमेंट का विवरण शामिल करें, ताकि असिस्टेंट समझ सके कि उस आर्ग्युमेंट के लिए उसे यूज़र से क्या पूछना है।

टूल पैरामीटर को स्पष्ट नाम और विस्तृत विवरण दें

टूल पैरामीटर के लिए स्पष्ट और वर्णनात्मक नाम इस्तेमाल करें। अगर लागू हो, तो विवरण में पैरामीटर का अपेक्षित फ़ॉर्मैट बताएं (जैसे तारीख के लिए YYYY-mm-dd या dd/mm/yy)।

अपने असिस्टेंट के सिस्टम प्रॉम्प्ट में टूल को कैसे और कब कॉल करना है, इसकी अतिरिक्त जानकारी देने पर विचार करें

अपने सिस्टम प्रॉम्प्ट में स्पष्ट निर्देश देने से असिस्टेंट की टूल कॉलिंग सटीकता काफ़ी बेहतर हो सकती है। उदाहरण के लिए, असिस्टेंट को इस तरह के निर्देश दें:

Use `check_order_status` when the user inquires about the status of their order, such as 'Where is my order?' or 'Has my order shipped yet?'.

जटिल स्थितियों के लिए संदर्भ दें। उदाहरण के लिए:

Before scheduling a meeting with `schedule_meeting`, check the user's calendar for availability using check_availability to avoid conflicts.

LLM चयन

टूल इस्तेमाल करते समय, हम GPT 5.2, Gemini-2.5-Flash या Claude Sonnet 4.5 जैसे उच्च बुद्धिमत्ता वाले मॉडल चुनने और Gemini-2.0-Flash से बचने की सलाह देते हैं।

यह ध्यान रखना ज़रूरी है कि फंक्शन कॉल की सफलता के लिए LLM का चुनाव मायने रखता है। कुछ LLM बातचीत से संबंधित पैरामीटर निकालने में मुश्किल महसूस कर सकते हैं।

टूल कॉल साउंड्स

यूज़र अनुभव बेहतर बनाने के लिए आप टूल के चलने के दौरान चलने वाला ambient ऑडियो कॉन्फ़िगर कर सकते हैं। टूल कॉल साउंड्स के बारे में और जानें।