Beantrage frühzeitigen Zugang

Gib deinen Vornamen und deine geschäftliche E-Mail-Adresse ein. Wir senden dir einen Link, mit dem du deine Anfrage für den Tajo-Zugang bestätigst.

Slack Connector

Connector-Status: Geplant Noch nicht gebaut. Tajo betreibt diesen Connector heute nicht.

Illustration · Beispieldaten

Sync-Beispiel

Einen Datensatz prüfen

Quelle

Slack

Connector-Status: Geplant

Ziel

Ihr anderes Tool

Connector-Status: Eigenes Tool

QuellfeldZielfeldBeispielwert
record.id source_id record_1042
record.updated_at updated_at 2026-10-18T08:00:00Z
record.value value sample_value
  1. Entwerfen
  2. Einen Datensatz prüfen
  3. Diese Version freigeben

Der Status gilt für einzelne Connectoren und garantiert nicht, dass dieser Sync bereit ist. Felder zur Veranschaulichung. Prüfen Sie vor dem Sync das tatsächliche Schema und die Berechtigungen.

Verbinde deinen Slack-Workspace über Tajo mit Brevo für Echtzeit-Marketing-Benachrichtigungen, Team-Alerts bei Kund:innen-Events und Workflow-Automation, ausgelöst durch Slack-Interaktionen.

Überblick

EigenschaftWert
PlattformSlack
KategorieCustom Integration
EinrichtungsaufwandEinfach
Offizielle IntegrationNein
Synchronisierte DatenNutzer:innen, Channels, Nachrichten, Events
API-Basis-URLhttps://slack.com/api

Funktionen

  • Marketing-Alerts - Sende Echtzeit-Benachrichtigungen zu Kampagnen-Events, neuen Abonnent:innen und Umsatzmeilensteinen
  • Kund:innen-Event-Benachrichtigungen - Informiere Teams über wertvolle Kund:innen-Aktionen aus Brevo
  • Workflow-Trigger - Nutze Slack-Interaktionen (Button-Klicks, Formular-Einreichungen), um Brevo-Automationen auszulösen
  • Channel-basiertes Routing - Leite Benachrichtigungen je nach Event-Typ oder Kund:innen-Segment an passende Channels
  • Nutzer:innen-Synchronisation - Mappe Slack-Workspace-Nutzer:innen auf Brevo-Kontakte für interne Kommunikation
  • Interaktive Nachrichten - Sende Rich-Nachrichten mit Buttons und Aktionen für Team-Workflows
  • Geplante Nachrichten - Plane Benachrichtigungen für tägliche/wöchentliche Marketing-Summaries
  • Thread-Support - Gruppiere verwandte Benachrichtigungen in Threads für organisierte Kommunikation

Voraussetzungen

Bevor du beginnst, stelle sicher, dass du Folgendes hast:

  1. Einen Slack-Workspace mit Admin-Zugriff
  2. Eine Slack-App, erstellt unter api.slack.com/apps
  3. Einen Bot-Token mit den erforderlichen Scopes
  4. Ein Brevo-Konto mit API-Zugriff
  5. Ein Tajo-Konto

Authentifizierung

Bot-Token (empfohlen)

Installiere eine Slack-App in deinem Workspace und nutze den Bot-Token für API-Zugriff.

  1. App unter api.slack.com/apps erstellen
  2. Erforderliche OAuth-Scopes unter “OAuth & Permissions” hinzufügen
  3. App im Workspace installieren
  4. Den Bot User OAuth Token (xoxb-...) kopieren
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

Zur Verteilung deiner Slack-Integration über mehrere Workspaces:

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

Erforderliche Bot-Scopes

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

Zugriff auf Nutzer:innen-E-Mails

Der Scope users:read.email wird benötigt, um Slack-Nutzer:innen mit Brevo-Kontakten abzugleichen. Ohne ihn ist das Nutzer:innen-Mapping auf Anzeigenamen beschränkt.

Konfiguration

Grundeinrichtung

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

Feld-Mapping

Mappe Slack-Nutzer:innen-Daten auf Brevo-Kontaktattribute:

Standard-Mappings

Parameter Type Description
profile.email required
string

Nutzer:innen-E-Mail (eindeutiger Identifier fürs Brevo-Matching)

real_name optional
string

Vollständiger Name, aufgeteilt in FIRSTNAME/LASTNAME

profile.phone optional
string

Mapping auf SMS-Attribut

profile.title optional
string

Berufsbezeichnung

tz optional
string

Zeitzone der Nutzer:in

is_admin optional
boolean

Workspace-Admin-Status

team_id optional
string

Workspace-Team-ID

status_text optional
string

Custom-Status der Nutzer:in

API-Methoden

Messaging

MethodeEndpointBeschreibung
POSTchat.postMessageNachricht an einen Channel senden
POSTchat.updateBestehende Nachricht aktualisieren
POSTchat.deleteNachricht löschen
POSTchat.scheduleMessageNachricht planen
POSTchat.postEphemeralEphemere Nachricht an Nutzer:in senden

Channels

