Slack-koppling
Kopplingens status: Planerad Inte byggd än. Tajo kör inte den här kopplingen i dag.
Illustration · exempeldata
Exempel på synkronisering
Källa
Slack
Kopplingens status: Planerad
Mål
Ditt andra verktyg
Kopplingens status: Eget verktyg
Fältmappning
| Källfält | Målfält | Exempelvärde |
|---|---|---|
record.id | source_id | record_1042 |
record.updated_at | updated_at | 2026-10-18T08:00:00Z |
record.value | value | sample_value |
- Utkast
- Granska en post
- Godkänn den här versionen
Status gäller varje enskild koppling och garanterar inte att den här synkroniseringen är klar. Fälten är illustrativa. Kontrollera det faktiska schemat och behörigheterna innan synkronisering körs.
Anslut din Slack-arbetsyta till Brevo via Tajo för marknadsföringsnotifieringar i realtid, teamvarningar om kundhändelser och arbetsflödesautomation utlöst av Slack-interaktioner.
Översikt
| Egenskap | Värde |
|---|---|
| Plattform | Slack |
| Kategori | Anpassad integration |
| Installationskomplexitet | Enkel |
| Officiell integration | Nej |
| Data som synkas | Användare, kanaler, meddelanden, händelser |
| API bas-URL | https://slack.com/api |
Funktioner
- Marknadsföringsvarningar - Skicka realtidsnotifieringar för kampanjhändelser, nya prenumeranter och intäktsmilstolpar
- Notifieringar för kundhändelser - Varna team om värdefulla kundåtgärder från Brevo
- Arbetsflödesutlösare - Använd Slack-interaktioner (knapptryckningar, formulärinlämningar) för att utlösa Brevo-automationer
- Kanalbaserad dirigering - Dirigera notifieringar till specifika kanaler baserat på händelsetyp eller kundsegment
- Användarsynkronisering - Mappa användare i Slack-arbetsytan till Brevo-kontakter för intern kommunikation
- Interaktiva meddelanden - Skicka rika meddelanden med knappar och åtgärder för teamarbetsflöden
- Schemalagda meddelanden - Schemalägg notifieringar för dagliga/veckovisa marknadsföringssammanfattningar
- Trådstöd - Gruppera relaterade notifieringar i trådar för organiserad kommunikation
Förutsättningar
Innan du börjar, se till att du har:
- En Slack-arbetsyta med adminåtkomst
- En Slack-app skapad på api.slack.com/apps
- Bot-token med nödvändiga scopes
- Ett Brevo-konto med API-åtkomst
- Ett Tajo-konto
Autentisering
Bot-token (rekommenderas)
Installera en Slack-app i din arbetsyta och använd bot-token för API-åtkomst.
- Skapa app på api.slack.com/apps
- Lägg till nödvändiga OAuth-scopes under “OAuth & Permissions”
- Installera app i arbetsytan
- Kopiera 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
För att distribuera din Slack-integration till flera arbetsytor:
# 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}"Nödvändiga 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 filesÅtkomst till användares e-post
Scopen users:read.email krävs för att matcha Slack-användare med Brevo-kontakter. Utan den begränsas användarmappning till visningsnamn.
Konfiguration
Grundinställning
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_alertFältmappning
Mappa Slack-användardata till Brevo-kontaktattribut:
Standardmappningar
| Parameter | Type | Description |
|---|---|---|
profile.email required | string | Användarens e-post (unik identifierare för Brevo-matchning) |
real_name optional | string | Fullständigt namn, uppdelat i FIRSTNAME/LASTNAME |
profile.phone optional | string | Mappas till SMS-attributet |
profile.title optional | string | Jobbtitel |
tz optional | string | Användarens tidszon |
is_admin optional | boolean | Status för arbetsytans admin |
team_id optional | string | Arbetsytans team-ID |
status_text optional | string | Användarens anpassade status |
API-metoder
Meddelanden
| Metod | Endpoint | Beskrivning |
|---|---|---|
POST | chat.postMessage | Skicka ett meddelande till en kanal |
POST | chat.update | Uppdatera ett befintligt meddelande |
POST | chat.delete | Radera ett meddelande |
POST | chat.scheduleMessage | Schemalägg ett meddelande |
POST | chat.postEphemeral | Skicka ephemerärt meddelande till användare |
Kanaler
| Metod | Endpoint | Beskrivning |
|---|---|---|
GET | conversations.list | Lista kanaler |
GET | conversations.info | Hämta kanalinfo |
GET | conversations.members | Lista kanalmedlemmar |
GET | conversations.history | Hämta kanalmeddelanden |
Användare
| Metod | Endpoint | Beskrivning |
|---|---|---|
GET | users.list | Lista användare i arbetsytan |
GET | users.info | Hämta användarinfo |
GET | users.lookupByEmail | Hitta användare via e-post |
GET | users.conversations | Lista användarens kanaler |
Interaktioner
| Metod | Endpoint | Beskrivning |
|---|---|---|
POST | views.open | Öppna en modalvy |
POST | views.update | Uppdatera en modalvy |
POST | reactions.add | Lägg till emoji-reaktion |
Händelser
Brevo-till-Slack-notifieringar
| Händelse | Utlösare | Slack-åtgärd |
|---|---|---|
new_subscriber | Kontakt skapad i Brevo | Posta till #marketing |
campaign_sent | E-postkampanj skickad | Posta sammanfattning till #marketing |
order_placed | Värdefull beställning upptäckt | Posta till #sales med detaljer |
cart_abandoned | Kundvagn övergiven i 30 min | Posta till #sales för uppföljning |
ticket_created | Supportärende öppnat | Posta till #support |
unsubscribed | Kontakt avprenumererade | Posta varning till #marketing |
Slack-till-Brevo-utlösare
| Slack-händelse | Utlösare | Brevo-åtgärd |
|---|---|---|
message_action | Anpassad meddelandegenväg | Lägg till kontakt i lista eller utlös automation |
block_actions | Knapptryckning i meddelande | Uppdatera kontaktattribut eller skicka e-post |
view_submission | Modalformulär inskickat | Skapa kontakt eller utlös arbetsflöde |
Kodexempel
Initiera kopplingen
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});Skicka marknadsföringsnotifieringar
// 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' } ] } ] }});Hantera 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();});Hastighetsbegränsningar
Slacks API-hastighetsbegränsningar använder ett nivåbaserat system:
| Nivå | Gräns | Vanliga metoder |
|---|---|---|
| Tier 1 | 1 förfrågan/minut | chat.delete, conversations.kick |
| Tier 2 | 20 förfrågningar/minut | conversations.history, users.info |
| Tier 3 | 50 förfrågningar/minut | conversations.list, users.list |
| Tier 4 | 100 förfrågningar/minut | chat.postMessage |
| Specialfall | Varierar | chat.postMessage till samma kanal: 1/sek |
Ytterligare gränser:
- Web API: Burst-gräns med kortvarig strypning
- Events API: Leveransåterförsök i 3 försök
- Inkommande webhooks: 1 meddelande/sekund per webhook-URL
- Block Kit: Maximalt 50 block per meddelande
Postningshastighet för kanal
Att posta till samma kanal är begränsat till ungefär 1 meddelande per sekund. Batcha notifieringar eller använd trådar för att undvika hastighetsbegränsning.
Felsökning
Vanliga problem
| Problem | Orsak | Lösning |
|---|---|---|
not_authed | Ogiltig bot-token | Installera om appen och kopiera ny bot-token |
channel_not_found | Bot inte i kanal | Bjud in boten till målkanalen |
missing_scope | Nödvändigt scope ej beviljat | Lägg till scope och installera om appen |
| Händelse ej mottagen | Händelseprenumeration ej satt | Konfigurera Event Subscriptions URL |
| Interaktionstimeout | Svar > 3 sekunder | Svara med 200 omedelbart, behandla asynkront |
Felsökningsläge
Aktivera utförlig loggning:
connectors: slack: debug: true log_level: verbose log_events: trueTesta anslutning
tajo connectors test slack# ✓ Bot token valid# ✓ Workspace accessible# ✓ Channels readable# ✓ Message posting enabled# ✓ Event subscriptions activeBästa praxis
- Använd Block Kit - Bygg rika, interaktiva meddelanden med Slacks Block Kit-ramverk
- Svara snabbt - Bekräfta interaktioner inom 3 sekunder, behandla asynkront
- Trådkoppla relaterade meddelanden - Gruppera relaterade notifieringar i trådar för att minska brus
- Dirigera per kanal - Skicka olika händelsetyper till lämpliga teamkanaler
- Inkludera åtgärdsknappar - Lägg till “View in Brevo”-knappar för snabb åtkomst till kunddata
- Implementera unfurling - Visa rika förhandsgranskningar för Brevo-länkar delade i Slack
Säkerhet
- Bot-token - OAuth-scopad åtkomsttoken med granulära behörigheter
- Förfrågningssignering - HMAC SHA-256-signaturverifiering för inkommande förfrågningar
- OAuth 2.0 - Industristandard för auktorisering för distribution till flera arbetsytor
- TLS-kryptering - All API-kommunikation krypterad via HTTPS
- Tokenrotation - Automatisk tokenrotation för förbättrad säkerhet