Connect Slack channels
Create a Slack app, invite it to the channels you choose, and let Adduce read the settled conversations in them as evidence.
Adduce reads the public channels you name, using a bot token you create and control, and keeps what people wrote in conversations that have gone quiet.
Beta
This connector works, but it has not been proven against a real customer account yet, so Adduce badges it Beta wherever it appears. Tell us at hello@adducehq.com if what you see does not match this page.
Before you begin
- Role: project Editor or Lead. A workspace Admin is a lead on every project.
- In Slack: permission to create an app and install it in the workspace.
- To hand: the bot token, and the ID of every channel you want read.
- Time: fifteen minutes, most of it in Slack.
- This is not the same as getting Adduce into Slack to answer questions and deliver notifications. That is a separate, workspace-level app.
What Adduce reads
| Surface | What it becomes |
|---|---|
| A thread that has gone quiet | Evidence quoting the people in it |
| A finished day of standalone messages in a channel | Evidence quoting the people in it |
Nothing is read until it has been quiet for twenty-four hours: a live conversation would be read half-finished. Only the public channels you list and invited the app to are read — Adduce never lists your workspace's channels. Raw messages are never stored; what lands in Adduce is the evidence plus a link back to Slack.
Permissions the app needs
Three bot scopes, and no more:
| Scope | Why |
|---|---|
channels:history | read the messages |
channels:read | resolve each channel's name and confirm the app is in it |
users:read | turn a @ mention into a name |
No write scope is requested. No private channels and no direct messages are readable with these scopes.
Steps
At api.slack.com/apps, create a new app for your workspace and give it the three bot scopes above under OAuth & Permissions.
Install the app to the workspace and copy the Bot User OAuth Token. It begins xoxb-.
In each channel you want read, type /invite and add the app. Slack grants message history by membership, not by scope: without the invite the connector cannot read a word. Then right-click each channel, open View channel details, and copy the ID at the bottom.
In Adduce, open the project, choose Sources, then Add source, and choose the Slack tile.
On Connection details, name the source and paste the bot token and the channel IDs.
Put the channel IDs in Channels, separated by commas. They begin with C.
Choose Continue. Adduce checks the token, then checks each channel in turn, and names the exact channel the app still needs inviting to.
First sync and cadence
The first sync reaches back thirty days across every channel you listed. After that Adduce syncs once a day at 03:00 UTC, and Sync now runs one immediately. Each channel keeps its own place, so a problem in one never loses another's.
Expect the first sync of a busy channel to take hours, not minutes. Slack rate-limits an app like this one to roughly one request a minute, serving about fifteen messages each time. A run that stays Syncing for a long time is working, not stuck.
Disconnect or replace credentials
Delete the source from its page and type its name to confirm. Deleting removes the evidence it produced; the messages themselves stay in Slack, which remains the record. To rotate the token, delete the source and add it again; the next sync backfills thirty days afresh.
Removing a channel from the list simply stops it being read. Deleting or editing a message in Slack does not change evidence already taken from it — the link back will stop resolving.
If it did not work
Why does it say to invite the app to a channel?
The token is fine and the channel exists, but the app is not a member of it. Type /invite in that channel and add the app, then try the connection again. The message names the channel.
Why was the token rejected?
A Slack bot token begins xoxb-, and Adduce refuses anything else before it makes a call. A user token or an app-level token will not work. If the shape is right and Slack still refuses, reinstall the app and copy the token again.
Why is there no evidence from today?
Nothing is read until it has been quiet for twenty-four hours, and a channel of bot posts produces nothing at all: evidence has to come from something a person wrote.