Slack konnektor

Csatlakoztasd a Slack munkaterületedet a Brevóhoz a Tajo segítségével valós idejű marketing értesítésekhez, csapat-riasztásokhoz ügyfél-eseményekre, és Slack interakciók által kiváltott munkafolyamat-automatizáláshoz.

Áttekintés

TulajdonságÉrték
PlatformSlack
KategóriaEgyéni integráció
Telepítés bonyolultságaKönnyű
Hivatalos integrációIgen
Szinkronizált adatokFelhasználók, Csatornák, Üzenetek, Események
API alap URLhttps://slack.com/api

Funkciók

  • Marketing riasztások – Valós idejű értesítések küldése kampányeseményekről, új feliratkozókról és bevételi mérföldkövekről
  • Ügyfél-esemény értesítések – Csapat riasztása a Brevóból érkező nagy értékű ügyfél-tevékenységekre
  • Munkafolyamat-kiváltók – Slack interakciók (gombkattintások, űrlap-beküldések) használata Brevo automatizálások indításához
  • Csatorna alapú irányítás – Értesítések irányítása meghatározott csatornákba eseménytípus vagy ügyfélszegmens alapján
  • Felhasználó-szinkronizáció – Slack munkaterület-felhasználók leképezése Brevo kapcsolatokra belső kommunikációhoz
  • Interaktív üzenetek – Gazdag üzenetek küldése gombokkal és műveletekkel csapat-munkafolyamatokhoz
  • Ütemezett üzenetek – Értesítések ütemezése napi/heti marketing összefoglalókhoz
  • Szál-támogatás – Kapcsolódó értesítések csoportosítása szálakba a rendezett kommunikációhoz

Előfeltételek

Mielőtt elkezdenéd, győződj meg róla, hogy rendelkezel:

  1. Egy Slack munkaterülettel adminisztrátori hozzáféréssel
  2. Egy Slack alkalmazással, amelyet az api.slack.com/apps oldalon hoztál létre
  3. Bot tokennel a szükséges hatókörökkel
  4. Egy Brevo fiókkal API-hozzáféréssel
  5. Egy Tajo fiókkal

Hitelesítés

Bot token (Ajánlott)

Telepíts egy Slack alkalmazást a munkaterületedre, és használd a bot tokent az API-hozzáféréshez.

  1. Hozz létre alkalmazást az api.slack.com/apps oldalon
  2. Adj hozzá szükséges OAuth hatóköröket az „OAuth & Permissions” alatt
  3. Telepítsd az alkalmazást a munkaterületre
  4. Másold ki a Bot User OAuth Token értéket (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

Több munkaterületen terjesztett Slack integráció esetén:

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}"

Szükséges bot hatókörök

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

Felhasználói e-mail hozzáférés

A users:read.email hatókör szükséges a Slack felhasználók Brevo kapcsolatokhoz való hozzárendeléséhez. Enélkül a felhasználói leképezés csak megjelenítési nevekre korlátozódik.

Konfiguráció

Alapbeállítás

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

Mezőleképezés

Képezd le a Slack felhasználói adatokat Brevo kapcsolat-attribútumokhoz:

Default Mappings

Parameter Type Description
profile.email required
string

User email (unique identifier for Brevo matching)

real_name optional
string

Full name, split into FIRSTNAME/LASTNAME

profile.phone optional
string

Maps to SMS attribute

profile.title optional
string

Job title

tz optional
string

User timezone

is_admin optional
boolean

Workspace admin status

team_id optional
string

Workspace team ID

status_text optional
string

User custom status

API módszerek

Üzenetküldés

MódszerVégpontLeírás
POSTchat.postMessageÜzenet küldése csatornába
POSTchat.updateMeglévő üzenet frissítése
POSTchat.deleteÜzenet törlése
POSTchat.scheduleMessageÜzenet ütemezése
POSTchat.postEphemeralEfemer üzenet küldése felhasználónak

Csatornák

MódszerVégpontLeírás
GETconversations.listCsatornák listázása
GETconversations.infoCsatorna információk lekérése
GETconversations.membersCsatorna tagok listázása
GETconversations.historyCsatorna üzenetek lekérése

Felhasználók

MódszerVégpontLeírás
GETusers.listMunkaterület-felhasználók listázása
GETusers.infoFelhasználó információk lekérése
GETusers.lookupByEmailFelhasználó keresése e-mail alapján
GETusers.conversationsFelhasználó csatornáinak listázása

Interakciók

