Slack
चैनलों और थ्रेड्स में एजेंट से चैट करने के लिए Slack वर्कस्पेस को ElevenLabs Agents से कनेक्ट करें
जानकारी
Slack इंटीग्रेशन, ElevenLabs एजेंट को Slack में संदेश भेजने और पाने देता है। कनेक्ट होने के बाद, एजेंट का किसी चैनल में उल्लेख किए जाने पर वह थ्रेड में जवाब देता है और हर थ्रेड के लिए अलग बातचीत का कॉन्टेक्स्ट बनाए रखता है।
क्षमताएं
सेटअप
इंटीग्रेशन कनेक्ट करने के दो तरीके देता है:
- OAuth — अपने वर्कस्पेस में साझा ElevenLabs Slack ऐप इंस्टॉल करें। एक Slack वर्कस्पेस, एक ElevenLabs कनेक्शन से मैप होता है। सबसे तेज़ सेटअप, Slack ऐप मैनेजमेंट की ज़रूरत नहीं।
- अपना ऐप इस्तेमाल करें — अपने बनाए और स्वामित्व वाले Slack ऐप से कनेक्ट करें। इसका इस्तेमाल तब करें, जब आपको बॉट अपने ब्रांड के तहत दिखाना हो या आपके वर्कस्पेस की नीतियों के अनुसार ऐप किसी एडमिन को इंस्टॉल करना हो।
विकल्प A — OAuth
ऐप इंस्टॉल करने वाले यूज़र के पास लक्षित Slack वर्कस्पेस में ऐप जोड़ने की अनुमति होनी चाहिए।
विकल्प B — अपना Slack ऐप इस्तेमाल करें
अगर आप चाहते हैं कि बॉट आपके ऐप नाम और आइकन के साथ दिखे, या आपके वर्कस्पेस में ऐप्स को आपके एडमिन द्वारा रिव्यू और इंस्टॉल किया जाना ज़रूरी हो, तो इसका इस्तेमाल करें।
Slack ऐप बनाएं
Slack API: Your Apps पर जाएं और Create New App > From scratch पर क्लिक करें। ऐप को नाम दें और वह Slack वर्कस्पेस चुनें जिसमें इसे इंस्टॉल करना है।
बॉट स्कोप जोड़ें
OAuth & Permissions खोलें और ये Bot Token Scopes जोड़ें:
app_mentions:read, channels:history, channels:join, channels:manage, chat:write, files:read, groups:history, groups:write, im:history, reactions:write.
फिर Install to Workspace पर क्लिक करें और मंज़ूरी दें। Bot User OAuth Token कॉपी करें (xoxb- से शुरू होता है)।
ElevenLabs में कनेक्शन बनाएं
ElevenLabs डैशबोर्ड में Integrations पर जाएं, Add integration बटन पर क्लिक करें और Slack चुनें। Bring your own app क्रेडेंशियल चुनें। बॉट टोकन और साइनिंग सीक्रेट पेस्ट करें, फिर सेव करें। ElevenLabs Slack के साथ टोकन वेरिफ़ाई करता है और आपकी वर्कस्पेस id रिकॉर्ड करता है।
कनेक्शन बनने के बाद, कनेक्शन पेज आपके Slack ऐप की पहचान से बने दो वेबहुक URL दिखाता है। उसी ElevenLabs वर्कस्पेस से दोबारा कनेक्ट किया गया वही Slack ऐप हमेशा वही URL बनाता है — इसलिए आप Slack ऐप की कॉन्फ़िगरेशन फिर से अपडेट किए बिना कनेक्शन हटा और दोबारा बना सकते हैं। अगले चरणों के लिए वह पेज खुला रखें।
Event Subscriptions कॉन्फ़िगर करें
अपने Slack ऐप में Event Subscriptions खोलें, इवेंट सक्षम करें और ElevenLabs कनेक्शन पेज से Events URL को Request URL में पेस्ट करें। Slack आपके दिए साइनिंग सीक्रेट से URL वेरिफ़ाई करेगा।
चैनलों में एजेंट का व्यवहार कैसा हो, इसके आधार पर बॉट इवेंट्स सब्सक्राइब करें:
- सिर्फ़ उल्लेख —
app_mentionसब्सक्राइब करें। एजेंट सिर्फ़ तब जवाब देता है, जब कोई यूज़र बॉट को@-मेंशन करता है। - सभी संदेश —
message.channelsऔरmessage.groupsसब्सक्राइब करें। एजेंट उन चैनलों में हर संदेश का जवाब देता है जिनमें बॉट है, बिना मेंशन के।
अगर आप SlackDirectMessage ट्रिगर इस्तेमाल करते हैं, तो message.im भी सब्सक्राइब करें।
जब तक आप डुप्लिकेट डिलीवरी संभालना नहीं चाहते, app_mention और message.* चैनल इवेंट्स दोनों सब्सक्राइब न करें। जब कोई यूज़र बॉट को @-मेंशन करता है, Slack उसी संदेश के लिए app_mention और message दोनों इवेंट भेज सकता है, जिससे एजेंट दो बार जवाब देता है।
साझा ElevenLabs OAuth ऐप के ज़रिए एक Slack वर्कस्पेस को सिर्फ़ एक बार कनेक्ट किया जा सकता है। किसी अलग ElevenLabs वर्कस्पेस से दोबारा इंस्टॉल करने पर duplicate Slack workspace त्रुटि मिलती है — पहले मौजूदा कनेक्शन हटाएं। अपने ऐप वाले कनेक्शन स्वतंत्र होते हैं और इनमें टकराव नहीं होता।
OAuth स्कोप
ElevenLabs Slack ऐप इन स्कोप का अनुरोध करता है:
एजेंट टूल
जब आप किसी एजेंट में Slack टूल जोड़ते हैं, तो ये बिल्ट-इन टूल उपलब्ध होते हैं:
कनेक्शन हटाना
Integrations पेज से कनेक्शन हटाने पर Slack वर्कस्पेस से ElevenLabs Slack ऐप अनइंस्टॉल हो जाता है। हटाने के बाद, बॉट किसी भी चैनल में मौजूद नहीं रहता।
अपने ऐप वाले कनेक्शन के लिए, ElevenLabs उस ऐप को अनइंस्टॉल नहीं कर सकता जिसका स्वामित्व उसका नहीं है — कनेक्शन हटाने से सिर्फ़ लोकल मैपिंग हटती है। अपने Slack वर्कस्पेस से बॉट को पूरी तरह हटाने के लिए, Slack एडमिन सेटिंग्स से ऐप अनइंस्टॉल करें।
ट्रिगर कॉन्फ़िगर करें
इंटीग्रेशन एक ट्रिगर, SlackMessage, उपलब्ध कराता है। कॉन्फ़िगर किए गए चैनल में बॉट को नया यूज़र संदेश दिखने पर यह सक्रिय होता है।
SlackMessage ट्रिगर जोड़ें
अपने एजेंट के कॉन्फ़िगरेशन पेज पर नया ट्रिगर जोड़ें और SlackMessage चुनें।
Slack ऐप्स को प्राइवेट चैनलों में अपने-आप शामिल होने की अनुमति नहीं देता। प्राइवेट चैनल के लिए, ट्रिगर सेव करने के बाद उस चैनल में /invite @Eleven चलाएं, ताकि बॉट संदेश देख सके।
हर (Slack workspace, channel) जोड़ी के लिए सिर्फ़ एक ट्रिगर की अनुमति है। डुप्लिकेट बनाने के बजाय मौजूदा ट्रिगर संपादित करें।
DM ट्रिगर कॉन्फ़िगर करें
SlackDirectMessage ट्रिगर किसी भी Slack यूज़र को बॉट को डायरेक्ट मैसेज भेजकर एजेंट से चैट करने देता है। चैनल ट्रिगर के विपरीत, इसमें @ मेंशन की ज़रूरत नहीं है — बॉट के साथ DM में यूज़र का भेजा हर संदेश प्रोसेस होता है।
BYO ऐप्स के लिए, सुनिश्चित करें कि आपने message.im बॉट इवेंट सब्सक्राइब किया है और im:history बॉट स्कोप जोड़ा है। इन्हें जोड़ने के बाद मांगे जाने पर ऐप दोबारा इंस्टॉल करें।
हर Slack कनेक्शन के लिए सिर्फ़ एक DM ट्रिगर की अनुमति है। एजेंट बदलने के लिए, मौजूदा ट्रिगर संपादित करें।
Slack में बॉट से बात करना
ट्रिगर सक्रिय होने और बॉट के चैनल में होने के बाद, चैनल थ्रेड में बातचीत शुरू करें। थ्रेड कैसे जारी रखना है, यह आपके Slack ऐप के इवेंट सब्सक्रिप्शन पर निर्भर करता है (OAuth सिर्फ़-उल्लेख वाला व्यवहार इस्तेमाल करता है)।
सिर्फ़-उल्लेख (app_mention)
सभी संदेश (message.channels, message.groups)
जब बॉट जवाब बना रहा होता है, वह यूज़र के ट्रिगर करने वाले संदेश पर :eyes: रिएक्शन जोड़ता है और जवाब पोस्ट होने पर उसे हटा देता है।
Channel Message ट्रिगर की Respond to messages from सेटिंग तय करती है कि कौन एजेंट को ट्रिगर कर सकता है:
- Only humans (डिफ़ॉल्ट): दूसरे बॉट और Slack वर्कफ़्लो के संदेशों को अनदेखा किया जाता है। यह सुरक्षित डिफ़ॉल्ट है और मौजूदा ट्रिगर का व्यवहार बनाए रखता है।
- Humans and bots: दूसरे बॉट और वर्कफ़्लो से पोस्ट किए गए संदेश (लेगसी
bot_messageइवेंट्स समेत) भी एजेंट को ट्रिगर करते हैं।
दोनों सेटिंग में बॉट हमेशा अपने संदेशों को अनदेखा करता है — Slack के साइन किए वेबहुक में बॉट-यूज़र और ऐप पहचान का इस्तेमाल करके — इसलिए खुद का उल्लेख होने पर भी वह कभी खुद को जवाब नहीं देता। वह संपादित संदेशों (message_changed) और हटाए गए संदेशों (message_deleted) को भी अनदेखा करता रहता है। यह message और app_mention इवेंट संभालता है और पब्लिक व प्राइवेट दोनों चैनलों में काम करता है।
सिर्फ़ bot_id वाले लेगसी बॉट इवेंट भेजने वाले की पहचान करते हैं, लेकिन पाने वाले ऐप की नहीं। इन्हें दूसरे बॉट के संदेश माना जाता है; इस Slack ऐप के लिए सेल्फ़-लूप डिटेक्शन आधुनिक Slack इवेंट पेलोड में शामिल बॉट-यूज़र या ऐप पहचान का इस्तेमाल करता है।
अगर आपका Slack ऐप app_mention और message.channels / message.groups दोनों सब्सक्राइब करता है, तो एक @-मेंशन से एजेंट के दो जवाब ट्रिगर हो सकते हैं। दोनों में से सिर्फ़ एक मोड सब्सक्राइब करें।
बातचीत मॉडल
बातचीत ID हर (agent_id, channel_id, thread_ts) के लिए निर्धारित होती है:
- नया Slack थ्रेड, नई ElevenLabs बातचीत से मैप होता है।
- उसी थ्रेड को जारी रखने पर वही बातचीत जारी रहती है, जिसमें ट्रांसक्रिप्ट हिस्ट्री और डायनामिक वेरिएबल शामिल हैं।
चैट हिस्ट्री बनाते समय, बॉट Slack थ्रेड को सीधे पढ़ता है। Slack सदस्यों और दूसरे बॉट के संदेशों को यूज़र टर्न माना जाता है, जबकि बॉट के अपने संदेशों को एजेंट टर्न माना जाता है। एजेंट के प्रोसेस करने से पहले बॉट यूज़र के उल्लेख (<@BOT_USER_ID>) को @<agent_name> में फिर से लिखा जाता है।
डायनामिक वेरिएबल
जब कोई एजेंट Slack से चलता है, तो प्रॉम्प्ट और टूल में ये डायनामिक वेरिएबल उपलब्ध होते हैं:
इन्हें प्रॉम्प्ट और टूल कॉल में रेफरेंस करने का तरीका जानने के लिए डायनामिक वेरिएबल देखें।
समस्या निवारण
फ़ाइल अटैचमेंट काम नहीं कर रहे
जब कोई यूज़र Slack में इमेज या PDF अटैच करता है, लेकिन एजेंट उसे प्रोसेस नहीं करता (या ऐसा व्यवहार करता है जैसे कोई फ़ाइल भेजी ही न गई हो), तो नीचे दिए गए जांच चरणों का पालन करें।
पुष्टि करें कि Slack ऐप में files:read है
बॉट को Slack से अटैचमेंट डाउनलोड करने के लिए files:read बॉट स्कोप चाहिए।
- अपना ऐप इस्तेमाल करें — Slack API: Your Apps में अपना ऐप खोलें, OAuth & Permissions पर जाएं और देखें कि Bot Token Scopes के तहत
files:readसूचीबद्ध है। अगर आपने इसे हाल ही में जोड़ा है, तो ऐप को अपने वर्कस्पेस में दोबारा इंस्टॉल करें, ताकि टोकन नया स्कोप ले सके।
पुष्टि करें कि एजेंट मॉडल फ़ाइल इनपुट सपोर्ट करता है
फ़ाइल अटैचमेंट तभी फ़ॉरवर्ड होते हैं जब एजेंट का LLM मल्टीमॉडल इनपुट सपोर्ट करता हो — फ़ाइल प्रकार के आधार पर इमेज इनपुट और/या डॉक्यूमेंट (PDF) इनपुट। एजेंट कॉन्फ़िगरेशन में Agent टैब खोलें और चुना गया मॉडल देखें। अगर मॉडल अटैचमेंट प्रकार सपोर्ट नहीं करता, तो ऐसा मॉडल चुनें जो करता हो।