Everything below lives in Settings → Integrations → Slack. Pick the tab that fits — you can use webhooks and bots at the same time.
Webhook URLs — notifications (one-way)
Best for alerts and digests: watchdog findings, routine/sequence summaries, completion pings. Ambrose only posts — it can't read replies on this mode.
#alerts) + paste the URL → Add. "Test" posts a small visible message.Add as many channels as you want — each is a separate row, and agents/routines pick a target by label.
Slack Bots — two-way (@mention / DM → an agent or team)
This is the powerful mode. A bot is a Slack app connected to your Ambrose agents/teams. Tag the bot in a channel (or DM it) and an agent/team answers, replying in the same thread. You can add as many bots as you like. Each bot runs in one of two modes:
| Mode | Who answers | How you use it |
|---|---|---|
| Bound | One fixed agent/team you pick when you create the bot. | @YourBot your question — always the same node. |
| Router | Any team/agent in your agency, chosen by name from the message. | @YourBot renewals: your question — one bot reaches every team. |
Fastest: one-click install (when enabled)
If Slack is pre-configured for your Ambrose platform, Settings → Integrations → Slack shows an “Add Ambrose to Slack” button. Click it → press Allow on Slack's consent screen → done. This installs a ready-to-use router bot — no Slack app to create, no scopes to add, no tokens to copy. You can immediately @Ambrose teamname: your question in any channel you invite it to.
You can also “Sign in with Slack” from the login or sign-up page to create or access your Ambrose account with your Slack identity — no password needed. A brand-new Slack identity creates its own Ambrose workspace; an existing one signs straight in.
Manual setup — Step 1: Create the Slack app (both modes)
app_mentions:read, chat:write, im:history, im:read, channels:history, users:read. Add files:write too if you want long answers uploaded as file snippets.https://app.hiambrose.com/slack/events) → wait for the green Verified → under Subscribe to bot events add app_mention (channel mentions) and message.im (DMs) → Save.xoxb-…, OAuth page) and the Signing Secret (Basic Information → App Credentials).xoxb-… back into Ambrose (rotate it on the bot row).Step 2 — Add the bot in Ambrose
Step 3 (Router) — mention a team by name
Slack can't @-mention a team (teams aren't Slack users), so with a Router bot you mention the bot and name the team in the text, followed by a colon:
@YourBot renewals: which of my clients have a plan termination this quarter?
@YourBot "client service": draft a welcome message for a new enrollee
In a DM you don't mention the bot — just start with the team name:
aca-website: how do I generate an ACA website?
How the name is matched (all scoped to your agency, teams win ties over agents):
- Exact slug —
renewal-manager - Exact name (case-insensitive) —
Renewal Manager - Unique prefix / substring —
renewals→renewal-manager
Fallbacks: if the name matches nothing, the bot replies with the list of teams you can reach. If it matches more than one, it asks you to be more specific. If you set a default team and send a message with no team prefix, that default runs.
@YourBot renewals: … routes to the renewals team; @YourBot how do I … (no colon) runs the bot's default team instead — or shows the team list if no default is set. Typing a team's name as a fake @mention (e.g. @renewals) does not work — Slack treats it as plain text.Make the bot usable for everyone in your workspace
Installing the app to your workspace already makes it available to every member — there is no per-user install. If teammates can't use it:
- Invite it to the channel. A bot only answers in channels it has joined:
/invite @YourBotin each channel. - For DMs, members open it from the left sidebar → Apps → search the app name → Message. (Requires the Messages Tab from Step 1.)
- Workspace app approval. If your workspace requires admin approval for apps, an Owner/Admin must approve it under Settings & administration → Manage apps.
- Different workspace? To let a separate Slack workspace install it, activate public distribution (api.slack.com/apps → Manage Distribution). Same-workspace use never needs this.
How it works
- Routing. Every bot shares one Request URL. Ambrose matches each incoming event to the right bot by workspace + the bot's signing secret, then (bound) runs the fixed node or (router) resolves the team named in the message.
- Isolation. A router bot only ever resolves teams/agents inside its own agency — never from the Slack workspace or the message text. A name that isn't yours simply doesn't match.
- In-thread replies. The answer is posted back in the same thread as the mention, so conversations stay tidy.
- Mentions & DMs. Channel
@mentionsalways work. DMs work when "Also answer direct messages" is on andmessage.imis subscribed. - Multiple bots. Run a bound Support bot and a router bot side by side; each is independent. Each row has Enable/Disable and Delete.
- Billing. Bot replies run the agent/team exactly like in-app chat — billed the normal way (platform Bedrock deducts credits; your own Anthropic key is logged but not charged). See AI provider.
- Privacy. The agent/team's normal PHI handling applies; only de-identified content leaves under the configured mode. See PHI mode.
Troubleshooting
- "Sending messages to this app has been turned off." Turn on App Home → Messages Tab and tick "Allow users to send Slash commands and messages from the messages tab," then reinstall and reopen Slack. This is a Slack setting, not an Ambrose one.
- Router bot answered generically instead of the team. You left out the colon (or the bot mention). Use
@YourBot teamname: your question; in a DM, start withteamname:. - "Which team?" or "matched more than one." The name you used was empty/unknown or ambiguous. Use the exact slug (e.g.
aca-website:) — the reply lists the names you can use. - Slack won't verify the Request URL. Paste it exactly (
https://app.hiambrose.com/slack/events) and press Retry in Slack. - Bot doesn't respond to a mention. Confirm it's invited to that channel, enabled in Ambrose, and you subscribed to
app_mention. - DMs ignored. Turn on "Also answer direct messages," subscribe to
message.im, and enable the Messages Tab. - Other members can't use it. Invite the bot to their channels, have an admin approve it under Manage apps, and make sure the app is installed to the workspace.
- "Slack rejected the bot token." The
xoxb-…token is wrong or the app wasn't installed — reinstall and copy the Bot User OAuth Token again.