Connect your toolsSources

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

SurfaceWhat it becomes
A thread that has gone quietEvidence quoting the people in it
A finished day of standalone messages in a channelEvidence 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:

ScopeWhy
channels:historyread the messages
channels:readresolve each channel's name and confirm the app is in it
users:readturn 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.

Callout 1: the Slack tile, badged Beta.

On Connection details, name the source and paste the bot token and the channel IDs.

Callout 1: the bot token. Callout 2: the channel list. One help line is hidden here — it points at a file only the Adduce team can open.

Put the channel IDs in Channels, separated by commas. They begin with C.

The field's own help repeats where a channel ID is found, and the invite.

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.

What's next

On this page