Slack

चैनलों और थ्रेड्स में एजेंट से चैट करने के लिए Slack वर्कस्पेस को ElevenLabs Agents से कनेक्ट करें

जानकारी

Slack इंटीग्रेशन, ElevenLabs एजेंट को Slack में संदेश भेजने और पाने देता है। कनेक्ट होने के बाद, एजेंट का किसी चैनल में उल्लेख किए जाने पर वह थ्रेड में जवाब देता है और हर थ्रेड के लिए अलग बातचीत का कॉन्टेक्स्ट बनाए रखता है।

क्षमताएं

क्षमतासहायता
ज़ीरो रिटेंशन मोड (ZRM)समर्थित नहीं
ट्रिगर में अटैचमेंटइनकमिंग संदेशों में इमेज (PNG, JPEG, GIF, WebP) और PDF फ़ाइलें, जब एजेंट सेटिंग्स में फ़ाइल अटैचमेंट की अनुमति दें सक्षम हो और एजेंट का LLM इमेज या डॉक्यूमेंट इनपुट सपोर्ट करता हो
टूल में अटैचमेंटसमर्थित नहीं — टूल सिर्फ़ टेक्स्ट पर काम करते हैं

सेटअप

इंटीग्रेशन कनेक्ट करने के दो तरीके देता है:

  • OAuth — अपने वर्कस्पेस में साझा ElevenLabs Slack ऐप इंस्टॉल करें। एक Slack वर्कस्पेस, एक ElevenLabs कनेक्शन से मैप होता है। सबसे तेज़ सेटअप, Slack ऐप मैनेजमेंट की ज़रूरत नहीं।
  • अपना ऐप इस्तेमाल करें — अपने बनाए और स्वामित्व वाले Slack ऐप से कनेक्ट करें। इसका इस्तेमाल तब करें, जब आपको बॉट अपने ब्रांड के तहत दिखाना हो या आपके वर्कस्पेस की नीतियों के अनुसार ऐप किसी एडमिन को इंस्टॉल करना हो।

विकल्प A — OAuth

ऐप इंस्टॉल करने वाले यूज़र के पास लक्षित Slack वर्कस्पेस में ऐप जोड़ने की अनुमति होनी चाहिए।

1

इंटीग्रेशन पेज खोलें

ElevenLabs डैशबोर्ड में Agents > Integrations पर जाएं और Slack चुनें।

2

Connect पर क्लिक करें

OAuth क्रेडेंशियल चुनें और Connect पर क्लिक करें। आपको Slack पर रीडायरेक्ट किया जाएगा, जहां आप चुन सकते हैं कि ElevenLabs ऐप किस वर्कस्पेस में इंस्टॉल करना है और अनुरोधित स्कोप को मंज़ूरी दे सकते हैं।

3

रीडायरेक्ट पूरा करें

मंज़ूरी के बाद Slack आपको वापस ElevenLabs पर रीडायरेक्ट करता है और कनेक्शन बन जाता है। Slack वर्कस्पेस ID अपने-आप रिकॉर्ड होती है और ट्रिगर कॉन्फ़िगर करते समय इस्तेमाल होती है।

विकल्प B — अपना Slack ऐप इस्तेमाल करें

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

1

Slack ऐप बनाएं

Slack API: Your Apps पर जाएं और Create New App > From scratch पर क्लिक करें। ऐप को नाम दें और वह Slack वर्कस्पेस चुनें जिसमें इसे इंस्टॉल करना है।

2

बॉट स्कोप जोड़ें

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- से शुरू होता है)।

3

साइनिंग सीक्रेट कॉपी करें

Basic Information > App Credentials खोलें और Signing Secret कॉपी करें।

4

ElevenLabs में कनेक्शन बनाएं

ElevenLabs डैशबोर्ड में Integrations पर जाएं, Add integration बटन पर क्लिक करें और Slack चुनें। Bring your own app क्रेडेंशियल चुनें। बॉट टोकन और साइनिंग सीक्रेट पेस्ट करें, फिर सेव करें। ElevenLabs Slack के साथ टोकन वेरिफ़ाई करता है और आपकी वर्कस्पेस id रिकॉर्ड करता है।

