Esc

Start typing to search.

Improvado
Sign In

Slack

Written by Ilya Zinoviev

Updated on Sep 28, 2026

Description

Slack is a messaging platform that organizes team conversations into channels, direct messages and threads.

Setup guide

Follow our setup guide to connect Slack to Improvado.

Make sure you can install apps in your Slack workspace. If installation is blocked, ask a workspace owner or admin to approve the app.

Click Connections in the left navigation bar and select Slack in the Data sources catalog.

Choose how to connect:

OAuth (recommended)

Use this method for reports. It installs the Improvado app in your workspace, and the app reads the channels it is invited to.

Pick a permission set:

  • Read Only (default) - the workspace, its members, channels and user groups, plus the content of the conversations the app is invited to: messages, thread replies, direct and group direct messages, shared files and calls.
  • Read & Write - everything in Read Only, plus posting messages, adding reactions and setting up calls when you ask the Improvado agent to.
  • Custom - individual permissions of your choice.

Click Authorize and approve the app. Sign in to the right workspace first; an Incognito window helps.

Invite the app to every channel you want to extract: run /invite @Improvado in the channel.

Note

Slack lets an app read only the channels it is a member of. The Is Member column of the Channels report shows which channels are covered. Direct Messages and Group Direct Messages cover only conversations that include the Improvado app.

API Token

Go to api.slack.com/apps and create an app in the workspace you want to connect.

Open OAuth & Permissions and add the Bot Token Scopes you need:

  • chat:write - send messages to channels the app is a member of (add chat:write.public to post to public channels without joining).
  • team:read, users:read, channels:read - add these if you also need to extract workspace data.

Install the app to your workspace and copy the Bot User OAuth Token (it starts with xoxb-).

Invite the bot to the channels it should post to or read from: run /invite @your-app in the channel.

Paste the token into the Bot User OAuth Token field.

OAuth (Your Own Slack App)

Use this method so the Improvado agent searches, reads and posts in Slack as you, including through Slack's MCP server. The app is created once per workspace; after that, everyone who wants the agent to act as them connects with their own Slack account. Reports are not extracted through these connections.

Go to api.slack.com/apps, click Create New App, choose From a manifest, pick your workspace and paste this manifest (YAML):

display_information:
  name: Improvado Agent
oauth_config:
  redirect_urls:
    - https://connections.improvado.io/stat_provider_client/oauth_redirect/slack/
  scopes:
    user:
      - search:read.public
      - search:read.private
      - search:read.im
      - search:read.mpim
      - search:read.files
      - search:read.users
      - channels:history
      - groups:history
      - im:history
      - mpim:history
      - channels:read
      - groups:read
      - im:read
      - mpim:read
      - im:write
      - mpim:write
      - chat:write
      - reactions:read
      - reactions:write
      - users:read
      - users:read.email
      - files:read
      - files:write
      - canvases:read
      - canvases:write
      - emoji:read
settings:
  is_mcp_enabled: true
  token_rotation_enabled: false

The manifest registers Improvado's redirect URL, the permissions the agent uses and Slack's MCP server. Keep the scopes as they are: the connection asks for exactly this list.

Open Basic Information and copy the Client ID and Client Secret into the connection form.

Click Authorize and approve as yourself. Colleagues connect with the same Client ID and Client Secret and approve with their own Slack accounts.

After completing the connection process, the Slack connection will appear in your Connected sources list.

When the connection status is Active, and the account status column shows a number of accounts, you can move on to data extraction.

__wf_reserved_inherit

To extract data from the connected sources, check the instructions on how to set up data extraction.

Schema information

The schema information shows all report types you can use to extract data from Slack.

Troubleshooting

"The Improvado app hasn't been added to any public channel" - the Messages, Message Replies or Calls report found no public channel the app is a member of. Run /invite @Improvado in each channel you want to extract, then run the report again.

"The Improvado app is not a member of #channel" - the app was removed from that channel during the run. Invite it back with /invite @Improvado.

"Insufficient OAuth scopes" - the connection lacks the permission the report needs, for example because it was created before the report existed. Reconnect Slack with the Read Only or Read & Write permission set.

A channel is missing from the Messages report - check its Is Member value in the Channels report. Only channels the app is a member of are read.

Limits

Slack returns messages only from conversations the Improvado app belongs to: public and private channels it was invited to, and direct or group direct messages that include it. The first extraction reads one year of message history by default and up to two years at most.

Release notes

You can find information about the latest API changes in the official Release notes.

Was this article helpful?