Connect Slack to your agents

Wire your agents into Slack — so the AI you've built lives inside the channels your team is already in, recognizing each person and replying where conversations actually happen.

Plus: three pasted Admin-Agent runbooks — picking the first channel and the Mentions-vs-All mode, drafting a teammate announcement from the agents you already have, and sequencing a multi-week rollout so Slack doesn’t get overwhelmed on day one.

Audience Admins · Everyone
Time ~7 min
Prerequisites An Auxot account with at least one custom agent ([Create an agent from scratch](/tutorials/create-an-agent-from-scratch)). Admin access to a Slack workspace, and a Slack bot token (instructions in Step 2). For the personal linking step, every user who'll use the agent in Slack just needs to be in the workspace.
You'll end up with One Slack channel wired to one agent (**Mentions** or **All** — your choice) with teammates prompted through **Linked Accounts** so threaded replies mirror the Auxot-side agent they already configured.

When a tutorial shows italic text in quotation marks, it usually mirrors a label or helper string inside Auxot. Product copy changes between releases — if something reads differently in your workspace, trust what you see on screen.

Callouts with a Worth knowing gold accent are meant as must-read context before you move on. Blockquotes that open with Tip are lighter, optional depth.

Why this matters

The agents you’ve built are useful in Auxot’s chat window. They’re way more useful in the chat window your team already lives in.

Slack is where most teams already do their work: questions get asked there, decisions get made there, and support tickets get triaged there. Every minute someone has to leave Slack to ask an agent something is a minute they probably don’t bother. Bringing the agent into Slack flips that: now the agent answers right where the question was already going to be asked.

Connecting Slack has two parts. Admins (you, on this tutorial) wire an agent to a Slack workspace and pick which channels it lives in. Each teammate then links their personal Slack identity once, so the agent knows it’s them asking when they post in a channel. After that, every Slack-linked agent in your organization recognizes them: they don’t repeat the linking step per agent.

Today, connect one agent to one channel. The next time your teammates have a question in Slack, that agent is there to answer it with the same context, voice, and tools you’ve given it.

An agent connected to Slack reads messages from the channels you’ve wired, recognizes each person by their linked Slack identity, and replies in the same thread. The Description and context files you wrote for the agent apply in Slack too — your Slack agent sounds like your Auxot agent because it is the same agent; Slack is just another way to reach it.


Quick start

  1. Sign in to Slack (in another tab) as a workspace admin and create a Slack bot. You’ll get a bot token. (Step 1 of the Walkthrough has the exact clicks.)
  2. Sign in to Auxot as an admin.
  3. Open the agent you want to wire: Settings → Agents → click the agent.
  4. Connect Slack: find the Slack card on the agent’s detail page, click Connect Slack, paste your bot token, give the integration a name, and save.
  5. Add a channel: click Add Channel, pick the Slack channel, choose Respond to: mentions or all, and save.

Done? The agent is now live in that Slack channel. Ask each teammate to link their identity (Step 5 of the Walkthrough).


The agent can do that?

Rollouts go badly when the wrong agent lands in a high-traffic channel and nobody reads it. Paste rollout questions into Admin-Agent chat first; the reply names the agents and context files you already have, and then you click Connect Slack and pick channels yourself.

1. Pick the first agent + channel

Chat → Admin Agent:

I want to start putting my Auxot agents into Slack. Looking at the agents I have today and the kinds of work my team does, which one should I wire to which Slack channel first? Recommend a starting setup — agent + channel + Mentions vs All mode — and tell me why it's the right starting point.

Why it’s non-obvious: In a busy channel, one bad first impression and the bot stops getting used. After you paste the prompt, the reply suggests a prioritized pairing against the agents you already described instead of you picking one while distracted by notifications.

2. Announcement copy for #channel-name

Once the binding exists, paste:

I just connected my "[agent name]" agent to the #[channel name] Slack channel in Mentions mode. Draft a short announcement I can post in the channel introducing the agent — what it's for, how to talk to it (@-mention it), what kinds of questions it handles best, and what it should never be asked to do. Match a friendly, casual workplace tone.

Why it’s non-obvious: Surprising people with a new bot in their channel confuses @mention etiquette. Ask the assistant to summarize the agent’s Description and caveats already in Auxot; edit the voice yourself before posting so the channel announcement reads as intentional, not improvised.

3. Sequence the broader rollout

Still in chat:

