Slack is where a report lands, not a data source. You describe the report in Claude or ChatGPT: what to check, how often, and which channel should see it. Contextflo runs it against your connected sources and posts the result, with a link to the full report.
How it connects
Slack connects with OAuth. An admin clicks Add to Slack in Contextflo and approves the app for the workspace. There is no API key to paste.
The app asks for these scopes:
| Scope | Why |
|---|---|
chat:write | Post report messages |
channels:read, groups:read | List channels in the picker |
channels:join | Join a public channel when you pick it |
users:read, im:write | Look up workspace members (reports post to channels today) |
There is no history scope. Contextflo can post to Slack but can't read your messages.
What's covered
Each time a report runs, the Slack message carries:
- the report name as the header
- the status, plus "(triggered)" when a condition fired the report
- the summary, or the full report if you chose full for that channel, with tables as native Slack blocks
- a View Report button that opens the run in Contextflo
You can also push any past run to a channel by hand.
Permissions
Three levels, each narrower than the last:
- Connecting Slack: admins only.
- Choosing where a report posts: the person who created the report, or an admin.
- Reading the message: anyone in the channel. Pick channels with that in mind. Summary mode keeps the message short, and the full report stays behind the View Report link, which needs a Contextflo login.
The queries behind a report are read-only. Posting to Slack never writes anything to your data sources.
Freshness
Every run queries your sources at run time, so a message reflects the data as of that run. Reports go out on a schedule (daily, weekly or monthly, at a time you pick, in your timezone), or only when a condition is met, like "tell me when refunds go over 5% of orders".
Set it up
- Connect your AI tool. If Claude or ChatGPT isn't talking to Contextflo yet, add the connector first: Claude or ChatGPT.
- Add to Slack. In Contextflo, go to Settings > Notifications and click Add to Slack. You need to be an admin.
- Approve the app in Slack. The card in Contextflo shows your workspace name and Connected.
- Create a report. In Claude or ChatGPT, say what to check and when. Or open an existing report in Contextflo.
- Pick a channel. On the report, add a Slack destination and pick a channel. For a private channel, invite
@Contextflothere first. - Choose summary or full for that channel.
On Microsoft Teams instead? See the Teams integration.
FAQ
Can Contextflo read our Slack messages?
No. The Slack app has no history scope. It can list channels for the picker and post report messages, but it cannot read what is in a channel.
Does it work with private channels?
Yes. Invite @Contextflo to the private channel first, then pick it on the report. For a public channel, Contextflo joins on its own when you pick it.
Who can connect Slack?
An admin of your Contextflo workspace. After that, the person who created a report, or any admin, chooses which channels it posts to.
How fresh is the data in a Slack message?
Every run queries your sources when it runs, so a message shows the data as of that run, not as of the last time someone opened a dashboard.
What happens if we disconnect Slack?
Delivery stops for every channel that used it. To resume, reconnect Slack and pick the channels again on each report.