OpenClaw Slack Kanal
Verbinden Sie OpenClaw mit Slack ueber den Socket-Modus (Standard) oder die HTTP Events API. Diese Enterprise-Integration ermoeglicht Ihrem KI-Assistenten den Betrieb in Slack-Workspaces — mit Direktnachrichten, Channel-Gespraechen, Reaktionen, Threads und Slash-Befehlen. Der Socket-Modus verbindet sich per WebSocket ohne oeffentliche URL; der HTTP-Modus nutzt Slacks Events API fuer oeffentlich zugaengliche Deployments.
Slack Unterstützte Funktionen
Textnachrichten
Unterstützt
Medien & Dateien
Unterstützt
Reaktionen
Unterstützt
Threads
Unterstützt
Sprachnachrichten
Nicht unterstützt
Gruppenchat
Unterstützt
Slack Voraussetzungen
- Ein Slack-Workspace mit Administratorrechten (zur Installation benutzerdefinierter Apps)
- Eine Slack-App, erstellt unter api.slack.com/apps
- App Token (xapp-...) mit connections:write-Berechtigung (fuer den Socket-Modus)
- Bot Token (xoxb-...), erhalten nach der Installation der App in Ihrem Workspace
- OpenClaw Gateway laeuft und ist konfiguriert
Slack Schnelleinrichtung
Slack-App erstellen und Socket-Modus aktivieren
Gehen Sie zu api.slack.com/apps und klicken Sie auf 'Create New App' → 'From scratch'. Geben Sie der App einen Namen und waehlen Sie Ihren Workspace. Navigieren Sie in der Seitenleiste zu 'Socket Mode' und aktivieren Sie ihn. Generieren Sie ein App-Level Token mit dem Scope 'connections:write' — dies gibt Ihnen den xapp-...-Token.
OAuth-Berechtigungen konfigurieren und im Workspace installieren
Gehen Sie zu 'OAuth & Permissions' und fuegen Sie die erforderlichen Bot Token Scopes hinzu (chat:write, channels:history, channels:read, im:write, im:history, im:read, users:read, reactions:read, reactions:write, files:write usw.). Klicken Sie auf 'Install to Workspace' und autorisieren Sie. Kopieren Sie den Bot User OAuth Token (xoxb-...). Gehen Sie dann zu 'Event Subscriptions', aktivieren Sie Events und abonnieren Sie: message.channels, message.groups, message.im, message.mpim, app_mention, reaction_added, reaction_removed.
Konfiguration hinzufuegen, Gateway starten und Bot einladen
Fuegen Sie die Slack-Channel-Konfiguration zu ~/.openclaw/openclaw.json mit Ihrem appToken und botToken hinzu. Starten Sie das Gateway — es verbindet sich ueber den Socket-Modus mit Slack. Laden Sie den Bot in Ihre Ziel-Channels ein, indem Sie '/invite @IhrBotName' in Slack eingeben. Senden Sie eine Nachricht zum Testen.
Slack Konfigurationsbeispiel
{
"channels": {
"slack": {
"enabled": true,
"appToken": "xapp-1-YOUR_APP_TOKEN",
"botToken": "xoxb-YOUR_BOT_TOKEN"
}
}
}Slack Detaillierte Dokumentation
Architektur-Ueberblick
Ihre Slack-App erstellen
DM-Sicherheit (Pairing)
{
"channels": {
"slack": {
"enabled": true,
"appToken": "xapp-...",
"botToken": "xoxb-...",
"dm": {
"policy": "pairing",
"allowFrom": ["U01ABCDEF", "user@company.com"]
}
}
}
}Channel-Konfiguration (Gruppenrichtlinie)
{
"channels": {
"slack": {
"groupPolicy": "allowlist",
"channels": {
"C01ABCDEF": {
"allow": true,
"requireMention": true,
"users": ["U01ABCDEF"],
"skills": ["search", "docs"],
"systemPrompt": "Antworten kurz und technisch halten."
},
"#general": {
"allow": true,
"requireMention": true
}
}
}
}
}Antwort-Threading
{
"channels": {
"slack": {
"replyToMode": "off",
"replyToModeByChatType": {
"direct": "all",
"group": "first",
"channel": "off"
}
}
}
}User Token (Optional)
{
"channels": {
"slack": {
"enabled": true,
"appToken": "xapp-...",
"botToken": "xoxb-...",
"userToken": "xoxp-...",
"userTokenReadOnly": true
}
}
}Slash-Befehle & App Home
{
"channels": {
"slack": {
"slashCommand": {
"enabled": true,
"name": "openclaw",
"sessionPrefix": "slack:slash",
"ephemeral": true
}
}
}
}Berechtigungen & Scopes
HTTP-Modus (Events API)
{
"channels": {
"slack": {
"enabled": true,
"mode": "http",
"botToken": "xoxb-...",
"signingSecret": "your-signing-secret",
"webhookPath": "/slack/events"
}
}
}Erweiterte Konfiguration
{
"channels": {
"slack": {
"historyLimit": 50,
"textChunkLimit": 4000,
"chunkMode": "newline",
"mediaMaxMb": 20,
"actions": {
"reactions": true,
"messages": true,
"pins": true,
"memberInfo": true,
"emojiList": true
}
}
}
}Slack Konfigurationsreferenz
| Key | Type | Default | Description |
|---|---|---|---|
| enabled | boolean | true | Slack-Channel aktivieren oder deaktivieren |
| mode | string | "socket" | Verbindungsmodus. Optionen: socket (Socket-Modus, Standard), http (Events API) |
| appToken | string | "" | Slack App-Level Token (xapp-...) fuer den Socket-Modus. Alternativ Umgebungsvariable SLACK_APP_TOKEN |
| botToken | string | "" | Slack Bot User OAuth Token (xoxb-...). Alternativ Umgebungsvariable SLACK_BOT_TOKEN |
| userToken | string | "" | Optionaler Slack User Token (xoxp-...) fuer erweiterten Lesezugriff |
| userTokenReadOnly | boolean | true | User Token auf Nur-Lese-Operationen beschraenken. Auf false setzen, um Schreibzugriff als installierender Benutzer zu ermoeglichen |
| signingSecret | string | "" | Signing Secret fuer die Verifizierung von HTTP-Modus-Anfragen (aus Basic Information → App Credentials) |
| webhookPath | string | "/slack/events" | Webhook-Endpunktpfad fuer den HTTP-Modus |
| dm.policy | string | "pairing" | DM-Zugriffssteuerungsrichtlinie. Optionen: pairing (Code-basierte Genehmigung), open (jeder kann DMs senden) |
| dm.allowFrom | string[] | [] | Benutzer, die dem Bot DMs senden duerfen. Unterstuetzt User-IDs, @Benutzernamen, E-Mails und Platzhalter (*) |
| dm.enabled | boolean | true | Ob Direktnachrichten akzeptiert werden |
| dm.groupEnabled | boolean | false | Gruppen-DM (MPIM)-Verarbeitung aktivieren |
| dm.groupChannels | string[] | [] | Erlaubte Gruppen-DM-Channel-IDs |
| groupPolicy | string | "open" | Channel-Verarbeitungsrichtlinie. Optionen: open (alle Channels), disabled (keine Channels), allowlist (nur konfigurierte) |
| channels.<id>.allow | boolean | true | Diesen Channel im Allowlist-Modus erlauben oder verweigern |
| channels.<id>.requireMention | boolean | false | Ob der Bot in diesem Channel @erwaehnt werden muss, um zu antworten |
| channels.<id>.users | string[] | [] | Benutzer-Erlaubnisliste fuer diesen Channel (IDs, @Benutzernamen oder E-Mails) |
| channels.<id>.skills | string[] | [] | Verfuegbare Skills in diesem Channel einschraenken (leer = alle Skills) |
| channels.<id>.systemPrompt | string | "" | Benutzerdefinierter KI-System-Prompt fuer diesen Channel |
| channels.<id>.allowBots | boolean | false | Nachrichten von anderen Bots in diesem Channel verarbeiten |
| replyToMode | string | "off" | Antwort-Threading-Modus. Optionen: off (Hauptkanal), first (erste Antwort threaden), all (alle Antworten threaden) |
| replyToModeByChatType | object | {} | Pro-Chat-Typ-Threading-Ueberschreibungen. Schluessel: direct, group, channel. Werte: off, first, all |
| reactionNotifications | string | "off" | Welche Reaktionen Agenten-Benachrichtigungen ausloesen. Optionen: off, own, all |
| historyLimit | number | 50 | Anzahl der letzten Nachrichten, die als KI-Kontext einbezogen werden. Auf 0 setzen zum Deaktivieren |
| textChunkLimit | number | 4000 | Maximale Zeichen pro Nachrichtenblock fuer lange KI-Antworten |
| chunkMode | string | "split" | Wie lange Antworten aufgeteilt werden. Optionen: split (hartes Limit), newline (Absatzgrenzen) |
| mediaMaxMb | number | 20 | Maximale Mediendateigroesse in Megabyte |
| slashCommand.enabled | boolean | true | Slash-Befehl-Verarbeitung aktivieren |
| slashCommand.name | string | "openclaw" | Der Slash-Befehlsname (ohne /) |
| slashCommand.ephemeral | boolean | true | Ob Slash-Befehl-Antworten nur fuer den Aufrufer sichtbar sind |
Slack-Channel aktivieren oder deaktivieren
Verbindungsmodus. Optionen: socket (Socket-Modus, Standard), http (Events API)
Slack App-Level Token (xapp-...) fuer den Socket-Modus. Alternativ Umgebungsvariable SLACK_APP_TOKEN
Slack Bot User OAuth Token (xoxb-...). Alternativ Umgebungsvariable SLACK_BOT_TOKEN
Optionaler Slack User Token (xoxp-...) fuer erweiterten Lesezugriff
User Token auf Nur-Lese-Operationen beschraenken. Auf false setzen, um Schreibzugriff als installierender Benutzer zu ermoeglichen
Signing Secret fuer die Verifizierung von HTTP-Modus-Anfragen (aus Basic Information → App Credentials)
Webhook-Endpunktpfad fuer den HTTP-Modus
DM-Zugriffssteuerungsrichtlinie. Optionen: pairing (Code-basierte Genehmigung), open (jeder kann DMs senden)
Benutzer, die dem Bot DMs senden duerfen. Unterstuetzt User-IDs, @Benutzernamen, E-Mails und Platzhalter (*)
Ob Direktnachrichten akzeptiert werden
Gruppen-DM (MPIM)-Verarbeitung aktivieren
Erlaubte Gruppen-DM-Channel-IDs
Channel-Verarbeitungsrichtlinie. Optionen: open (alle Channels), disabled (keine Channels), allowlist (nur konfigurierte)
Diesen Channel im Allowlist-Modus erlauben oder verweigern
Ob der Bot in diesem Channel @erwaehnt werden muss, um zu antworten
Benutzer-Erlaubnisliste fuer diesen Channel (IDs, @Benutzernamen oder E-Mails)
Verfuegbare Skills in diesem Channel einschraenken (leer = alle Skills)
Benutzerdefinierter KI-System-Prompt fuer diesen Channel
Nachrichten von anderen Bots in diesem Channel verarbeiten
Antwort-Threading-Modus. Optionen: off (Hauptkanal), first (erste Antwort threaden), all (alle Antworten threaden)
Pro-Chat-Typ-Threading-Ueberschreibungen. Schluessel: direct, group, channel. Werte: off, first, all
Welche Reaktionen Agenten-Benachrichtigungen ausloesen. Optionen: off, own, all
Anzahl der letzten Nachrichten, die als KI-Kontext einbezogen werden. Auf 0 setzen zum Deaktivieren
Maximale Zeichen pro Nachrichtenblock fuer lange KI-Antworten
Wie lange Antworten aufgeteilt werden. Optionen: split (hartes Limit), newline (Absatzgrenzen)
Maximale Mediendateigroesse in Megabyte
Slash-Befehl-Verarbeitung aktivieren
Der Slash-Befehlsname (ohne /)
Ob Slash-Befehl-Antworten nur fuer den Aufrufer sichtbar sind
Slack Häufig gestellte Fragen
Slack Fehlerbehebung
Der Channel wird durch groupPolicy blockiert, oder der Bot ist nicht in der Erlaubnisliste, oder der Bot wurde nicht in den Channel eingeladen.
Die DM-Richtlinie ist auf 'pairing' gesetzt und der Absender wurde nicht genehmigt, oder der Messages Tab ist in App Home nicht aktiviert.
Der App Token (xapp-...) ist ungueltig oder abgelaufen, oder es gibt ein Netzwerkproblem zwischen Ihrem Server und Slack.
Dem Bot Token fehlen erforderliche OAuth-Scopes, oder der Token wurde widerrufen/neu generiert.
Der Slash-Befehl wurde nicht im Slack API-Portal erstellt, oder die Request-URL ist falsch konfiguriert (HTTP-Modus).
Lange KI-Antworten, die das textChunkLimit von OpenClaw (Standard: 4.000 Zeichen) ueberschreiten, werden automatisch in mehrere Nachrichten aufgeteilt. Hinweis: Slacks eigene Limits sind 3.000 Zeichen pro Section Block und 40.000 Zeichen pro Nachrichten-Textfeld.