MódszerVégpontLeírás
POSTviews.openModális nézet megnyitása
POSTviews.updateModális nézet frissítése
POSTreactions.addEmoji reakció hozzáadása

Események

Brevo-ból Slack-be irányuló értesítések

EseményKiváltó okSlack művelet
new_subscriberKapcsolat létrehozva a BrevóbanKözzététel a #marketing csatornában
campaign_sentE-mail kampány elküldveÖsszefoglaló közzététele a #marketing csatornában
order_placedNagy értékű rendelés észlelveKözzététel a #sales csatornában részletekkel
cart_abandonedKosár 30 percig elhagyvaKözzététel a #sales csatornában követéshez
ticket_createdSupport jegy megnyitvaKözzététel a #support csatornában
unsubscribedKapcsolat leiratkozottRiasztás közzététele a #marketing csatornában

Slack-ből Brevo-ba irányuló kiváltók

Slack eseményKiváltó okBrevo művelet
message_actionEgyéni üzenet-parancsKapcsolat hozzáadása listához vagy automatizálás indítása
block_actionsGombkattintás üzenetbenKapcsolat-attribútum frissítése vagy e-mail küldése
view_submissionModális űrlap beküldveKapcsolat létrehozása vagy munkafolyamat indítása

Kódpéldák

A konnektor inicializálása

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
});

Marketing értesítések küldése

// 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 interakciók kezelése

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();
});

Ráta-korlátok

A Slack API ráta-korlátjai szintezett rendszert használnak:

SzintKorlátÁltalános módszerek
1. szint1 kérés/percchat.delete, conversations.kick
2. szint20 kérés/percconversations.history, users.info
3. szint50 kérés/percconversations.list, users.list
4. szint100 kérés/percchat.postMessage
SpeciálisVáltozóchat.postMessage ugyanabba a csatornába: 1/mp

További korlátok:

  • Web API – Burst korlát rövid távú szabályozással
  • Events API – Kézbesítési újrapróbálkozások 3 kísérlettel
  • Bejövő Webhooks – 1 üzenet/másodperc webhook URL-enként
  • Block Kit – Maximum 50 blokk üzenetenként

Csatorna közzétételi ráta

Ugyanabba a csatornába való közzététel körülbelül 1 üzenet/másodpercre korlátozott. Kötegelj értesítéseket vagy használj szálakat a ráta-korlátok elkerüléséhez.

Hibaelhárítás

Gyakori problémák

ProblémaOkMegoldás
not_authedÉrvénytelen bot tokenTelepítsd újra az alkalmazást és másold ki az új bot tokent
channel_not_foundBot nincs a csatornábanHívd meg a botot a célcsatornába
missing_scopeSzükséges hatókör nincs megadvaAdd hozzá a hatókört és telepítsd újra az alkalmazást
Esemény nem érkezett megEsemény-előfizetés nincs beállítvaKonfiguráld az Event Subscriptions URL-t
Interakció időtúllépésVálasz >3 másodpercVálaszolj azonnal 200-zal, dolgozd fel aszinkron

Hibakeresési mód

Engedélyezd a részletes naplózást:

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

Kapcsolat tesztelése

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

Legjobb gyakorlatok

  1. Használj Block Kitet – Gazdag, interaktív üzeneteket építs a Slack Block Kit keretrendszerével
  2. Válaszolj gyorsan – Ismerd el az interakciókat 3 másodpercen belül, dolgozd fel aszinkron
  3. Csoportosítsd az üzeneteket szálakba – Kapcsolódó értesítéseket szálakba gyűjtsd a zaj csökkentéséhez
  4. Irányítsd csatornák szerint – Különböző eseménytípusokat küldjél a megfelelő csapat-csatornákba
  5. Adj hozzá műveletgombokat – Adj „Megtekintés a Brevóban” gombokat az ügyféladatok gyors eléréséhez
  6. Implementálj unfurlinget – Mutass gazdag előnézeteket a Slackben megosztott Brevo linkekhez

Biztonság

  • Bot token – OAuth hatókörrel korlátozott hozzáférési token részletes jogosultságokkal
  • Kérés-aláírás – HMAC SHA-256 aláírás-ellenőrzés bejövő kérésekhez
  • OAuth 2.0 – Iparági szabványú engedélyezés több munkaterületen történő terjesztéshez
  • TLS titkosítás – Minden API kommunikáció HTTPS-en keresztül titkosítva
  • Token rotáció – Automatikus token rotáció a fokozott biztonságért

Kapcsolódó források

Subscribe to updates

developer-docs

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

auto-detect
AI asszisztens

Szia! Kérdezz bármit a dokumentációról.