Tutorial 16

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 prompts that turn the Admin Agent into your Slack-rollout coach — picking which agent to wire to which channel first, drafting the announcement, and figuring out which channels will get the most value.

Audience Admins · Everyone
Time ~7 min
Prerequisites An Auxot account with at least one custom agent (Tutorial 07). 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 agent connected to a Slack channel — responding when @mentioned (or to every message, if you want), recognizing each teammate by their Slack identity, and routing replies to the right thread automatically.

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, 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. Tomorrow, that agent is answering in Slack the same way it answers in Auxot — with the 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 come along for the ride — your Slack agent sounds like your Auxot agent because it is the same agent, just with a different doorway.


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, save.
  5. Add a channel — click Add Channel, pick the Slack channel, choose Respond to: mentions or all, 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?

Slack rollouts are usually less about can we technically connect it and more about which agent should live where, how do we tell the team, what’s the order of operations. The Admin Agent can do the planning. Three prompts.

1. Have the Admin Agent recommend which agent to wire to which channel first

Open chat with the Admin Agent and ask:

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: Most Slack rollouts fail on day one because the wrong agent gets wired to the wrong channel — the support agent ends up in the company-wide channel where it gets pinged for things outside its scope, or the most useful agent gets buried in a channel nobody reads. The Admin Agent reads what your agents are for and what your team’s channels probably look like, and recommends an order — so the first time someone uses a Slack agent, it’s the kind of question it’s actually good at.

2. Have the Admin Agent draft the team announcement

Once you’ve wired the first agent, ask:

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: Agent rollouts that include “here’s how to use it” land way better than the silent-launch ones. The Admin Agent already knows the agent’s job description and constraints — it can write a one-paragraph announcement that’s specific to your agent (not boilerplate), so your teammates know exactly when to @mention it instead of asking around.

3. Have the Admin Agent map your full Slack rollout

Same 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, week three. Flag any agents whose job descriptions need tightening before they're ready to take live questions.

Why it’s non-obvious: Rolling out all your agents to Slack at once is the worst possible move — it overwhelms your team and surfaces every weakness in every agent at the same time. The Admin Agent can sequence the rollout, flag agents that need a Description tightening (Tutorial 05) before they should face live users, and turn “how do I get my whole AI setup into Slack” into a manageable plan.


Go deeper

Discord works almost the same way

The flow is essentially identical for Discord — same bot-token + channels-and-modes pattern, same per-user identity linking. Two small differences:

  • Discord’s permission scopes are different (you grant the Discord bot access to specific servers, not channels).
  • The user-linking flow uses Discord DMs instead of Slack DMs to deliver the verification code.

If you have both Slack and Discord users in your org, you can wire the same agent to both — each gets its own integration row on the agent’s detail page.

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 is just a doorway. Sharpen the agent’s Description (Tutorial 05) or attach better context files (Tutorial 04) 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 (Tutorial 02 / Tutorial 11) 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? Tutorial 07 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

  • Pages in Auxot: Settings → Agents (admin connects integration), Settings → Linked Accounts (each user links identity)
  • Slack permissions needed: app_mentions:read, channels:history, chat:write, im:history, im:write, users:read (plus groups:* for private channels)
  • Channel response modes: Mentions (reply only when @mentioned) or All (reply to every message)
  • Permissions in Auxot: org admins can connect integrations on agents; any user can link their personal account
  • Tier: all tiers (no gating); multi-team scoping requires Business or Enterprise
  • Discord uses the same flow with Discord-specific scopes
  • Microsoft Teams is not currently supported (use Auxot API to build a custom bot)
  • See also: Tutorial 17: Manage your Credentials, Tutorial 15: Set up an Escalation