Sign inGet Started

संदेशों को अपने AI एजेंट तक भेजें

Bird आपको WhatsApp, SMS, Apple Messages या किसी एजेंट मेलबॉक्स पर मिलने वाला हर संदेश आपके AI एजेंट को भेजता है। एजेंट को उसके विवरण और क्रेडेंशियल के साथ एक बार कनेक्ट करें, फिर हर नया संदेश उस तक पहुँचता है।

दो एजेंट समर्थित हैं:

  • Claude Managed Agents: हर संदेश उस एजेंट का एक सेशन शुरू करता है जिसे आपने Claude Console में बनाया है।
  • Grok Bot: हर संदेश आपके Grok Bot रूटीन में से एक को सक्रिय करता है।

Bird हर मेल खाने वाला संदेश आपके एजेंट को भेजता है और विफल डिलीवरी के लिए फिर से प्रयास करता है, इसलिए फिर से भेजा गया संदेश एक और रन शुरू कर सकता है। एजेंट को संदेश का इवेंट JSON मिलता है, यानी वही पेलोड जो एक सामान्य webhook एंडपॉइंट को मिलता है। एजेंट उन टूल के ज़रिए जवाब देता है जो आपने उसे दिए हैं, जैसे Bird MCP सर्वर।

चुनें कि आपका एजेंट किन संदेशों का जवाब दे

आपका एजेंट केवल आने वाले संदेशों का जवाब दे सकता है: whatsapp.received, sms.received, amb.received (Apple Messages) और email_mailbox.message_received। वे संदेश चुनें जिन्हें एजेंट को संभालना चाहिए। डिलीवरी रसीदें, स्टेटस बदलाव और अन्य इवेंट एजेंट को नहीं भेजे जाते।

Claude Managed Agents

  1. Claude Console में एक एजेंट, एक एनवायरनमेंट और एक API कुंजी बनाएँ।
  2. Bird में एक वेबहुक बनाएँ, Claude Managed Agents चुनें और Triggers में संदेश चुनें।
  3. Connect में एजेंट ID, एनवायरनमेंट ID और API कुंजी दर्ज करें, फिर वेबहुक बनाएँ।
  4. Send test चुनें।
  5. (वैकल्पिक) एजेंट को Bird के ज़रिए जवाब देने की अनुमति देने के लिए Claude Console में एजेंट खोलें, + MCP Server चुनें और Bird चुनें। उसके टोकन उपयोग को कम रखने के लिए केवल वे Bird टूल सक्षम करें जिनका वह उपयोग करता है, जैसा Claude Managed Agents में बताया गया है।
  6. (वैकल्पिक) Managed Agents > Credential vaults खोलें, एक वॉल्ट बनाएँ, + Add credential चुनें, Type को MCP OAuth पर सेट करें, Bird चुनें और Connect चुनें।
  7. (वैकल्पिक) Connect में वॉल्ट ID दर्ज करें (यह vlt_ से शुरू होती है), या उसे जोड़ने के लिए किसी मौजूदा वेबहुक को संपादित करें।

Grok Bot

  1. Grok Bot में Bird इंस्टॉल करें और अपना Bird वर्कस्पेस कनेक्ट करें।
  2. Grok Bot से वेबहुक ट्रिगर वाला रूटीन बनाने को कहें। रूटीन का Webhook सेक्शन खोलें और उसका URL और सेंडर कुंजी कॉपी करें।
  3. Bird में वेबहुक इनमें से किसी एक तरीके से बनाएँ:
    • Grok Bot से कहें कि वह चरण 2 के URL और सेंडर कुंजी का उपयोग करके amb.received या email_mailbox.message_received जैसे किसी इवेंट के लिए Grok Bot गंतव्य वाला वेबहुक बनाए। ईमेल के लिए मेलबॉक्स का नाम बताएँ।
    • इसे डैशबोर्ड में बनाएँ: Grok Bot चुनें, Triggers में इवेंट चुनें और Connect में URL और सेंडर कुंजी पेस्ट करें।
  4. Send test चुनें, फिर अपने व्यवसाय या मेलबॉक्स पर एक असली संदेश भेजें।

