Skip to Content

Slack

The Slack integration lets your team talk to workspace agents directly from Slack threads. It reuses the same agents, MCP servers, and tool-approval flows as the web app — responses stream token-by-token, tool-call approvals come through as Block Kit messages.

What it does

  • Agent picker — mention @auxilia in a channel or start an assistant thread; the bot replies with a list of agents the Slack user has access to
  • Thread-based chat — each Slack thread maps to a persistent auxilia thread, so the agent remembers context across messages
  • Tool approvals — tools set to “needs approval” post Approve / Reject buttons in the thread
  • Streaming — assistant replies are updated in-place as the LLM generates them

How a Slack user is matched to an auxilia user

When a Slack message comes in, auxilia looks up the Slack user’s email via users.info and matches it against the workspace’s user table. If there’s no match, the bot replies with a message telling the user to sign in to auxilia first (which creates the account).

Slack users therefore need an auxilia account with the same email address as their Slack profile.

Configure the integration

Set these environment variables on the backend:

SLACK_SIGNING_SECRET=... SLACK_BOT_TOKEN=xoxb-...

If either value is missing, the Slack endpoints still mount but will reject all incoming requests.

Create the Slack app

  1. Go to api.slack.com/apps  and click Create New App → From scratch
  2. Give it a name (e.g. auxilia) and pick your workspace
  3. Under OAuth & Permissions, add the Bot Token Scopes:
    • app_mentions:read
    • assistant:write
    • channels:history, groups:history, im:history, mpim:history
    • chat:write
    • users:read
    • users:read.email
  4. Install the app to your workspace and copy the Bot User OAuth Token (xoxb-...) into SLACK_BOT_TOKEN
  5. Copy the Signing Secret from Basic Information into SLACK_SIGNING_SECRET

Event subscriptions

Under Event Subscriptions, point Slack at:

<BACKEND_URL>/integrations/slack/events

Subscribe to bot events:

  • app_mention
  • assistant_thread_started
  • message.channels, message.groups, message.im, message.mpim

Under Interactivity & Shortcuts, enable interactivity and set the Request URL to:

<BACKEND_URL>/integrations/slack/interactions

This is where Approve / Reject button clicks are delivered.

Usage

  • @auxilia in any channel the bot is in → posts an agent picker
  • Pick an agent → starts a thread
  • Send messages in the thread → the agent streams replies and may request tool approvals

To reuse an agent across multiple Slack threads, just start a new thread and pick the same agent — each thread has its own memory.