कनेक्शन बनने के बाद, कनेक्शन पेज आपके Slack ऐप की पहचान से बने दो वेबहुक URL दिखाता है। उसी ElevenLabs वर्कस्पेस से दोबारा कनेक्ट किया गया वही Slack ऐप हमेशा वही URL बनाता है — इसलिए आप Slack ऐप की कॉन्फ़िगरेशन फिर से अपडेट किए बिना कनेक्शन हटा और दोबारा बना सकते हैं। अगले चरणों के लिए वह पेज खुला रखें।

5

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 दोनों इवेंट भेज सकता है, जिससे एजेंट दो बार जवाब देता है।

6

Interactivity कॉन्फ़िगर करें

Interactivity & Shortcuts खोलें, इंटरैक्टिविटी सक्षम करें और ElevenLabs कनेक्शन पेज से Interactivity URL को Request URL में पेस्ट करें।

7

मांगे जाने पर दोबारा इंस्टॉल करें

अगर स्कोप या इवेंट बदलने के बाद Slack ऐप दोबारा इंस्टॉल करने के लिए कहे, तो बदलाव लागू करने के लिए ऐसा करें।

साझा ElevenLabs OAuth ऐप के ज़रिए एक Slack वर्कस्पेस को सिर्फ़ एक बार कनेक्ट किया जा सकता है। किसी अलग ElevenLabs वर्कस्पेस से दोबारा इंस्टॉल करने पर duplicate Slack workspace त्रुटि मिलती है — पहले मौजूदा कनेक्शन हटाएं। अपने ऐप वाले कनेक्शन स्वतंत्र होते हैं और इनमें टकराव नहीं होता।

OAuth स्कोप

ElevenLabs Slack ऐप इन स्कोप का अनुरोध करता है:

स्कोपउद्देश्य
app_mentions:readवे संदेश पाएं जिनमें बॉट को @-मेंशन किया गया है।
channels:historyउन पब्लिक चैनलों के संदेश पढ़ें जिनमें बॉट है।
channels:joinट्रिगर बनने पर बॉट को पब्लिक चैनलों में अपने-आप शामिल होने दें।
channels:manageचैनल मैनेजमेंट कार्रवाइयां करें।
chat:writeचैनलों और थ्रेड में संदेश पोस्ट करें।
files:readसंदेशों से अटैच की गई फ़ाइलें डाउनलोड करें, ताकि एजेंट इमेज और PDF पढ़ सके।
groups:historyउन प्राइवेट चैनलों के संदेश पढ़ें जिनमें बॉट है।
groups:writeप्राइवेट चैनलों में काम करें।
im:historyबॉट के साथ डायरेक्ट मैसेज चैनलों के संदेश पढ़ें।
reactions:writeरिएक्शन जोड़ें और हटाएं, जिनका इस्तेमाल संदेशों और एजेंट टूल के थिंकिंग इंडिकेटर के लिए होता है।

एजेंट टूल

जब आप किसी एजेंट में Slack टूल जोड़ते हैं, तो ये बिल्ट-इन टूल उपलब्ध होते हैं:

टूलविवरण
slack_add_reactionइमोजी रिएक्शन जोड़ता है। डिफ़ॉल्ट रूप से, चैनल और संदेश ts को integration__slack_channel_id और integration__slack_trigger_message_ts से भरा जाता है; मॉडल सिर्फ़ इमोजी शॉर्टकोड चुनता है (कोलन के बिना), उदाहरण के लिए thumbsup। Slack-ट्रिगर वाली बातचीत के बाहर ये वेरिएबल मौजूद नहीं होते, जब तक आप उन्हें सेट न करें—अगर मॉडल को चैनल और ts साफ़ तौर पर पास करना हो, तो टूल स्कीमा बदलें।
slack_remove_reactionइमोजी रिएक्शन हटाता है (जोड़ने वाले टूल जैसे ही डिफ़ॉल्ट)। Slack के अनुसार, कॉल करने वाला बॉट सिर्फ़ वही रिएक्शन हटा सकता है जिन्हें उसने खुद जोड़ा था; reactions.remove देखें।

कनेक्शन हटाना

Integrations पेज से कनेक्शन हटाने पर Slack वर्कस्पेस से ElevenLabs Slack ऐप अनइंस्टॉल हो जाता है। हटाने के बाद, बॉट किसी भी चैनल में मौजूद नहीं रहता।

