Skip to content
🚀 EDDI 6.5.0

19 LLM providers, knowledge bases that crawl your site and read your files, and conversations that follow compatible agent versionsWhat's new

Managed Cloud Get Started
All integrations
ChannelsEvents API

Slack

Governed AI agents in Slack: mentions, direct messages, threads, group discussions streamed into a thread, and Block Kit approval cards with Approve and Reject buttons.

What you get

  • Agents that answer @mentions and direct messages, with follow-ups kept in the thread
  • Trigger keywords that route a message to a specific agent or to a multi-agent group discussion
  • Group discussions streamed into a thread as they happen
  • Approval cards in Slack for paused turns, tool calls and group phases, with an approver allow-list
  • Several Slack workspaces against one EDDI

How it works in EDDI

  1. Create a Slack app and add the bot token scopes listed in the docs (chat:write, app_mentions:read, the history and im:* scopes).
  2. Store the bot token and the signing secret in the EDDI Secrets Vault, then reference them as ${vault:...}.
  3. Create a channel integration that maps the Slack channel to a default agent and, optionally, to groups behind trigger keywords such as panel:.
  4. Set the Request URL to https://<your-eddi-host>/integrations/slack/events and subscribe to app_mention, message.im and message.channels. Do this last: Slack verifies the URL immediately.
  5. For approvals, set the Interactivity Request URL to /integrations/slack/interactive and list the approvers in hitlApproverUserIds.

Configuration

Taken from the EDDI documentation. Placeholders such as your-agent-id are yours to replace.

Store the credentials in the vaultCredentials go into the vault, not into the agent or channel configuration.
curl -X PUT http://localhost:7070/secretstore/secrets/default/slack-bot-token \
  -H "Content-Type: application/json" \
  -d '{"value":"xoxb-your-token-here","description":"Slack bot token"}'

curl -X PUT http://localhost:7070/secretstore/secrets/default/slack-signing-secret \
  -H "Content-Type: application/json" \
  -d '{"value":"your-signing-secret","description":"Slack signing secret"}'
POST /channelstore/channelsA channel integration with a default agent, a group behind trigger keywords, and the approval settings in platformConfig.
curl -X POST http://localhost:7070/channelstore/channels \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Main Slack Channel",
    "channelType": "slack",
    "platformConfig": {
      "channelId": "C0123ABCDEF",
      "botToken": "${vault:slack-bot-token}",
      "signingSecret": "${vault:slack-signing-secret}",
      "hitlApprovalChannel": "C0123ABCDEF",
      "hitlApproverUserIds": "U0123ABCDE,U0456FGHIJ"
    },
    "defaultTargetName": "default",
    "targets": [
      { "name": "default", "type": "AGENT", "targetId": "your-agent-id", "triggers": [] },
      { "name": "panel", "type": "GROUP", "targetId": "your-group-id", "triggers": ["panel", "discuss"] }
    ]
  }'

Governance

  • Approval cards carry Approve and Reject buttons. Only Slack users listed in hitlApproverUserIds can decide. Without that list no buttons are rendered and interactive decisions are rejected (fail-closed).
  • A tool-call card shows the tool name and its redacted, truncated arguments, so the approver sees what they are approving. In version 1 the buttons approve or reject the whole batch.
  • Each decision is attributed to slack:<userId> and recorded in the audit ledger.
  • Incoming events are verified with the signing secret (HMAC-SHA256) and replay protection, and the secrets themselves stay in the vault.

Good to know

  • Slack is the only third-party chat platform EDDI ships a channel for. See the note on the catalog page for what is not included.
  • An optional observe mode lets a target see plain channel traffic, behind a trigger, a cooldown and daily response and cost caps. Those caps are per EDDI node.

Need it built and run for you?

EDDI Solutions builds and maintains connectors, runs EDDI as a managed or co-operated instance, and supports you in your own cloud or on-premises.

Talk to EDDI Solutions ↗

Related integrations

Configuration and behavior on this page follow the EDDI documentation, checked on 2026-10-14. Field names and defaults can change between releases, so confirm them in the docs for your version.