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 |
|---|---|
| Platform | Slack |
| Kategória | Egyéni integráció |
| Telepítés bonyolultsága | Könnyű |
| Hivatalos integráció | Igen |
| Szinkronizált adatok | Felhasználók, Csatornák, Üzenetek, Események |
| API alap URL | https://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:
- Egy Slack munkaterülettel adminisztrátori hozzáféréssel
- Egy Slack alkalmazással, amelyet az api.slack.com/apps oldalon hoztál létre
- Bot tokennel a szükséges hatókörökkel
- Egy Brevo fiókkal API-hozzáféréssel
- 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.
- Hozz létre alkalmazást az api.slack.com/apps oldalon
- Adj hozzá szükséges OAuth hatóköröket az „OAuth & Permissions” alatt
- Telepítsd az alkalmazást a munkaterületre
- Másold ki a Bot User OAuth Token értéket (
xoxb-...)
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:
# Authorization URLhttps://slack.com/oauth/v2/authorize? client_id={client_id}& scope=chat:write,channels:read,users:read& redirect_uri={redirect_uri}
# Token exchangecurl -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 messageschannels:read # List channelschannels:history # Read channel messagesusers:read # List workspace usersusers:read.email # Read user email addressesreactions:write # Add reactions to messagesfiles:write # Upload filesFelhaszná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_alertMező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ódszer | Végpont | Leírás |
|---|---|---|
POST | chat.postMessage | Üzenet küldése csatornába |
POST | chat.update | Meglévő üzenet frissítése |
POST | chat.delete | Üzenet törlése |
POST | chat.scheduleMessage | Üzenet ütemezése |
POST | chat.postEphemeral | Efemer üzenet küldése felhasználónak |
Csatornák
| Módszer | Végpont | Leírás |
|---|---|---|
GET | conversations.list | Csatornák listázása |
GET | conversations.info | Csatorna információk lekérése |
GET | conversations.members | Csatorna tagok listázása |
GET | conversations.history | Csatorna üzenetek lekérése |
Felhasználók
| Módszer | Végpont | Leírás |
|---|---|---|
GET | users.list | Munkaterület-felhasználók listázása |
GET | users.info | Felhasználó információk lekérése |
GET | users.lookupByEmail | Felhasználó keresése e-mail alapján |
GET | users.conversations | Felhasználó csatornáinak listázása |
Interakciók
| Módszer | Végpont | Leírás |
|---|---|---|
POST | views.open | Modális nézet megnyitása |
POST | views.update | Modális nézet frissítése |
POST | reactions.add | Emoji reakció hozzáadása |
Események
Brevo-ból Slack-be irányuló értesítések
| Esemény | Kiváltó ok | Slack művelet |
|---|---|---|
new_subscriber | Kapcsolat létrehozva a Brevóban | Közzététel a #marketing csatornában |
campaign_sent | E-mail kampány elküldve | Összefoglaló közzététele a #marketing csatornában |
order_placed | Nagy értékű rendelés észlelve | Közzététel a #sales csatornában részletekkel |
cart_abandoned | Kosár 30 percig elhagyva | Közzététel a #sales csatornában követéshez |
ticket_created | Support jegy megnyitva | Közzététel a #support csatornában |
unsubscribed | Kapcsolat leiratkozott | Riasztás közzététele a #marketing csatornában |
Slack-ből Brevo-ba irányuló kiváltók
| Slack esemény | Kiváltó ok | Brevo művelet |
|---|---|---|
message_action | Egyéni üzenet-parancs | Kapcsolat hozzáadása listához vagy automatizálás indítása |
block_actions | Gombkattintás üzenetben | Kapcsolat-attribútum frissítése vagy e-mail küldése |
view_submission | Modális űrlap beküldve | Kapcsolat 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 Slackawait 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 placedawait tajo.slack.notify({ channel: 'sales', event: 'order_placed', data: { 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: '*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:
| Szint | Korlát | Általános módszerek |
|---|---|---|
| 1. szint | 1 kérés/perc | chat.delete, conversations.kick |
| 2. szint | 20 kérés/perc | conversations.history, users.info |
| 3. szint | 50 kérés/perc | conversations.list, users.list |
| 4. szint | 100 kérés/perc | chat.postMessage |
| Speciális | Vá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éma | Ok | Megoldás |
|---|---|---|
not_authed | Érvénytelen bot token | Telepítsd újra az alkalmazást és másold ki az új bot tokent |
channel_not_found | Bot nincs a csatornában | Hívd meg a botot a célcsatornába |
missing_scope | Szükséges hatókör nincs megadva | Add hozzá a hatókört és telepítsd újra az alkalmazást |
| Esemény nem érkezett meg | Esemény-előfizetés nincs beállítva | Konfiguráld az Event Subscriptions URL-t |
| Interakció időtúllépés | Válasz >3 másodperc | Vá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: trueKapcsolat tesztelése
tajo connectors test slack# ✓ Bot token valid# ✓ Workspace accessible# ✓ Channels readable# ✓ Message posting enabled# ✓ Event subscriptions activeLegjobb gyakorlatok
- Használj Block Kitet – Gazdag, interaktív üzeneteket építs a Slack Block Kit keretrendszerével
- Válaszolj gyorsan – Ismerd el az interakciókat 3 másodpercen belül, dolgozd fel aszinkron
- Csoportosítsd az üzeneteket szálakba – Kapcsolódó értesítéseket szálakba gyűjtsd a zaj csökkentéséhez
- Irányítsd csatornák szerint – Különböző eseménytípusokat küldjél a megfelelő csapat-csatornákba
- Adj hozzá műveletgombokat – Adj „Megtekintés a Brevóban” gombokat az ügyféladatok gyors eléréséhez
- 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