Slack انضمام سیٹ کریں
یہ گائیڈ بتاتی ہے کہ Slack کو کسی Control Center ورک اسپیس سے کیسے جوڑا جائے — یا تو Control Center کو ایپ بنانے دیں، یا خود اُسے بنائیں۔
پہلی بار رہنمائی کے ساتھ چلانے کے لیے دیکھیں Slack کو اپنے ورک اسپیس سے جوڑیں۔
پیشگی شرائط
سیکشن کا عنوان “پیشگی شرائط”- Control Center ورک اسپیس میں
ownerیاadminکردار — چیٹ ایپ جوڑنا ورک اسپیس کی ترتیبات میں تبدیلی ہے - Slack ورک اسپیس میں ایپس بنانے اور انسٹال کرنے کی اجازت
- عوامی طور پر قابلِ رسائی کچھ بھی نہیں: کنکشن آؤٹ باؤنڈ (Socket Mode) ہے، اس لیے سرور کو نہ کوئی اِن باؤنڈ پورٹ چاہیے، نہ ٹنل، نہ ڈومین
ایپ حاصل کرنے کے تین طریقے
سیکشن کا عنوان “ایپ حاصل کرنے کے تین طریقے”| راستہ | آپ کیا فراہم کرتے ہیں | Control Center کیا کرتا ہے |
|---|---|---|
| رہنمائی شدہ | ایپ کنفیگریشن ٹوکن (xoxe-…) |
ایپ کو درست اسکوپس، ایونٹس، Socket Mode اور سلیش کمانڈ کے ساتھ بناتا ہے؛ اور وہ دو مراحل آپ کے حوالے کرتا ہے جن کے لیے Slack کے پاس کوئی API نہیں |
| Slack میں بنائیں | کچھ نہیں | Slack کو وہی کنفیگریشن پہلے سے بھری ہوئی کے ساتھ کھولتا ہے؛ آپ ورک اسپیس چنتے اور تصدیق کرتے ہیں |
| ہاتھ سے | تیار ایپ کے ٹوکنز | اُن کی تصدیق کرتا ہے اور منسلک ہو جاتا ہے |
رہنمائی والا راستہ ہی واحد ہے جو ایپ کو Control Center سے قابلِ انتظام بھی رکھتا ہے، اور یہی چیز چیٹ بوٹ حسب ضرورت بنائیں کو ممکن بناتی ہے۔ Slack میں بنائیں سے بنی ایپ کو بعد میں کنیکٹ ڈائیالگ میں کنفیگریشن ٹوکن پیسٹ کر کے قابلِ انتظام بنایا جا سکتا ہے۔
جان بوجھ کر کوئی “Control Center کی Slack ایپ انسٹال کریں” بٹن موجود نہیں۔ تقسیم شدہ Slack ایپ انسٹال کرنے کے لیے مشترکہ کلائنٹ سیکرٹ درکار ہوتا ہے (Slack میں PKCE نہیں ہے) اور Socket Mode کسی ایپ کے ایونٹس تصادفی طور پر اُس کے تمام کنکشنز میں تقسیم کر دیتا ہے — چنانچہ ایک مشترکہ ایپ آپ کے ورک اسپیس کے پیغامات دوسروں کے سرورز تک پہنچا دیتی۔ اس لیے ہر ورک اسپیس اپنی ایپ کی مالک ہے اور یہ تینوں راستے اِسی بات کے بارے میں ہیں کہ اِس کی قیمت آپ کو کتنا کم کام پڑتی ہے۔
آپشن A: Control Center کو ایپ بنانے دیں
سیکشن کا عنوان “آپشن A: Control Center کو ایپ بنانے دیں”- api.slack.com/apps پر ایپ کنفیگریشن ٹوکن کا جوڑا بنائیں اور ریفریش ٹوکن کاپی کریں (
xoxe-…) - Control Center میں ترتیبات → ورک اسپیس → عام پر جائیں اور چیٹ برجز کارڈ تک اسکرول کریں
- Slack بلاک پر میرے لیے ایپ بنائیں پر کلک کریں
- ٹوکن پیسٹ کریں، ایپ کا نام، بوٹ کا نام، تفصیلات اور سلیش کمانڈ ایڈجسٹ کریں، پھر ایپ بنائیں پر کلک کریں
- ڈائیالگ میں دکھائے گئے باقی دو مراحل پر عمل کریں، جن میں سے ہر ایک Slack میں جانے والا لنک ہے:
- Basic Information → App-Level Tokens:
connections:writeاسکوپ کے ساتھ ٹوکن بنائیں (xapp-…) - Install App: ورک اسپیس میں انسٹال کریں اور Bot User OAuth Token کاپی کریں (
xoxb-…)
- Basic Information → App-Level Tokens:
- کریڈینشلز پیسٹ کریں پر کلک کریں اور منسلک کرنا کے ساتھ آگے بڑھیں
کنفیگریشن ٹوکن ہر استعمال پر بدل جاتا ہے۔ Control Center بدلی ہوئی قدر اُسی وقت محفوظ کر لیتا ہے، اس لیے آپ کو اُسے دوبارہ کبھی پیسٹ نہیں کرنا پڑتا۔
آپشن B: Slack میں بنائیں، پہلے سے بھری ہوئی
سیکشن کا عنوان “آپشن B: Slack میں بنائیں، پہلے سے بھری ہوئی”وہی ایپ، بغیر کنفیگریشن ٹوکن — Slack اپنی بنانے کی اسکرین آپ کے حوالے کرتا ہے جس میں پورا مینیفیسٹ پہلے سے بھرا ہوتا ہے۔
- Control Center میں ترتیبات → ورک اسپیس → عام پر جائیں اور چیٹ برجز کارڈ تک اسکرول کریں
- Slack بلاک پر میرے لیے ایپ بنائیں پر کلک کریں
- ایپ کا نام، بوٹ کا نام، تفصیلات اور سلیش کمانڈ ایڈجسٹ کریں — یہ لنک کے ساتھ ساتھ جاتے ہیں
- Slack میں بنائیں پر کلک کریں۔ آپ کا براؤزر Slack کا ایپ بنانے والا صفحہ کنفیگریشن پہلے سے بھری ہوئی کے ساتھ کھولتا ہے
- Slack ورک اسپیس چنیں اور تصدیق کریں۔ اسکوپس، ایونٹس، Socket Mode اور سلیش کمانڈ پہلے ہی درست ہیں
- Control Center میں واپس آ کر ڈائیالگ کے دکھائے گئے باقی دو مراحل پر عمل کریں:
- Basic Information → App-Level Tokens:
connections:writeاسکوپ کے ساتھ ٹوکن بنائیں (xapp-…) - Install App: ورک اسپیس میں انسٹال کریں اور Bot User OAuth Token کاپی کریں (
xoxb-…)
- Basic Information → App-Level Tokens:
- کریڈینشلز پیسٹ کریں پر کلک کریں اور منسلک کرنا کے ساتھ آگے بڑھیں
Slack یہ نہیں بتاتا کہ اُس نے کون سی ایپ بنائی، اس لیے Control Center کو ایپ کی id معلوم نہیں ہوتی اور مرحلہ 6 کے لنک اُس ایپ کی بجائے آپ کی ایپوں کی فہرست پر لے جاتے ہیں۔ بوٹ حسبِ ضرورت کے لیے کنفیگریشن ٹوکن درکار ہے۔
آپشن C: ایپ خود بنائیں
سیکشن کا عنوان “آپشن C: ایپ خود بنائیں”api.slack.com/apps پر ایپ بنائیں، پھر اُسے اِس طرح سیٹ اپ کریں۔
Socket Mode: اُسے فعال کریں اور ہر request URL خالی چھوڑ دیں۔ Slack ایسا مینیفیسٹ مسترد کر دیتا ہے جو Socket Mode اور webhook ڈیلیوری دونوں مانگے۔
Bot token scopes (OAuth & Permissions):
app_mentions:readassistant:writechannels:historychat:writecommandsgroups:historyim:historyusers:readusers:read.emailEvent subscriptions (بوٹ ایونٹس):
app_home_openedapp_mentionmessage.channelsmessage.groupsmessage.immessage.channels اور message.groups ہی وہ چیز ہیں جو پہلے سے برج شدہ Slack تھریڈ کے اندر جواب کو کام کرنے دیتی ہیں۔ اِن کے بغیر صرف پہلا ذکر ہی پہنچتا ہے۔
سلیش کمانڈ: /cc (کوئی بھی نام چل جاتا ہے — برج وہی کمانڈ استعمال کرتا ہے جس کے ساتھ اُسے آخری بار چلایا گیا تھا)۔
App Home: Messages ٹیب فعال کریں اور اُسے قابلِ تحریر رہنے دیں، تاکہ اراکین بوٹ کو براہِ راست پیغام بھیج سکیں۔
ٹوکنز: connections:write کے ساتھ ایپ لیول ٹوکن بنائیں، پھر ایپ انسٹال کریں اور بوٹ یوزر OAuth ٹوکن کاپی کریں۔
منسلک کرنا
سیکشن کا عنوان “منسلک کرنا”- ترتیبات → ورک اسپیس → عام پر جائیں اور چیٹ برجز کارڈ تک اسکرول کریں
- Slack بلاک پر Slack منسلک کریں پر کلک کریں
- فیلڈز بھریں:
| فیلڈ | قدر | Slack میں یہ کہاں ہے |
|---|---|---|
| بوٹ یوزر OAuth ٹوکن | xoxb-… |
OAuth & Permissions → Bot User OAuth Token |
| ایپ لیول ٹوکن | xapp-… |
Basic Information → App-Level Tokens (connections:write) |
| ایپ کنفیگریشن ریفریش ٹوکن (اختیاری) | xoxe-… |
api.slack.com/apps پر ایپ کنفیگریشن ٹوکن کا جوڑا |
ہر قدر کا سابقہ کچھ بھیجنے سے پہلے دونوں طرف جانچا جاتا ہے، اس لیے غلط خانے میں پیسٹ کی گئی قدر دونوں صورتوں میں ایک ہی جملے کے ساتھ مسترد ہوتی ہے۔
- منسلک ہوں پر کلک کریں
Control Center بوٹ ٹوکن کی تصدیق Slack کے auth.test سے کچھ بھی محفوظ کرنے سے پہلے کرتا ہے، اس لیے کوئی ٹائپو اُس سوکٹ میں بدلنے کے بجائے جو خاموشی سے کبھی کام نہ کرے، آپ کو رپورٹ کر دیا جاتا ہے۔ ایپ لیول ٹوکن کا ثبوت صرف سوکٹ کھول کر دیا جا سکتا ہے، اس لیے خراب ٹوکن ایک لمحے بعد اُسی قطار پر کنکشن کی خرابی کے طور پر ظاہر ہوتا ہے۔
اختیاری ایپ کنفیگریشن ٹوکن کے بغیر کنکشن بالکل ٹھیک چلتا ہے — آپ بس Control Center سے بوٹ میں ترمیم نہیں کر سکتے۔
منسلک ہونے سے کیا ہوتا ہے
سیکشن کا عنوان “منسلک ہونے سے کیا ہوتا ہے”- اسناد کو ورک اسپیس کی اپنی ڈائریکٹری میں، اُس کے ڈیٹا بیس کے پہلو میں محفوظ کرتا ہے، اور صرف مالک اُنہیں پڑھ سکتا ہے۔ وہ کبھی کسی کلائنٹ تک واپس نہیں جاتیں
- اِس ورک اسپیس کے لیے ایک Socket Mode کنکشن کھولتا ہے اور ذکر، Slack تھریڈ جوابات، براہِ راست پیغامات اور سلیش کمانڈز وصول کرنا شروع کر دیتا ہے
- اُن تمام Slack تھریڈز کو دوبارہ فعال کرتا ہے جو پہلے برج کیے گئے تھے، تاکہ دوبارہ منسلک ہونے پر موجودہ گفتگوئیں بے سہارا ہونے کے بجائے جاری رہیں
- اُن ورک اسپیسز کے لیے کچھ بھی خرچ نہیں کرتا جن کے پاس کوئی چیٹ ایپ نہیں: نہ سوکٹ، نہ ٹائمر، نہ ٹریفک
Slack کی قطار ایک اسٹیٹس ٹیگ دکھاتی ہے: لائیو، منسلک ہو رہا ہے…، کنکشن خرابی (ساتھ ہی Slack کی اپنی خرابی)، یا منسلک نہیں۔ سرتاسر جانچنے کے لیے:
- Slack میں بوٹ کو کسی چینل میں مدعو کریں:
/invite @your-bot-name - اُس کا ذکر کرتے ہوئے کوئی درخواست دیں
- Slack تھریڈ میں ایک جواب ظاہر ہوتا ہے اور Control Center میں ایک مطابق اسپیس بن جاتی ہے
پھر ہر وہ رکن جو برج استعمال کرنا چاہے، اپنا اکاؤنٹ لنک کرتا ہے — دیکھیں اپنا Slack اکاؤنٹ لنک کریں۔
Slack میں جواب کیسی شکل میں آتا ہے
سیکشن کا عنوان “Slack میں جواب کیسی شکل میں آتا ہے”اسٹریم ہوتے الفاظ کے اوپر ایک گروہ بند کارڈ ہوتا ہے جس میں ہر مرحلے کے لیے ایک قطار ہوتی ہے۔ سیٹ اپ ایک قطار ہے جس کا عنوان Working on it… سے Cloning … اور پھر Starting the agent… ہوتا ہوا آگے بڑھتا ہے۔ استدلال ایک Thinking… قطار شامل کرتا ہے؛ وہ مرحلہ مکمل ہونے پر اُس پر ایک مختصر سوچ ظاہر ہو سکتی ہے۔ ہر ٹول کی اپنی قطار ہوتی ہے (Read lib/main.dart)۔ جواب کارڈ کے نیچے عام متن کے طور پر آتا ہے۔ باری ختم ہونے پر کارڈ مکمل ہو جاتا ہے اور رن ناکام ہونے، رُکنے یا اپنی باری کی حد کو چھو جانے پر خراب شدہ ہو جاتا ہے۔
کارڈ اُسی لمحے شروع ہو جاتا ہے جب بوٹ ذکر قبول کرتا ہے — Working on it… — تاکہ ورک اسپیس ابھی بن ہی رہی ہو تب بھی Slack تھریڈ خاموش نہ رہے۔ Slack چینل میں آپ کا پہلا ذکر گفتگو بناتا ہے، جو اُن ریپوز کو کلون کرتا ہے جن میں ایجنٹ کام کرتا ہے، چنانچہ وہ سیٹ اپ قطار پھر Cloning acme/widgets…، پھر Setting up Reviewer…، پھر Starting the agent… پڑھتی ہے، اور ایجنٹ کے واقعی استدلال شروع کرنے پر ایک Thinking… قطار۔ کسی بڑی ریپوزٹری پر وہ پہلا سیٹ اپ کچھ وقت لیتا ہے؛ کارڈ ہی وہ چیز ہے جس سے آپ جان سکتے ہیں کہ یہ کام کر رہا ہے، آپ کو نظر انداز نہیں کر رہا۔ اُسی Slack تھریڈ میں بعد کے ذکر پھر بھی Working on it… کے ساتھ کھلتے ہیں، پھر کلون کے مراحل چھوڑ دیتے ہیں کیونکہ ورک اسپیس وہاں پہلے سے موجود ہوتی ہے۔
متن اور ٹول آؤٹ پٹ کی دیوار کی صورت میں استدلال کبھی Control Center سے باہر نہیں جاتا — Thinking… قطار پر سوچ ایک مختصر سطر ہوتی ہے، ٹرانسکرپٹ نہیں۔ کارڈ پر View in Control Center پوری گفتگو ڈیسک ٹاپ ایپ میں کھولتا ہے — لنک آپ کے اپنے Control Center سرور کی طرف جاتا ہے، جو براؤزر کو ایپ کے حوالے کر دیتا ہے۔
اگر اُس پر کلک کرنے سے کچھ نہ ہو تو جس مشین سے آپ نے کلک کیا، اُس سے وہ سرور قابلِ رسائی نہیں جس نے پیغام بھیجا (مثلاً صرف loopback پر سننے والا سرور جس پر فون سے کلک کیا گیا ہو)، یا وہاں Control Center چل ہی نہیں رہا۔ جس سرور کا کوئی قابلِ رسائی پتہ نہ ہو، وہ ایسا بٹن والا کارڈ نہیں بھیجتا جو کہیں نہ پہنچے، بلکہ بغیر بٹن کا کارڈ بھیجتا ہے۔
ٹوکن روٹیٹ کریں
سیکشن کا عنوان “ٹوکن روٹیٹ کریں”کنیکٹ ڈائیالگ میں نئی قدر دوبارہ پیسٹ کریں اور منسلک ہوں پر کلک کریں۔ منسلک ہونا اُس کنکشن کی جگہ لے لیتا ہے جو اِس ورک اسپیس کے لیے چل رہا تھا، اس لیے سوکٹ نئی اسناد کے ساتھ دوبارہ ڈائل ہوتا ہے۔
دو لازمی ٹوکنز ہر بار منسلک ہوتے وقت موجود ہونے چاہئیں۔ اختیاری ایپ کنفیگریشن ٹوکن، خانہ خالی چھوڑنے پر اپنی محفوظ قدر برقرار رکھتا ہے، اس لیے بوٹ ٹوکن روٹیٹ کرنے سے ایپ میں ترمیم کی صلاحیت کبھی ختم نہیں ہوتی۔
منقطع کریں
سیکشن کا عنوان “منقطع کریں”Slack کی قطار پر منقطع کریں پر کلک کریں (صرف ایڈمن)۔ سوکٹ بند ہو جاتا ہے اور اسناد بھلا دی جاتی ہیں۔
اسپیس اور صارف کے لنک جان بوجھ کر باقی رہتے ہیں: وہی ایپ دوبارہ منسلک کرنے سے ہر برج شدہ Slack تھریڈ بحال ہو جاتا ہے۔ وہ ورک اسپیس کے دائرے کی قطاریں ہیں، اس لیے ورک اسپیس حذف کرنے پر بہر حال ہٹ جاتے ہیں۔
خرابیوں کا ازالہ
سیکشن کا عنوان “خرابیوں کا ازالہ”قطار کہتی ہے “کنکشن خرابی”
سیکشن کا عنوان “قطار کہتی ہے “کنکشن خرابی””ٹیگ کے ساتھ دکھائی گئی خرابی پڑھیں۔ مسترد شدہ سند (invalid_auth، not_authed، token_revoked، account_inactive) حتمی ہوتی ہے — برج دوبارہ کوشش کرنا چھوڑ دیتا ہے اور نئے ٹوکنز کا انتظار کرتا ہے، کیونکہ منسوخ شدہ ٹوکن کو ہمیشہ دوبارہ آزمانا صرف آپ کو rate limit کی سزا دیتا ہے۔ کنیکٹ ڈائیالگ میں ٹوکنز دوبارہ پیسٹ کریں۔
missing_scope خرابی کا مطلب ہے کہ ایپ اُن اسکوپس سے کم کے ساتھ انسٹال ہے جو برج کو درکار ہیں۔ گمشدہ اسکوپ شامل کریں، ایپ Slack میں دوبارہ انسٹال کریں، پھر دوبارہ منسلک کریں۔
کوئی بھی عارضی چیز (گرا ہوا سوکٹ، Slack کی کوئی ہچکی) خود ہی 30 سیکنڈ کی حد والے exponential backoff کے ساتھ دوبارہ منسلک ہو جاتی ہے اور Slack کی معمول کی سوکٹ روٹیشن اُس backoff کو بڑھاتی نہیں۔
بوٹ کسی ذکر کا جواب نہیں دیتا
سیکشن کا عنوان “بوٹ کسی ذکر کا جواب نہیں دیتا”- کیا بوٹ چینل میں ہے؟ Slack چینل کے پیغامات صرف اُن ایپس تک پہنچاتا ہے جو اُس کے اراکین ہوں۔
/invite @your-bot-nameچلائیں - کیا آپ لنک شدہ ہیں؟ غیر لنک شدہ رکن کو اُسی Slack تھریڈ میں جواب ملتا ہے جس میں لنک کرنے کا طریقہ بتایا جاتا ہے۔ دیکھیں اپنا Slack اکاؤنٹ لنک کریں
- کیا آپ لکھنے کے کردار والے رکن ہیں؟
viewerیاguestکو بتایا جاتا ہے کہ اُس کا کردار صرف پڑھنے کا ہے۔ برج کبھی کسی ایسے شخص کی طرف سے کام شروع نہیں کرتا جسے وہ منسوب نہ کر سکے - کیا ورک اسپیس میں کوئی ایجنٹ ہے؟ ایجنٹس کے بغیر پیغام محفوظ تو ہو جاتا ہے مگر اُس کا جواب دینے والا کوئی نہیں ہوتا
چینل میں جواب دیتا ہے مگر سادہ پیغامات نظر انداز کر دیتا ہے
سیکشن کا عنوان “چینل میں جواب دیتا ہے مگر سادہ پیغامات نظر انداز کر دیتا ہے”یہ جان بوجھ کر ہے۔ براہِ راست پیغام کے علاوہ، برج صرف ایسے پیغام پر عمل کرتا ہے جس میں بوٹ کا ذکر ہو، یا ایسے جواب پر جو اُس Slack تھریڈ کے اندر ہو جس کا وہ پہلے سے مالک ہے۔ باقی سب دوسروں کی گفتگو ہے۔
جوابات اسٹریم ہونے کے بجائے ایک بڑے پیغام کے طور پر آتے ہیں
سیکشن کا عنوان “جوابات اسٹریم ہونے کے بجائے ایک بڑے پیغام کے طور پر آتے ہیں”قطار کہتی ہے “اس Slack ایپ کے لیے لائیو اسٹریمنگ آف ہے — جوابات ایک پیغام میں آتے ہیں۔” Slack کے اسٹریمنگ جوابات کو کسی پیڈ پلان پر Agents & AI Apps فیچر درکار ہوتا ہے؛ جب Slack انکار کر دے تو برج اُس کنکشن کی پوری عمر کے لیے پوچھنا چھوڑ دیتا ہے اور اُس کے بجائے مکمل جواب بھیجتا ہے۔ کچھ ضائع نہیں ہوتا — مکمل ٹرانسکرپٹ ہمیشہ Control Center میں ہوتا ہے۔
اسٹریمنگ کو Slack تھریڈ اینکر بھی درکار ہوتا ہے، اس لیے ایسا جواب جس کے پاس بڑھنے کے لیے کوئی Slack تھریڈ نہ ہو، مکمل بھیج دیا جاتا ہے۔ ٹاسک کارڈ دونوں صورتوں میں پہنچتا ہے: مکمل جواب پر وہ اُسی پیغام کے ساتھ سوار ہوتا ہے، پہلے سے مکمل۔
جواب کے اوپر کوئی کارڈ نہیں ہوتا
سیکشن کا عنوان “جواب کے اوپر کوئی کارڈ نہیں ہوتا”Slack کے ٹاسک کارڈز اُسی نئی Agents & AI Apps سطح کا حصہ ہیں جس کا حصہ اسٹریمنگ بھی ہے اور Slack صرف کال کے وقت انکار کرتا ہے۔ جب وہ انکار کرے تو Control Center جواب رکھ لیتا ہے اور اُس کنکشن کی پوری عمر کے لیے کارڈ گرا دیتا ہے — بغیر اسٹیٹس لائن کا جواب ایسی اسٹیٹس لائن سے بہتر ہے جس کے ساتھ کوئی جواب نہ ہو۔
“بوٹ ترمیم کے لیے Control Center کو ایپ کنفیگریشن ٹوکن چاہیے”
سیکشن کا عنوان ““بوٹ ترمیم کے لیے Control Center کو ایپ کنفیگریشن ٹوکن چاہیے””بوٹ حسبِ ضرورت قطار غیر فعال ہے کیونکہ کنکشن کے پاس ایپ کنفیگریشن ٹوکن نہیں۔ یہ ایسی ایپ کے لیے متوقع ہے جو ہاتھ سے یا Slack میں بنائیں کے ذریعے بنائی گئی ہو — Slack نے Control Center کو کبھی نہیں بتایا کہ وہ کون سی ایپ ہے۔ api.slack.com/apps پر ٹوکن کا جوڑا بنائیں اور ریفریش ٹوکن بھر کر دوبارہ منسلک ہوں۔
لمبا جواب کاٹ دیا جاتا ہے
سیکشن کا عنوان “لمبا جواب کاٹ دیا جاتا ہے”Slack ایک پیغام کی حد 40,000 حروف پر رکھتا ہے، اس لیے برج 39,000 پر کاٹ دیتا ہے اور Control Center کا اشارہ ساتھ لگا دیتا ہے — مختصر کیا گیا جواب اُس جواب سے بہتر ہے جسے Slack بالکل رد کر دے۔ مکمل متن ہمیشہ اسپیس کے ٹرانسکرپٹ میں ہوتا ہے۔