अपने ऐप वाले कनेक्शन के लिए, ElevenLabs उस ऐप को अनइंस्टॉल नहीं कर सकता जिसका स्वामित्व उसका नहीं है — कनेक्शन हटाने से सिर्फ़ लोकल मैपिंग हटती है। अपने Slack वर्कस्पेस से बॉट को पूरी तरह हटाने के लिए, Slack एडमिन सेटिंग्स से ऐप अनइंस्टॉल करें।

ट्रिगर कॉन्फ़िगर करें

इंटीग्रेशन एक ट्रिगर, SlackMessage, उपलब्ध कराता है। कॉन्फ़िगर किए गए चैनल में बॉट को नया यूज़र संदेश दिखने पर यह सक्रिय होता है।

1

SlackMessage ट्रिगर जोड़ें

अपने एजेंट के कॉन्फ़िगरेशन पेज पर नया ट्रिगर जोड़ें और SlackMessage चुनें।

2

एजेंट और चैनल चुनें

ट्रिगर फ़ील्ड कॉन्फ़िगर करें:

  • Agent: बातचीत संभालने वाला एजेंट।
  • Channel ID: Slack चैनल ID, उदाहरण के लिए C0123456789। UI में Slack में चैनल खोलने के लिए डीप लिंक मिलता है।
3

ट्रिगर सेव करें

ट्रिगर सेव करें। ElevenLabs बॉट को पब्लिक चैनलों में अपने-आप आमंत्रित करता है। बाद में ट्रिगर हटाने पर बॉट वह चैनल छोड़ देता है।

Slack ऐप्स को प्राइवेट चैनलों में अपने-आप शामिल होने की अनुमति नहीं देता। प्राइवेट चैनल के लिए, ट्रिगर सेव करने के बाद उस चैनल में /invite @Eleven चलाएं, ताकि बॉट संदेश देख सके।

हर (Slack workspace, channel) जोड़ी के लिए सिर्फ़ एक ट्रिगर की अनुमति है। डुप्लिकेट बनाने के बजाय मौजूदा ट्रिगर संपादित करें।

DM ट्रिगर कॉन्फ़िगर करें

SlackDirectMessage ट्रिगर किसी भी Slack यूज़र को बॉट को डायरेक्ट मैसेज भेजकर एजेंट से चैट करने देता है। चैनल ट्रिगर के विपरीत, इसमें @ मेंशन की ज़रूरत नहीं है — बॉट के साथ DM में यूज़र का भेजा हर संदेश प्रोसेस होता है।

1

SlackDirectMessage ट्रिगर जोड़ें

अपने एजेंट के कॉन्फ़िगरेशन पेज पर नया ट्रिगर जोड़ें और SlackDirectMessage चुनें।

2

एजेंट चुनें

DM बातचीत संभालने वाला Agent चुनें।
3

ट्रिगर सेव करें

ट्रिगर सेव करें। वर्कस्पेस का कोई भी Slack यूज़र अब बॉट के साथ DM खोलकर बातचीत शुरू कर सकता है।

BYO ऐप्स के लिए, सुनिश्चित करें कि आपने message.im बॉट इवेंट सब्सक्राइब किया है और im:history बॉट स्कोप जोड़ा है। इन्हें जोड़ने के बाद मांगे जाने पर ऐप दोबारा इंस्टॉल करें।

हर Slack कनेक्शन के लिए सिर्फ़ एक DM ट्रिगर की अनुमति है। एजेंट बदलने के लिए, मौजूदा ट्रिगर संपादित करें।

Slack में बॉट से बात करना

ट्रिगर सक्रिय होने और बॉट के चैनल में होने के बाद, चैनल थ्रेड में बातचीत शुरू करें। थ्रेड कैसे जारी रखना है, यह आपके Slack ऐप के इवेंट सब्सक्रिप्शन पर निर्भर करता है (OAuth सिर्फ़-उल्लेख वाला व्यवहार इस्तेमाल करता है)।

सिर्फ़-उल्लेख (app_mention)

1

उल्लेख के साथ थ्रेड शुरू करें

