Slack کنیکٹر

ریئل ٹائم مارکیٹنگ نوٹیفکیشنز، گاہک ایونٹس پر ٹیم الرٹس، اور Slack تعاملات سے ٹرگر شدہ ورک فلو آٹومیشن کے لیے Tajo کے ذریعے اپنے Slack ورک اسپیس کو Brevo سے منسلک کریں۔

جائزہ

خاصیتقدر
پلیٹ فارمSlack
زمرہکسٹم انٹیگریشن
سیٹ اپ کی پیچیدگیآسان
آفیشل انٹیگریشنہاں
سنک شدہ ڈیٹاصارفین، چینلز، پیغامات، ایونٹس
API بنیادی URLhttps://slack.com/api

خصوصیات

  • مارکیٹنگ الرٹس - مہم ایونٹس، نئے سبسکرائبرز، اور آمدنی کے سنگ میل کے لیے ریئل ٹائم نوٹیفکیشنز بھیجیں
  • گاہک ایونٹ نوٹیفکیشنز - Brevo سے اعلی قدر والے گاہک کے اقدامات پر ٹیموں کو الرٹ کریں
  • ورک فلو ٹرگرز - Brevo آٹومیشنز کو ٹرگر کرنے کے لیے Slack تعاملات (بٹن کلکس، فارم سبمیشنز) استعمال کریں
  • چینل پر مبنی روٹنگ - ایونٹ کی قسم یا گاہک سیگمنٹ کی بنیاد پر مخصوص چینلز پر نوٹیفکیشنز روٹ کریں
  • صارف سنک - اندرونی مواصلات کے لیے Slack ورک اسپیس صارفین کو Brevo رابطوں پر میپ کریں
  • انٹرایکٹو پیغامات - ٹیم ورک فلوز کے لیے بٹنز اور ایکشنز کے ساتھ بھرپور پیغامات بھیجیں
  • شیڈولڈ پیغامات - روزانہ/ہفتہ وار مارکیٹنگ خلاصوں کے لیے نوٹیفکیشنز شیڈول کریں
  • تھریڈ سپورٹ - منظم مواصلات کے لیے متعلقہ نوٹیفکیشنز کو تھریڈز میں گروپ کریں

شرائط

شروع کرنے سے پہلے، یقینی بنائیں کہ آپ کے پاس ہے:

  1. ایڈمن رسائی کے ساتھ Slack ورک اسپیس
  2. api.slack.com/apps پر بنائی گئی Slack ایپ
  3. مطلوبہ اسکوپس کے ساتھ بوٹ ٹوکن
  4. API رسائی کے ساتھ Brevo اکاؤنٹ
  5. Tajo اکاؤنٹ

تصدیق

بوٹ ٹوکن (تجویز کردہ)

اپنے ورک اسپیس میں Slack ایپ انسٹال کریں اور API رسائی کے لیے بوٹ ٹوکن استعمال کریں۔

  1. api.slack.com/apps پر ایپ بنائیں
  2. “OAuth & Permissions” کے تحت مطلوبہ OAuth اسکوپس شامل کریں
  3. ایپ کو ورک اسپیس میں انسٹال کریں
  4. Bot User OAuth Token کاپی کریں (xoxb-...)
Terminal window
curl -X POST "https://slack.com/api/chat.postMessage" \
-H "Authorization: Bearer xoxb-YOUR-BOT-TOKEN" \
-H "Content-Type: application/json" \
-d '{"channel": "C01234567", "text": "Hello from Tajo!"}'

OAuth 2.0

اپنے Slack انٹیگریشن کو متعدد ورک اسپیسز میں تقسیم کرنے کے لیے:

Terminal window
# Authorization URL
https://slack.com/oauth/v2/authorize?
client_id={client_id}&
scope=chat:write,channels:read,users:read&
redirect_uri={redirect_uri}
# Token exchange
curl -X POST "https://slack.com/api/oauth.v2.access" \
-d "client_id={client_id}" \
-d "client_secret={client_secret}" \
-d "code={auth_code}"

مطلوبہ بوٹ اسکوپس

chat:write # Send messages
channels:read # List channels
channels:history # Read channel messages
users:read # List workspace users
users:read.email # Read user email addresses
reactions:write # Add reactions to messages
files:write # Upload files

صارف ای میل رسائی

Slack صارفین کو Brevo رابطوں سے ملانے کے لیے users:read.email اسکوپ درکار ہے۔ اس کے بغیر، صارف میپنگ ڈسپلے ناموں تک محدود ہوگی۔

تشکیل

بنیادی سیٹ اپ

connectors:
slack:
enabled: true
bot_token: "${SLACK_BOT_TOKEN}"
signing_secret: "${SLACK_SIGNING_SECRET}"
# Notification channels
channels:
marketing: "C01234567"
sales: "C01234568"
support: "C01234569"
alerts: "C01234570"
# Event routing
notifications:
new_subscriber:
channel: marketing
template: subscriber_alert
high_value_order:
channel: sales
template: order_alert
support_ticket:
channel: support
template: ticket_alert