किसी टेम्पलेट से शुरू करें (वैकल्पिक)। चरण 2 से पहले AMB Booking Desk या Email Support Desk चुनें, फिर उसकी bot.md और shared/message-safety.md को Grok Bot को स्थायी निर्देशों के रूप में दें। Your settings और Knowledge भरें, उसका चैनल स्किल सक्षम करें और चरण 2 के लिए उसके Routine prompt का उपयोग करें।

टेम्पलेट के जवाब डिफ़ॉल्ट रूप से ड्राफ़्ट होते हैं।

अगर कोई रन शुरू नहीं होता, तो रूटीन के Webhook URL और सेंडर कुंजी का मिलान Bird में दिए मानों से करें।

इसे CLI या API से बनाएँ

वेबहुक कनेक्टर में हर कनेक्टर के फ़ील्ड, उनमें से गोपनीय फ़ील्ड, कनेक्टर द्वारा स्वीकार किए जाने वाले इवेंट और पहले किया जाने वाला सेटअप सूचीबद्ध है, और bird webhooks create --connector <id> --request-schema यही फ़ील्ड JSON Schema के रूप में दिखाता है। गैर-गोपनीय फ़ील्ड --field name=value से पास करें और हर गोपनीय मान किसी फ़ाइल से --credential name=FILE के ज़रिए दें, या stdin पर पाइप करके --credential name=- से दें, ताकि वह आपकी शेल हिस्ट्री में न आए। --events डिफ़ॉल्ट रूप से वे सभी संदेश इवेंट लेता है जिन्हें कनेक्टर स्वीकार करता है।

Claude के लिए, उस वर्कस्पेस में एक API कुंजी बनाएँ जिसमें आपका एजेंट चलता है। फिर उसे दिखाए बिना एक शेल वेरिएबल में पढ़ें और पाइप करें, ताकि वह कभी किसी कमांड लाइन या आपकी शेल हिस्ट्री में न दिखे:

कोड उदाहरण
read -rs ANTHROPIC_API_KEY  # paste the key, then press Enter
bird webhooks create --connector claude_managed_agents \
  --field agent_id=agent_123 --field environment_id=env_123 \
  --field vault_id=vlt_123 --credential api_key=- <<< "$ANTHROPIC_API_KEY"

bird webhooks connect <connector> यह सब एक ही चरण में करता है। यह कनेक्टर के लिए अभी भी ज़रूरी हर फ़ील्ड का नाम बताता है, वेबहुक बनाता है, और बिना किसी गोपनीय मान के वेबहुक ID, इवेंट और मेलबॉक्स फ़िल्टर दिखाता है। next में यह वेबहुक के लिए bird webhooks test बताता है, जो प्लेटफ़ॉर्म के साथ फ़ील्ड की जाँच करता है। MCP के ज़रिए, connector_id के साथ webhooks_create एक ही कॉल में यही करता है, और इसका next webhooks_test कॉल बताता है।

किसी एक मेलबॉक्स का ईमेल एजेंट को भेजने के लिए मेलबॉक्स की ID या पते के साथ --mailbox जोड़ें; पता देने पर उसे खोजा जाता है, जिसके लिए mailbox:read स्कोप चाहिए। यह filter.mailbox_id सेट करता है, और तब --events डिफ़ॉल्ट रूप से कनेक्टर के ऐक्शन में सूचीबद्ध मेलबॉक्स इवेंट लेता है, या हर इवेंट स्वीकार करने वाले ऐक्शन के लिए email_mailbox.message_received लेता है। Grok Bot के लिए YOUR_MAILBOX_ADDRESS और YOUR_ROUTINE_WEBHOOK_URL को अपने मेलबॉक्स और रूटीन के वेबहुक URL से बदलें, और जब read प्रतीक्षा करे तब रूटीन की सेंडर कुंजी पेस्ट करें:

कोड उदाहरण
read -rs GROK_SENDER_KEY  # paste the sender key, then press Enter
bird webhooks connect grok_bot --mailbox YOUR_MAILBOX_ADDRESS \
  --field webhook_url=YOUR_ROUTINE_WEBHOOK_URL \
  --credential sender_key=- <<< "$GROK_SENDER_KEY"