नया थ्रेड शुरू करने के लिए चैनल में बॉट का उल्लेख करें, उदाहरण के लिए @Eleven what's the status of order 1234?। बॉट उस संदेश के नीचे थ्रेड में जवाब देता है।

2

थ्रेड जारी रखें

जिन संदेशों का जवाब आप बॉट से चाहते हैं, उन सभी में बॉट का फिर से उल्लेख करें, उसी थ्रेड के अंदर फॉलो-अप में भी। उल्लेख के बिना संदेशों को अनदेखा किया जाता है।

सभी संदेश (message.channels, message.groups)

1

थ्रेड शुरू करें

उस चैनल में कोई भी संदेश भेजें जहां बॉट मौजूद है। बॉट उस संदेश के नीचे थ्रेड में जवाब देता है। आपको बॉट को @-मेंशन करने की ज़रूरत नहीं है।

2

थ्रेड जारी रखें

बॉट का उल्लेख किए बिना उसी थ्रेड में जवाब दें। थ्रेड का हर नया संदेश प्रोसेस होता है।

जब बॉट जवाब बना रहा होता है, वह यूज़र के ट्रिगर करने वाले संदेश पर :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 से चलता है, तो प्रॉम्प्ट और टूल में ये डायनामिक वेरिएबल उपलब्ध होते हैं:

वेरिएबलविवरण
integration__slack_channel_idSlack चैनल ID।
integration__slack_thread_tsSlack थ्रेड टाइमस्टैम्प।
integration__slack_user_idSlack भेजने वाले की ID। यह यूज़र ID है, या बिना यूज़र वाले लेगसी बॉट इवेंट्स के लिए बॉट ID।
integration__slack_team_idSlack वर्कस्पेस (टीम) ID।
integration__slack_connection_idElevenLabs इंटीग्रेशन कनेक्शन ID।
integration__slack_trigger_message_tsउस संदेश का Slack ts जिसने इस एजेंट टर्न को ट्रिगर किया (चैनल में यूनिक संदेश ID)।

इन्हें प्रॉम्प्ट और टूल कॉल में रेफरेंस करने का तरीका जानने के लिए डायनामिक वेरिएबल देखें।

समस्या निवारण

फ़ाइल अटैचमेंट काम नहीं कर रहे

जब कोई यूज़र Slack में इमेज या PDF अटैच करता है, लेकिन एजेंट उसे प्रोसेस नहीं करता (या ऐसा व्यवहार करता है जैसे कोई फ़ाइल भेजी ही न गई हो), तो नीचे दिए गए जांच चरणों का पालन करें।

1

पुष्टि करें कि Slack ऐप में files:read है

बॉट को Slack से अटैचमेंट डाउनलोड करने के लिए files:read बॉट स्कोप चाहिए।

  • अपना ऐप इस्तेमाल करें — Slack API: Your Apps में अपना ऐप खोलें, OAuth & Permissions पर जाएं और देखें कि Bot Token Scopes के तहत files:read सूचीबद्ध है। अगर आपने इसे हाल ही में जोड़ा है, तो ऐप को अपने वर्कस्पेस में दोबारा इंस्टॉल करें, ताकि टोकन नया स्कोप ले सके।
2

पुष्टि करें कि एजेंट मॉडल फ़ाइल इनपुट सपोर्ट करता है

फ़ाइल अटैचमेंट तभी फ़ॉरवर्ड होते हैं जब एजेंट का LLM मल्टीमॉडल इनपुट सपोर्ट करता हो — फ़ाइल प्रकार के आधार पर इमेज इनपुट और/या डॉक्यूमेंट (PDF) इनपुट। एजेंट कॉन्फ़िगरेशन में Agent टैब खोलें और चुना गया मॉडल देखें। अगर मॉडल अटैचमेंट प्रकार सपोर्ट नहीं करता, तो ऐसा मॉडल चुनें जो करता हो।

3

एजेंट सेटिंग्स में Allow file attachments सक्षम करें

एजेंट के कॉन्फ़िगरेशन पेज पर Settings > Advanced खोलें। Multimodal input के तहत Allow file attachments चालू करें। एजेंट सेव करें। इस सेटिंग के बिना, Slack अटैचमेंट को अनदेखा किया जाता है, भले ही Slack ऐप और मॉडल फ़ाइलें सपोर्ट करते हों।

उपयोगी लिंक