فیلڈ میپنگ

Slack صارف ڈیٹا کو Brevo رابطہ خصوصیات پر میپ کریں:

طے شدہ میپنگز

Parameter Type Description
profile.email required
string

صارف ای میل (Brevo میچنگ کے لیے منفرد شناخت کنندہ)

real_name optional
string

مکمل نام، FIRSTNAME/LASTNAME میں تقسیم

profile.phone optional
string

SMS خصوصیت پر میپ ہوتا ہے

profile.title optional
string

ملازمت کا عنوان

tz optional
string

صارف ٹائم زون

is_admin optional
boolean

ورک اسپیس ایڈمن کی حیثیت

team_id optional
string

ورک اسپیس ٹیم ID

status_text optional
string

صارف کسٹم اسٹیٹس

API طریقے

پیغام رسانی

طریقہاینڈ پوائنٹتفصیل
POSTchat.postMessageچینل پر پیغام بھیجیں
POSTchat.updateموجودہ پیغام اپ ڈیٹ کریں
POSTchat.deleteپیغام حذف کریں
POSTchat.scheduleMessageپیغام شیڈول کریں
POSTchat.postEphemeralصارف کو عارضی پیغام بھیجیں

چینلز

طریقہاینڈ پوائنٹتفصیل
GETconversations.listچینلز کی فہرست
GETconversations.infoچینل کی معلومات حاصل کریں
GETconversations.membersچینل ممبران کی فہرست
GETconversations.historyچینل پیغامات حاصل کریں

صارفین

طریقہاینڈ پوائنٹتفصیل
GETusers.listورک اسپیس صارفین کی فہرست
GETusers.infoصارف کی معلومات حاصل کریں
GETusers.lookupByEmailای میل سے صارف تلاش کریں
GETusers.conversationsصارف چینلز کی فہرست

تعاملات

طریقہاینڈ پوائنٹتفصیل
POSTviews.openموڈل ویو کھولیں
POSTviews.updateموڈل ویو اپ ڈیٹ کریں
POSTreactions.addایموجی ری ایکشن شامل کریں

ایونٹس

Brevo سے Slack نوٹیفکیشنز

ایونٹٹرگرSlack ایکشن
new_subscriberBrevo میں رابطہ بنایا گیا#marketing پر پوسٹ کریں
campaign_sentای میل مہم بھیجی گئی#marketing میں خلاصہ پوسٹ کریں
order_placedاعلی قدر کا آرڈر دریافت ہواتفصیلات کے ساتھ #sales پر پوسٹ کریں
cart_abandonedکارٹ 30 منٹ کے لیے چھوڑا گیافالو اپ کے لیے #sales پر پوسٹ کریں
ticket_createdسپورٹ ٹکٹ کھولا گیا#support پر پوسٹ کریں
unsubscribedرابطے نے ان سبسکرائب کیا#marketing پر الرٹ پوسٹ کریں

Slack سے Brevo ٹرگرز

Slack ایونٹٹرگرBrevo ایکشن
message_actionکسٹم پیغام شارٹ کٹفہرست میں رابطہ شامل کریں یا آٹومیشن ٹرگر کریں
block_actionsپیغام میں بٹن کلکرابطہ خصوصیت اپ ڈیٹ کریں یا ای میل بھیجیں
view_submissionموڈل فارم سبمٹرابطہ بنائیں یا ورک فلو ٹرگر کریں

کوڈ کی مثالیں

کنیکٹر کو انیشیلائز کریں

import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({
apiKey: process.env.TAJO_API_KEY,
brevoApiKey: process.env.BREVO_API_KEY
});
// Connect Slack
await tajo.connectors.connect('slack', {
botToken: process.env.SLACK_BOT_TOKEN,
signingSecret: process.env.SLACK_SIGNING_SECRET
});

مارکیٹنگ نوٹیفکیشنز بھیجیں

// Send a notification when a high-value order is placed
await tajo.slack.notify({
channel: 'sales',
event: 'order_placed',
data: {
customerEmail: '[email protected]',
orderValue: '$1,250.00',
products: ['Premium Widget', 'Pro Service'],
isFirstOrder: true
},
template: {
blocks: [
{
type: 'header',
text: { type: 'plain_text', text: 'New High-Value Order' }
},
{
type: 'section',
fields: [
{ type: 'mrkdwn', text: '*Customer:*\n[email protected]' },
{ type: 'mrkdwn', text: '*Amount:*\n$1,250.00' }
]
},
{
type: 'actions',
elements: [
{
type: 'button',
text: { type: 'plain_text', text: 'View in Brevo' },
url: 'https://app.brevo.com/contacts'
}
]
}
]
}
});

Slack تعاملات کو سنبھالیں