हर email_mailbox.message_received डिलीवरी में संदेश data के अंतर्गत होता है: data.message_id, data.mailbox_id और data.thread_id, data.from में भेजने वाला, data.to में प्राप्तकर्ता, और data.subject, जो संदेश में न होने पर null होता है। data.extracted_text उद्धृत इतिहास के बिना बॉडी है; टेक्स्ट न होने पर यह null होता है और इसकी सीमा 64 KB है। इसके काटे जाने पर data.truncated_text true होता है। इवेंट संदर्भ में हर फ़ील्ड सूचीबद्ध है।

API भी POST /v1/webhooks पर यही destination लेता है। url न भेजें: Bird उसे कनेक्टर से बनाता है। किसी भी प्रतिक्रिया में क्रेडेंशियल शामिल नहीं होते।

कनेक्शन का परीक्षण करें

वेबहुक बनाने के तुरंत बाद Send test चुनें। बाद में, वेबहुक के पेज पर या उसकी पंक्ति के ऐक्शन में Send test event का उपयोग करें, bird webhooks test <webhook_id> चलाएँ, या POST /v1/webhooks/{webhook_id}/test कॉल करें; CLI या API से बनाने या अपडेट करने पर next में यही चरण बताया जाता है। वेबहुक सहेजने पर प्लेटफ़ॉर्म से संपर्क नहीं होता, इसलिए परीक्षण ही उसके फ़ील्ड की जाँच करता है। Claude Managed Agents के लिए परीक्षण सेशन शुरू करने के बजाय एजेंट को पढ़ता है, जिससे API कुंजी और एजेंट ID की पुष्टि होती है, और यह kind: probe रिपोर्ट करता है; जब जवाब से किसी गलत मान की पहचान होती है, तो field उसका नाम बताता है। जाँच कोई इवेंट नहीं भेजती, इसलिए पहला असली संदेश ही शुरू से अंत तक की जाँच है। Grok Bot के लिए परीक्षण "test": true चिह्नित इवेंट के साथ एक रूटीन रन शुरू करता है, इसलिए Cursor में जाँचें कि रन शुरू हुआ। फिर अपने किसी नंबर या चैनल पर एक असली संदेश भेजें और पुष्टि करें कि एजेंट उसे संभालता है; Claude के लिए पुष्टि करें कि जवाब भेजने वाले के चैनल पर पहुँचता है और सेशन में कोई session.error नहीं दिखता।

इसे संचालित करें

  • क्रेडेंशियल बदलें। वेबहुक संपादित करें और केवल नया मान दर्ज करें; जो फ़ील्ड आप खाली छोड़ते हैं, उसमें सहेजा हुआ मान बना रहता है। CLI से bird webhooks update <webhook_id> --credential name=FILE चलाएँ, या मान को --credential name=- से पाइप करें। API के ज़रिए बदली हुई कुंजी PATCH /v1/webhooks/{webhook_id} destination.connector.credentials में भेजें। अगली डिलीवरी उसी का उपयोग करती है, फिर से प्रयास भी।
  • इसकी सेटिंग बदलें। एजेंट ID, वॉल्ट ID या किसी Grok Bot रूटीन के वेबहुक URL जैसी कोई सेटिंग बदलने के लिए वेबहुक संपादित करें या bird webhooks update <webhook_id> --field name=value चलाएँ; अगली डिलीवरी उसी का उपयोग करती है। प्लेटफ़ॉर्म बदलने के लिए एक नया वेबहुक बनाएँ।
  • इसे रोकें या हटाएँ। वेबहुक रोकने पर उसकी डिलीवरी बंद हो जाती हैं। उसे मिटाने पर उसके क्रेडेंशियल मिट जाते हैं।
  • विफलताएं पढ़ें। किसी webhook के प्रयासों में हर डिलीवरी प्लेटफ़ॉर्म के प्रतिक्रिया स्टेटस और बॉडी के साथ दिखती है, या प्लेटफ़ॉर्म तक न पहुंच पाने पर कुछ नहीं दिखता। जो प्रयास Bird के कुछ भी भेजने से पहले विफल हुआ, जैसे इवेंट के बाद बदला गया कनेक्शन, उसमें इसके बजाय failure_reason होता है।

अगले कदम

इस विषय के लिए दस्तावेज़, गाइड और उदाहरणों के साथ आगे बढ़ें।