Slack Connector
Connectorstatus: Planlagt Ikke bygget endnu. Tajo kører ikke denne connector i dag.
Illustration · eksempeldata
Eksempel på synkronisering
Kilde
Slack
Connectorstatus: Planlagt
Destination
Dit andet værktøj
Connectorstatus: Eget værktøj
Feltmapping
| Kildefelt | Destinationsfelt | Eksempelværdi |
|---|---|---|
record.id | source_id | record_1042 |
record.updated_at | updated_at | 2026-10-18T08:00:00Z |
record.value | value | sample_value |
- Udkast
- Gennemse én post
- Godkend denne version
Status gælder den enkelte connector og garanterer ikke, at denne synkronisering er klar. Felterne er illustrative. Tjek det faktiske skema og tilladelser før en synkronisering.
Forbind dit Slack-workspace til Brevo via Tajo for realtids-marketingnotifikationer, teamadvarsler om kundehændelser og workflow-automatisering udløst af Slack-interaktioner.
Oversigt
| Egenskab | Værdi |
|---|---|
| Platform | Slack |
| Kategori | Brugerdefineret integration |
| Opsætningskompleksitet | Let |
| Officiel integration | Nej |
| Synkroniserede data | Brugere, kanaler, beskeder, hændelser |
| API-base-URL | https://slack.com/api |
Funktioner
- Marketingadvarsler - Send realtidsnotifikationer om kampagnehændelser, nye abonnenter og omsætningsmilepæle
- Notifikationer om kundehændelser - Advar teams om kundehandlinger af høj værdi fra Brevo
- Workflow-triggere - Brug Slack-interaktioner (knapklik, formularindsendelser) til at udløse Brevo-automatiseringer
- Kanalbaseret rutning - Rut notifikationer til specifikke kanaler baseret på hændelsestype eller kundesegment
- Brugersynkronisering - Knyt Slack-workspace-brugere til Brevo-kontakter for intern kommunikation
- Interaktive beskeder - Send rige beskeder med knapper og handlinger til team-workflows
- Planlagte beskeder - Planlæg notifikationer til daglige/ugentlige marketingopsummeringer
- Tråd-understøttelse - Gruppér relaterede notifikationer i tråde for organiseret kommunikation
Forudsætninger
Før du begynder, skal du sikre dig, at du har:
- Et Slack-workspace med administratoradgang
- En Slack-app oprettet på api.slack.com/apps
- Bot-token med de påkrævede scopes
- En Brevo-konto med API-adgang
- En Tajo-konto
Autentifikation
Bot-token (anbefalet)
Installér en Slack-app i dit workspace, og brug bot-tokenet til API-adgang.
- Opret en app på api.slack.com/apps
- Tilføj de påkrævede OAuth-scopes under “OAuth & Permissions”
- Installér appen i workspacet
- Kopiér Bot User OAuth Token (
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
Til distribution af din Slack-integration til flere workspaces:
# 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}"Påkrævede bot-scopes
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 filesAdgang til bruger-e-mail
Scope’et users:read.email er påkrævet for at matche Slack-brugere med Brevo-kontakter. Uden det vil brugermapping være begrænset til visningsnavne.
Konfiguration
Grundlæggende opsætning
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_alertFeltmapping
Knyt Slack-brugerdata til Brevo-kontaktattributter:
Standardmappings
| Parameter | Type | Description |
|---|---|---|
profile.email required | string | Bruger-e-mail (unik identifikator til Brevo-matching) |
real_name optional | string | Fuldt navn, opdelt i FIRSTNAME/LASTNAME |
profile.phone optional | string | Mapper til SMS-attribut |
profile.title optional | string | Jobtitel |
tz optional | string | Brugerens tidszone |
is_admin optional | boolean | Workspace-administratorstatus |
team_id optional | string | Workspace-team-id |
status_text optional | string | Brugerens brugerdefinerede status |
API-metoder
Beskeder
| Metode | Endpoint | Beskrivelse |
|---|---|---|
POST | chat.postMessage | Send en besked til en kanal |
POST | chat.update | Opdatér en eksisterende besked |
POST | chat.delete | Slet en besked |
POST | chat.scheduleMessage | Planlæg en besked |
POST | chat.postEphemeral | Send efemerisk besked til bruger |
Kanaler
| Metode | Endpoint | Beskrivelse |
|---|---|---|
GET | conversations.list | Vis kanaler |
GET | conversations.info | Hent kanalinfo |
GET | conversations.members | Vis kanalmedlemmer |
GET | conversations.history | Hent kanalbeskeder |
Brugere
| Metode | Endpoint | Beskrivelse |
|---|---|---|
GET | users.list | Vis workspace-brugere |
GET | users.info | Hent brugerinfo |
GET | users.lookupByEmail | Find bruger via e-mail |
GET | users.conversations | Vis brugerkanaler |
Interaktioner
| Metode | Endpoint | Beskrivelse |
|---|---|---|
POST | views.open | Åbn en modal-visning |
POST | views.update | Opdatér en modal-visning |
POST | reactions.add | Tilføj emoji-reaktion |
Hændelser
Brevo-til-Slack-notifikationer
| Hændelse | Trigger | Slack-handling |
|---|---|---|
new_subscriber | Kontakt oprettet i Brevo | Post til #marketing |
campaign_sent | E-mailkampagne sendt | Post resumé til #marketing |
order_placed | Ordre af høj værdi registreret | Post til #sales med detaljer |
cart_abandoned | Kurv efterladt i 30 min. | Post til #sales til opfølgning |
ticket_created | Supportsag oprettet | Post til #support |
unsubscribed | Kontakt afmeldt | Post advarsel til #marketing |
Slack-til-Brevo-triggere
| Slack-hændelse | Trigger | Brevo-handling |
|---|---|---|
message_action | Tilpasset beskedgenvej | Tilføj kontakt til liste eller udløs automatisering |
block_actions | Knapklik i besked | Opdatér kontaktattribut eller send e-mail |
view_submission | Modal-formular indsendt | Opret kontakt eller udløs workflow |
Kodeeksempler
Initialisér konnektor
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});Send marketingnotifikationer
// 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' } ] } ] }});Håndtér Slack-interaktioner
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();});Ratebegrænsninger
Slack API-ratebegrænsninger bruger et niveauinddelt system:
| Niveau | Grænse | Almindelige metoder |
|---|---|---|
| Tier 1 | 1 forespørgsel/minut | chat.delete, conversations.kick |
| Tier 2 | 20 forespørgsler/minut | conversations.history, users.info |
| Tier 3 | 50 forespørgsler/minut | conversations.list, users.list |
| Tier 4 | 100 forespørgsler/minut | chat.postMessage |
| Special | Varierer | chat.postMessage til samme kanal: 1/sek |
Yderligere grænser:
- Web API: Burst-grænse med kortsigtet throttling
- Events API: Leveringsforsøg genforsøges 3 gange
- Incoming Webhooks: 1 besked/sekund per webhook-URL
- Block Kit: Maksimalt 50 blokke per besked
Rate for kanalposter
Posts til samme kanal er begrænset til ca. 1 besked per sekund. Batch notifikationer eller brug tråde for at undgå ratebegrænsning.
Fejlfinding
Almindelige problemer
| Problem | Årsag | Løsning |
|---|---|---|
not_authed | Ugyldigt bot-token | Geninstallér appen og kopiér nyt bot-token |
channel_not_found | Bot ikke i kanal | Invitér botten til målkanalen |
missing_scope | Påkrævet scope ikke tildelt | Tilføj scope og geninstallér appen |
| Hændelse ikke modtaget | Hændelsesabonnement ikke sat | Konfigurér Event Subscriptions-URL |
| Interaktionstimeout | Svar >3 sekunder | Svar med 200 med det samme, behandl asynkront |
Fejlfindingstilstand
Aktivér udførlig logning:
connectors: slack: debug: true log_level: verbose log_events: trueTest forbindelse
tajo connectors test slack# ✓ Bot token valid# ✓ Workspace accessible# ✓ Channels readable# ✓ Message posting enabled# ✓ Event subscriptions activeBest practices
- Brug Block Kit - Byg rige, interaktive beskeder med Slacks Block Kit-framework
- Svar hurtigt - Anerkend interaktioner inden for 3 sekunder, behandl asynkront
- Tråd relaterede beskeder - Gruppér relaterede notifikationer i tråde for at reducere støj
- Rut efter kanal - Send forskellige hændelsestyper til relevante teamkanaler
- Inkludér handlingsknapper - Tilføj “Vis i Brevo”-knapper for hurtig adgang til kundedata
- Implementér link-unfurling - Vis rige previews af Brevo-links delt i Slack
Sikkerhed
- Bot-token - OAuth-scoped adgangstoken med granulære rettigheder
- Request signing - HMAC SHA-256-signaturverifikation for indgående forespørgsler
- OAuth 2.0 - Industristandard-autorisation til distribution på tværs af workspaces
- TLS-kryptering - Al API-kommunikation krypteret via HTTPS
- Tokenrotation - Automatisk tokenrotation for øget sikkerhed