import crypto from 'crypto';
app.post('/slack/interactions', async (req, res) => {
// Verify Slack request signature
const timestamp = req.headers['x-slack-request-timestamp'];
const signature = req.headers['x-slack-signature'];
const sigBasestring = `v0:${timestamp}:${req.rawBody}`;
const mySignature = 'v0=' + crypto
.createHmac('sha256', process.env.SLACK_SIGNING_SECRET)
.update(sigBasestring)
.digest('hex');
if (signature !== mySignature) {
return res.status(401).send('Unauthorized');
}
const payload = JSON.parse(req.body.payload);
// Handle button actions
if (payload.type === 'block_actions') {
await tajo.connectors.handleWebhook('slack', {
type: 'interaction',
action: payload.actions[0].action_id,
userId: payload.user.id,
payload
});
}
res.status(200).send();
});

شرح کی حدود

Slack API شرح کی حدود ایک درجہ بندی نظام استعمال کرتی ہیں:

ٹیئرحدعام طریقے
Tier 11 درخواست/منٹchat.delete, conversations.kick
Tier 220 درخواستیں/منٹconversations.history, users.info
Tier 350 درخواستیں/منٹconversations.list, users.list
Tier 4100 درخواستیں/منٹchat.postMessage
خصوصیمختلفchat.postMessage ایک ہی چینل پر: 1/سیکنڈ

اضافی حدود:

  • Web API: مختصر مدتی تھروٹل کے ساتھ برسٹ حد
  • Events API: 3 کوششوں تک ڈیلیوری ری ٹرائی
  • Incoming Webhooks: 1 پیغام/سیکنڈ فی webhook URL
  • Block Kit: زیادہ سے زیادہ 50 بلاکس فی پیغام

چینل پوسٹنگ کی شرح

ایک ہی چینل پر پوسٹ کرنا تقریباً 1 پیغام فی سیکنڈ تک محدود ہے۔ شرح کی حد سے بچنے کے لیے بیچ نوٹیفکیشنز یا تھریڈز استعمال کریں۔

ٹربل شوٹنگ

عام مسائل

مسئلہوجہحل
not_authedغلط بوٹ ٹوکنایپ کو دوبارہ انسٹال کریں اور نیا بوٹ ٹوکن کاپی کریں
channel_not_foundبوٹ چینل میں نہیں ہےبوٹ کو ہدف چینل میں مدعو کریں
missing_scopeمطلوبہ اسکوپ نہیں دیا گیااسکوپ شامل کریں اور ایپ کو دوبارہ انسٹال کریں
ایونٹ موصول نہیں ہواایونٹ سبسکرپشن سیٹ نہیںEvent Subscriptions URL ترتیب دیں
تعامل ٹائم آؤٹجواب >3 سیکنڈفوراً 200 کے ساتھ جواب دیں، async پروسیس کریں

ڈیبگ موڈ

تفصیلی لاگنگ فعال کریں:

connectors:
slack:
debug: true
log_level: verbose
log_events: true

کنکشن ٹیسٹ کریں

Terminal window
tajo connectors test slack
# ✓ Bot token valid
# ✓ Workspace accessible
# ✓ Channels readable
# ✓ Message posting enabled
# ✓ Event subscriptions active

بہترین طرز عمل

  1. Block Kit استعمال کریں - Slack کے Block Kit فریم ورک کے ساتھ بھرپور، انٹرایکٹو پیغامات بنائیں
  2. جلدی جواب دیں - 3 سیکنڈ کے اندر تعاملات کو تسلیم کریں، asynchronously پروسیس کریں
  3. متعلقہ پیغامات کو تھریڈ کریں - شور کم کرنے کے لیے متعلقہ نوٹیفکیشنز کو تھریڈز میں گروپ کریں
  4. چینل کے ذریعے روٹ کریں - مختلف ایونٹ کی اقسام کو مناسب ٹیم چینلز پر بھیجیں
  5. ایکشن بٹنز شامل کریں - گاہک ڈیٹا تک فوری رسائی کے لیے “View in Brevo” بٹنز شامل کریں
  6. انفرلنگ نافذ کریں - Slack میں شیئر کیے گئے Brevo لنکس کے لیے بھرپور پیش نظارہ دکھائیں

سیکیورٹی

  • بوٹ ٹوکن - گرانولر اجازتوں کے ساتھ OAuth اسکوپڈ ایکسیس ٹوکن
  • درخواست دستخط - آنے والی درخواستوں کے لیے HMAC SHA-256 دستخط کی توثیق
  • OAuth 2.0 - ملٹی ورک اسپیس تقسیم کے لیے صنعتی معیار کی اجازت
  • TLS انکرپشن - تمام API مواصلات HTTPS کے ذریعے انکرپٹڈ
  • ٹوکن روٹیشن - بہتر سیکیورٹی کے لیے خودکار ٹوکن روٹیشن

متعلقہ وسائل

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

auto-detect
AI معاون

السلام علیکم! دستاویزات کے بارے میں کچھ بھی پوچھیں۔