Skip to content
Integrations

Connect Slack to Armbrain

Slack works with Armbrain in two directions, and they are completely separate:

You can do either, both, or neither.

Before you start

You need to be in the Slack workspace where you want briefings to land. If you have multiple workspaces (your agency's plus client workspaces), make sure you are signed into the right one in your browser before you click Connect.

Connect

  1. Open https://hq.armbrain.io and sign in.
  2. Click Briefings in the left nav.
  3. In the Slack delivery panel at the top, click Connect Slack.
  4. Slack opens a consent screen showing what Armbrain Briefings can do:
  1. Click Allow. Slack redirects you back to the dashboard.

Pick a channel

After approving on slack.com you land back on the Briefings tab with a channel picker. Three options:

Click Save channel. The connection panel flips to "Connected → #cmo-daily" (or whatever channel you picked).

Verify

On the Briefings tab, find the row for Morning Briefing and click Run + Slack. Within ten seconds the briefing should post to the channel you picked. If it posts, you are done — tomorrow at 6am local time the cron fires automatically.

Pull Slack messages into Armbrain (ingestion)

This is separate from briefings delivery above. To pull a client's Slack conversations into memory, Armbrain uses the Slack integration you already have in Claude — the same source-agnostic approach as email. Claude reads the channel through your Slack integration and hands the conversation to Armbrain. There is no Armbrain-side Slack connection, no OAuth, and no dashboard step for this.

Prerequisite: Slack connected in Claude

You need Slack connected as an integration in Claude itself — in Claude Desktop or claude.ai, open Settings → Connectors and confirm Slack is connected. If you can already ask Claude to read one of your Slack channels, you're set. Armbrain doesn't need its own Slack permission for this; it uses Claude's.

Pull a channel into a client

Switch to the client, then ask Claude in plain English to ingest the channel:

Ingest my Acme Slack channel into the Acme client

Other ways to say it:

Pull the last two weeks of #acme-marketing into Acme
Catch Armbrain up on my 5 Star Slack channel
/cmo-ingest Acme slack

Claude finds the channel that matches the client, reads its recent history through your Slack integration, groups the messages that matter — decisions, commitments, who's waiting on what — and stores them as memories in that client's client mind. Routine chatter (acks, emoji, bot pings) is skipped. Each run remembers where it left off, so asking again only pulls messages newer than last time.

Verify

Right there in Claude, ask "what's new in Acme?" or "show me the recent Slack memories for Acme." The conversation you just ingested should come back as memories, tagged with the channel it came from.

A word on consent

You're ingesting messages other people wrote in your client's workspace. Make sure you're allowed to — treat it like saving their meeting transcripts or forwarding their email. When an engagement ends, the captured memories travel with that client's client mind in a handoff.

Reconnecting

If your Slack workspace owner removes the Armbrain Briefings app, or your token is revoked for any other reason, the connection panel switches to a red Reconnect needed banner with the reason. Click Reconnect Slack to start the OAuth flow again — your channel choice is preserved.

Disconnecting

Click Disconnect in the connection panel. Armbrain:

  1. Calls Slack's auth.revoke to invalidate the bot token.
  2. Deletes the install row from our database.

After disconnecting, briefings stop delivering until you reconnect. The channel itself stays in your workspace; we only manage the bot's access.

What we store

When you connect Slack, Armbrain stores in our database:

Two separate things, two separate answers:

Troubleshooting

"This app is restricted by your Slack admin." Your workspace administrator has app-install restrictions. Open https://[your-workspace].slack.com/apps/manage and request approval for "Armbrain Briefings" — your admin can approve it from there. Once approved, click Connect again.

"Slack issued fewer scopes than requested." The OAuth screen had toggles unchecked. Click Reconnect and approve all requested scopes — Armbrain needs all of them to post and manage the briefings channel.

Connect button does nothing. Hard-refresh the dashboard (Cmd+Shift+R on Mac, Ctrl+Shift+R on Windows). If still stuck, check that you are signed into the dashboard with the right API key.

Briefing did not post. Check the connection panel — if it says "Reconnect needed," your token has been revoked. Otherwise verify the bot is in the channel by running /invite @Armbrain once.

Claude can't find or read my Slack channel for ingestion. Ingestion uses Claude's Slack integration, not the Armbrain briefings connection. In Claude, open Settings → Connectors and confirm Slack is connected. If it is and Claude still can't see a private channel, make sure your Slack user is a member of that channel.

Ingestion grabbed the wrong client's channel. Switch to the right client first (switch to Acme), then ask again naming the channel explicitly: "ingest #acme-marketing into Acme."

For any other failure mode, contact your fractional CMO contact at Armbrain or email armbrain@volacci.com.


Related: Briefings overview | What Armbrain stores | Disconnect a connector