MethodeEndpointBeschreibung
GETconversations.listChannels auflisten
GETconversations.infoChannel-Infos abrufen
GETconversations.membersChannel-Mitglieder auflisten
GETconversations.historyChannel-Nachrichten abrufen

Nutzer:innen

MethodeEndpointBeschreibung
GETusers.listWorkspace-Nutzer:innen auflisten
GETusers.infoNutzer:innen-Info abrufen
GETusers.lookupByEmailNutzer:in per E-Mail suchen
GETusers.conversationsChannels der Nutzer:in auflisten

Interaktionen

MethodeEndpointBeschreibung
POSTviews.openModales View öffnen
POSTviews.updateModales View aktualisieren
POSTreactions.addEmoji-Reaktion hinzufügen

Events

Brevo-zu-Slack-Benachrichtigungen

EventTriggerSlack-Aktion
new_subscriberKontakt in Brevo erstelltPost in #marketing
campaign_sentE-Mail-Kampagne versendetZusammenfassung in #marketing posten
order_placedHochwertige Bestellung erkanntPost in #sales mit Details
cart_abandonedWarenkorb 30 Min. abgebrochenPost in #sales zur Nachverfolgung
ticket_createdSupport-Ticket geöffnetPost in #support
unsubscribedKontakt hat abgemeldetAlert in #marketing

Slack-zu-Brevo-Trigger

Slack-EventTriggerBrevo-Aktion
message_actionCustom Message ShortcutKontakt zur Liste hinzufügen oder Automation auslösen
block_actionsButton-Klick in NachrichtKontaktattribut aktualisieren oder E-Mail senden
view_submissionModales Formular abgeschicktKontakt erstellen oder Workflow auslösen

Code-Beispiele

Connector initialisieren

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-Benachrichtigungen senden

// 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-Interaktionen verarbeiten

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

Rate Limits

Die Rate Limits der Slack-API nutzen ein Stufen-System:

TierLimitGängige Methoden
Tier 11 Anfrage/Minutechat.delete, conversations.kick
Tier 220 Anfragen/Minuteconversations.history, users.info
Tier 350 Anfragen/Minuteconversations.list, users.list
Tier 4100 Anfragen/Minutechat.postMessage
SpecialVariabelchat.postMessage zum gleichen Channel: 1/Sek

Zusätzliche Limits:

  • Web API: Burst-Limit mit kurzfristigem Throttle
  • Events API: Delivery-Retries bei 3 Versuchen
  • Incoming Webhooks: 1 Nachricht/Sekunde pro Webhook-URL
  • Block Kit: Maximal 50 Blöcke pro Nachricht

Rate für Channel-Postings

Das Posten in denselben Channel ist auf etwa 1 Nachricht pro Sekunde beschränkt. Bündle Benachrichtigungen oder nutze Threads, um Rate Limiting zu vermeiden.

Fehlerbehebung

Häufige Probleme

ProblemUrsacheLösung
not_authedUngültiger Bot-TokenApp neu installieren und neuen Bot-Token kopieren
channel_not_foundBot nicht im ChannelBot in den Ziel-Channel einladen
missing_scopeErforderlicher Scope nicht vergebenScope hinzufügen und App neu installieren
Event nicht empfangenEvent-Subscription nicht gesetztEvent-Subscriptions-URL konfigurieren
Interaktion-TimeoutAntwort >3 SekundenSofort mit 200 antworten, asynchron verarbeiten

Debug-Modus

Aktiviere ausführliches Logging:

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

Verbindung testen

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

Best Practices

  1. Block Kit nutzen - Baue mit dem Block-Kit-Framework von Slack reichhaltige, interaktive Nachrichten
  2. Schnell antworten - Bestätige Interaktionen innerhalb von 3 Sekunden, verarbeite asynchron
  3. Zusammengehörige Nachrichten in Threads - Gruppiere verwandte Benachrichtigungen in Threads, um Rauschen zu reduzieren
  4. Nach Channel routen - Sende unterschiedliche Event-Typen an passende Team-Channels
  5. Action-Buttons einbauen - Füge “View in Brevo”-Buttons für schnellen Zugriff auf Kund:innen-Daten hinzu
  6. Unfurling implementieren - Zeige Rich-Previews für in Slack geteilte Brevo-Links

Sicherheit

  • Bot-Token - OAuth-gescopter Access Token mit granularen Berechtigungen
  • Request-Signing - HMAC-SHA-256-Signaturverifizierung für eingehende Anfragen
  • OAuth 2.0 - Industriestandard-Autorisierung für Multi-Workspace-Verteilung
  • TLS-Verschlüsselung - Gesamte API-Kommunikation verschlüsselt über HTTPS
  • Token-Rotation - Automatische Token-Rotation für erhöhte Sicherheit

Verwandte Ressourcen

Beantrage frühzeitigen Zugang

Gib deinen Vornamen und deine geschäftliche E-Mail-Adresse ein. Wir senden dir einen Link, mit dem du deine Anfrage für den Tajo-Zugang bestätigst.

AI-Assistent

Hallo! Fragen Sie mich alles über die Dokumentation.

Diese Seite als Markdown: slack.md

Markdown wird geladen …
In Claude öffnen In ChatGPT öffnen