docs/content/toolkits/faq/slack.md
Composio turns Slack's API into ready-to-use tools that AI agents and automations can call. With the integration you can send and read messages, manage channels, upload files, react to events, search conversations, and more — all through a unified platform. Composio supports two toolkits: Slack (authenticate as a user for workspace-level actions) and Slackbot (authenticate as a bot for in-channel messaging, app mentions, and slash commands). Developers connect their Slack workspace once and then orchestrate any combination of these actions from their agents or workflows.
Composio executes API calls on behalf of your connected account. All data is encrypted and subject to a 30-day retention policy. Authentication tokens are encrypted at rest and scoped to the permissions you grant during the OAuth flow. For full details on data handling, retention, and third-party data practices, see our Privacy Policy.
For a step-by-step guide on creating and configuring your own Slack OAuth credentials with Composio, see How to create OAuth credentials for Slack.
Slack is for workspace-level API access (channels, files, users) while Slackbot is bot-centric (messaging, interactivity). Slack triggers cover workspace events; Slackbot covers bot entry points like app mentions, DMs, and slash commands. Slack can post as the app; Slackbot posts as the bot user.
See the Slack scopes reference.
Update the redirect URL in your Slack App under OAuth & Permissions → Redirect URLs.
Enable Event Subscriptions in your Slack app. Set the Request URL to https://backend.composio.dev/api/v3/trigger_instances/slack/default/handle. Add events (e.g., reaction_added) to Subscribe to Bot Events and save. If using the Slackbot integration, add the bot to the channels you want to monitor.
Either you're missing a bot scope (add one under OAuth & Permissions) or you have "Insufficient scopes" (ensure all scopes from your auth config are configured in the Slack app).
as_user parameter do in Slack tools?For the Slack toolkit, set as_user=True to post as the authenticated user. For Slackbot, leave it blank (defaults to false). A missing_charset error usually means invalid as_user, wrong channel ID, or missing required fields.
Provide the Verification Token or signing secret in the auth config so Composio can validate incoming events.