Map out a full Slack rollout for my Auxot agents. For each of my agents, recommend whether it should be wired to Slack (some should, some shouldn't), which channel, what mode, and in what order I should wire them — week one, week two, and week three. Flag any agents whose job descriptions need tightening before they're ready to take live questions.

Why it’s non-obvious: Turning on every agent at the same time hides each one’s weaknesses inside a wave of new traffic, where they all show up at once in public Slack scrollback. Breaking the rollout into a sequence makes it obvious which Descriptions still need Give your agent its job description work before they take live questions.


Go deeper

Discord: hands-on walkthrough

Discord matches the same shape (bot token on the agent, channel bindings, and Linked Accounts), but the Developer Portal steps differ: Message Content Intent, Guild Install invites, and per-server DM privacy bite teams that skip the checklist.

Walk it end-to-end in Connect Discord to your agents. You can wire Slack and Discord to the same agent; each integration row is independent.

The page’s helper text covers both: “Link apps such as Discord and Slack to your profile so the agents know who you are in channels and direct messages.”

Mentions vs All: picking the right mode

Mentions mode: the bot only responds when @mentioned. Use this for:

  • Channels with normal conversation flow where the bot is one available helper among many.
  • High-traffic channels where you don’t want every message becoming an agent job.
  • Channels where the bot’s job is reactive (someone has a question, they ping the bot).

All mode: the bot responds to every message. Use this for:

  • Dedicated agent channels (“#ai-help,” “#draft-emails”) where the whole point of the channel is talking to the agent.
  • Customer-facing intake channels where every message should produce a response.
  • Test channels you’ve set up to evaluate an agent’s behavior before rolling it out wider.

You can switch modes anytime by removing the channel binding and adding it back with the new mode.

Troubleshooting
  • Bot doesn’t reply when @mentioned. Check the channel binding’s status on the agent’s detail page. Common cause: the bot wasn’t actually invited to the channel. In Slack, type /invite @AuxotBot in the channel.
  • “Authentication failed” when saving the bot token. The token was copied wrong (extra space, missing character) or has been rotated since you copied it. Generate a fresh token from api.slack.com/apps and paste again.
  • Bot replies in the channel but doesn’t recognize a specific teammate. That teammate hasn’t linked their Slack identity yet (Step 6). Have them link, then try again.
  • A teammate gets “Could not find that name in Slack” during linking. Their display name lookup failed. Try the Slack username instead of the full display name, or vice versa. Names are case-sensitive.
  • The agent replies but the answers feel generic / off. This isn’t a Slack problem: it’s an agent problem. Slack just relays the messages. Sharpen the agent’s Description (Give your agent its job description) or attach better context files (Add your first context file) and the Slack answers improve too.
  • “All” mode is creating too many agent jobs. Switch to Mentions mode. Or build a dedicated agent channel and route only the relevant conversations there.
  • The bot posted to the wrong thread. Slack’s threading model means the bot replies in whatever thread the triggering message is in. If you want it to start a new top-level message, the user has to send a top-level message (not a thread reply).
Variations & edge cases
  • Microsoft Teams isn’t currently supported by Auxot’s integrations: Slack and Discord are the two chat platforms wired today. If your team is on Teams, the workaround is to use the Auxot API (Generate your first API key / Create a shared Team API Key) to build a custom Teams bot that calls your agents. Native Teams support is on the roadmap.
  • Multiple agents in the same channel. Each agent has its own bot identity (its own bot token). You can wire two different agents to the same channel: users @mention whichever bot they want. Useful when you have specialized agents (Support Agent, Research Agent) that overlap in scope.
  • Multiple Slack workspaces, one Auxot account. You can connect the same agent to several Slack workspaces by adding multiple integrations on the agent’s detail page. Each one gets its own bot token and its own channel bindings.
  • Free and Team tier support Slack integrations the same way Business and Enterprise do. The integration setup itself isn’t tier-locked. Multi-team scoping (different agents wired to different teams’ Slack workspaces) requires Business or Enterprise.
  • Removing the integration disconnects the bot cleanly: no more replies in the wired channels, no more linking flows. To temporarily pause without unlinking everything, just remove the channel bindings: the integration stays connected, but the bot has nothing to listen to.
  • Token rotation. If you ever rotate the Slack bot token, click into the integration, paste the new token, save. Channel bindings and user links survive the rotation.
  • Bot identity vs agent identity. The Slack bot is named whatever you named it in api.slack.com. The agent it’s connected to is named in Auxot. Most teams keep the names matching (bot called “AuxotBot,” agent called “AuxotBot”) but they don’t have to.

Walkthrough

Step 1: Create a Slack bot and get a bot token

This part happens in Slack, not Auxot. You only do it once per Slack workspace.

a. Go to api.slack.com/apps

Open api.slack.com/apps in another tab. Sign in with your Slack workspace account if needed.

b. Create a new app

Click Create New AppFrom scratch. Name it something you’ll recognize (“Auxot Bot”), and pick the Slack workspace you want it installed in. Click Create App.

c. Give the bot the right permissions

In the left sidebar, click OAuth & Permissions. Scroll to Bot Token Scopes and add at least:

  • app_mentions:read: lets the bot see when it’s @mentioned in a channel.
  • channels:history: lets the bot read channel messages.
  • chat:write: lets the bot post replies.
  • im:history: lets the bot see direct messages sent to it.
  • im:write: lets the bot send direct messages (used for the user-linking flow).
  • users:read: lets the bot look up users for the linking step.

If you want the bot to listen on private channels, add groups:history and groups:read too.

d. Install the app to your workspace

Scroll up on the same OAuth & Permissions page and click Install to Workspace (or Reinstall if you’ve made changes). Slack walks you through approving the permissions.

After installing, copy the Bot User OAuth Token that appears at the top of the page. It starts with xoxb-.... You’ll paste it into Auxot in Step 3.

Tip: Treat the bot token like a password. Anyone who has it can post to your Slack as the bot. Don’t paste it into a public chat or commit it to a repo. Auxot encrypts it once you save it on your end.

Step 2: Sign in to Auxot

Open Auxot in your browser and sign in. You need to be an org admin (or a Team Admin/Owner if your account is on Business/Enterprise and you’re connecting an integration to a team-scoped agent).

Step 3: Open the agent you want to wire to Slack

Click Settings in the left menu, then Agents. Click the agent you want to give a Slack home. (Don’t have a custom agent yet? Create an agent from scratch covers building one. The Admin Agent itself isn’t designed for Slack: it’s for managing your Auxot account, not for replying to your team.)

Step 4: Connect Slack on the agent’s detail page

On the agent’s detail page, scroll to the Slack card. (If you don’t see it, your version of Auxot may not have Slack wired in for this agent type yet: see Variations below.)

Click Connect Slack. A modal opens asking for two things:

  • Name: what to call this Slack integration in your account. ”Acme Slack — production,” ”Customer support workspace,” etc. Naming matters when you connect the same agent to multiple workspaces later.
  • Bot Token: the xoxb-... token you copied in Step 1.d.

Click Connect. Auxot validates the token, registers the integration, and shows the connection status (connected if all is well, error with a specific message if not).

Step 5: Add a channel binding

A connection to Slack alone doesn’t do anything yet: the agent needs to know which channels to listen in.

On the same Slack card, click Add Channel. Auxot fetches the list of channels the bot has access to in your workspace (you may need to scroll). Pick the channel you want. Then choose the Respond to mode:

  • Mentions: the agent only responds when somebody @mentions it explicitly (e.g., ”@AuxotBot summarize last week’s tickets”). Good default for busy channels where you don’t want the bot in every conversation.
  • All: the agent responds to every message in the channel. Good for dedicated agent channels (”#ai-help,” ”#draft-emails”) where the whole point is talking to the agent.

Click Add Channel. The binding is live within a few seconds.

Tip: Start with Mentions mode on a normal channel before flipping any channel to All. “All” mode means the bot reads every message including ones not directed at it; on a chatty channel that adds up to a lot of agent jobs (and a lot of tokens).

The bot can now reply in the channel. But to recognize who’s asking (so it can personalize replies, route appropriately, and apply per-user context), each teammate needs to link their personal Slack identity to their Auxot account. Each person does this once; after that, every Slack-linked agent in your org knows it’s them.

Tell your teammates:

  1. Sign in to Auxot.
  2. Click Settings in the left menu, then Linked Accounts.
  3. Find the Slack card. The page’s helper text frames it well: “You only need to link once. After that, every Slack-linked agent in your organization can recognize you.”
  4. Click Link My Slack Account.
  5. Enter the Slack display name as it appears in your workspace (e.g., “jdoe” or “Jane Doe”).
  6. Click Send Code. The bot sends a verification code to your Slack DMs.
  7. Open the DM, copy the 6-character code, paste it into the Verification code field in Auxot, click Verify.

The card flips to Linked and shows the linked Slack username. From then on, every time that person posts in a wired channel, the agent recognizes them as that Auxot user.

Tip: If a teammate gets “Could not find that name in Slack,” their display name didn’t match exactly. Try their Slack username (without spaces or @ sign), or their full display name. The bot has to find them in the workspace by name lookup before it can DM them.

Step 7: Test the wiring end to end

In the Slack channel you wired:

  • If you used Mentions mode: type @AuxotBot (or whatever you named the integration) followed by a question the agent should be able to answer.
  • If you used All mode: just type the question. The agent will see it and reply.

Within a few seconds, the agent posts a reply in the same Slack thread. The reply has the same voice, the same context-file knowledge, and the same tools the agent has in the Auxot chat window: because it’s the same agent.

If nothing happens, see Troubleshooting below.


What’s next

Reference