Connect Slackbot to OpenClaw on Operator.io
Slackbot is a conversational automation tool for Slack that handles reminders, notifications, and automated responses. It boosts team productivity by streamlining onboarding, answering FAQs, and managing timely alerts—all right inside Slack.
Automate Slackbot with AI
Hand Slackbot to an OpenClaw agent running on Operator. You write what you want in a chat and it turns that into real Slackbot actions like add call participants, add reaction to message, add a remote file, without you opening the app.
Your agent reaches Slackbot directly or through connectors like Composio MCP and Pipedream MCP, which handle the sign in and token refresh for you, so there is nothing to wire up and no API keys to paste.
What your agent can do with Slackbot
Your agent can call any of these Slackbot actions by name as part of a larger task. Ask for the outcome you want and it picks the right ones.
Add call participants
Registers new participants added to a Slack call.
Add reaction to message
Adds a specified emoji reaction to an existing message in a Slack channel, identified by its timestamp; does not remove or retrieve reactions.
Add a remote file
Adds a reference to an external file (e.g., Google Drive, Dropbox) to Slack for discovery and sharing, requiring a unique `external_id` and an `external_url` accessible by Slack.
Archive a Slack conversation
Archives a Slack conversation by its ID, rendering it read-only and hidden while retaining history, ideal for cleaning up inactive channels; be aware that some channels (like #general or certain DMs) cannot be archived and this may impac...
Close conversation channel
Closes a Slack direct message (DM) or multi-person direct message (MPDM) channel, removing it from the user's sidebar without deleting history; this action affects only the calling user's view.
Create a reminder
Creates a Slack reminder with specified text and time; time accepts Unix timestamps, seconds from now, or natural language (e.g., 'in 15 minutes', 'every Thursday at 2pm').
Create Slack Canvas
Creates a new Slack Canvas with the specified title and optional content.
Create channel
Initiates a public or private channel-based conversation in a Slack workspace. Immediately creates the channel; invoke only after explicit user confirmation.
Create a Slack user group
Creates a new User Group (often referred to as a subteam) in a Slack workspace.
Customize URL unfurl
Customizes URL previews (unfurling) in a specific Slack message using a URL-encoded JSON in `unfurls` to define custom content or remove existing previews.
Delete Slack Canvas
Deletes a Slack Canvas permanently and irreversibly. Always confirm with the user before calling this tool.
Delete a file by ID
Permanently deletes an existing file from a Slack workspace using its unique file ID; this action is irreversible and also removes any associated comments or shares.
Delete file comment
Deletes a specific comment from a file in Slack; this action is irreversible.
Delete a Slack reminder
Deletes an existing Slack reminder, typically when it is no longer relevant or a task is completed; this operation is irreversible.
Delete a message from a chat
Deletes a message, identified by its channel ID and timestamp, from a Slack channel, private group, or direct message conversation; the authenticated user or bot must be the original poster.
Delete scheduled chat message
Deletes a pending, unsent scheduled message from the specified Slack channel, identified by its `scheduled_message_id`.
Disable a Slack user group
Disables a specified, currently enabled Slack User Group by its unique ID, effectively archiving it by setting its 'date_delete' timestamp; the group is not permanently deleted and can be re-enabled.
Download Slack file
Tool to download Slack file content and convert it to a publicly accessible URL. Use when you need to retrieve and download files that have been shared in Slack channels or conversations.
Edit Slack Canvas
Edits a Slack Canvas with granular control over content placement. Supports replace, insert (before/after/start/end) operations for flexible content management.
Share file public url
Enables public sharing for an existing Slack file by generating a publicly accessible URL; this action does not create new files. Once enabled, the file is accessible to anyone with the URL — verify intent before sharing sensitive or con...
Enable a user group
Enables a disabled User Group in Slack using its ID, reactivating it for mentions and permissions; this action only changes the enabled status and cannot create new groups or modify other properties.
End a call
Ends an ongoing Slack call, identified by its ID (obtained from `calls.add`), optionally specifying the call's duration.
Fetch conversation history
Fetches a chronological list of messages and events from a specified Slack conversation, accessible by the authenticated user/bot, with options for pagination and time range filtering. IMPORTANT LIMITATION: This action only returns messa...
Fetch item reactions
Fetches reactions for a Slack message, file, or file comment. Exactly one identifier path must be provided: `channel`+`timestamp`, `file`, or `file_comment`. Mixing identifiers (e.g., providing both `channel`+`timestamp` and `file`) caus...
Retrieve conversation replies
Retrieves replies to a specific parent message in a Slack conversation, using the channel ID and the parent message's timestamp (`ts`). Note: The parent message in the response contains metadata (reply_count, reply_users, latest_reply) t...
Fetch team info
Fetches comprehensive metadata about the current Slack team, or a specified team if the provided ID is accessible.
Find channels
Find channels in a Slack workspace by any criteria - name, topic, purpose, or description. Returns channel IDs (C*/G* prefixed) required by most Slack tools — always resolve names to IDs here before passing to other tools. NOTE: This act...
Lookup users by email
Retrieves the Slack user object for an active user by their registered email address; requires the users:read.email OAuth scope. Fails with 'users_not_found' if the email is unregistered, the user is inactive, the account is a guest, or...
Find users
Find users in a Slack workspace by any criteria - email, name, display name, or other text. Includes optimized email lookup for exact email matches. Zero results may reflect email visibility restrictions or workspace policies, not global...
Fetch bot user information
Fetches information for a specified, existing Slack bot user; will not work for regular user accounts or other integration types.
Retrieve call information
Retrieves a point-in-time snapshot of a specific Slack call's information.
Get reminder information
Retrieves detailed information for an existing Slack reminder specified by its ID; this is a read-only operation.
Get remote file
Retrieve information about a remote file added to Slack via the files.remote API. Does not work for standard Slack-hosted file uploads.
Retrieve team profile details
Retrieves all profile field definitions for a Slack team, optionally filtered by visibility, to understand the team's profile structure.
Get team DND status
Retrieves a user's current Do Not Disturb status.
Retrieve user presence
Retrieves a Slack user's current real-time presence (e.g., 'active', 'away') to determine their availability, noting this action does not provide historical data or status reasons.
Invite users to a Slack channel
Invites users to an existing Slack channel using their valid Slack User IDs. Response is always HTTP 200; inspect `ok`, `error`, and `errors` fields to confirm users were added.
Join conversation by channel id
Joins an existing Slack conversation (public channel, private channel, or multi-person direct message) by its ID, if the authenticated user has permission. Joining an already-joined channel returns a non-fatal no-op response. Private or...
Leave conversation channel
Leaves a Slack conversation given its channel ID; fails if leaving as the last member of a private channel or if used on a Slack Connect channel.
List all channels
Lists conversations available to the user with various filters and search options. Always use resolved `channel_id` (not display names) for downstream operations, as names may be non-unique. The `created` field in results is a Unix epoch...
List all users
Retrieves a paginated list of all users with profile details, status, and team memberships in a Slack workspace; data may not be real-time. Filter response fields `is_bot`, `is_app_user`, and `deleted` to build human-only rosters. Profil...
List conversations
List conversations (channels/DMs) accessible to a specified user (or the authenticated user if no user ID is provided), respecting shared membership for non-public channels. Returns conversation IDs (C* for channels, G* for group DMs), n...
List team custom emojis
Retrieves all custom emojis for the Slack workspace (image URLs or aliases), not standard Unicode emojis; does not include usage statistics or creation dates.
List Slack files
Lists files and their metadata within a Slack workspace, filterable by user, channel, timestamp, or type; returns metadata only, not file content. Results are limited to files visible to the authenticated user — files in private channels...
List pinned items in a channel
Retrieves all messages and files pinned to a specified channel; the caller must have access to this channel.
List reminders
Lists all reminders with their details for the authenticated Slack user; returns an empty array if no reminders exist (valid state, not an error). Reminder text is not unique—perform client-side matching on returned objects before extrac...
List remote files
Retrieve information about a team's remote files.
List all users in a user group
Retrieves a list of all user IDs within a specified Slack user group, with an option to include users from disabled groups.
Plus 37 more Slackbot actions your agent can call.
How to connect Slackbot
You authorize Slackbot once from your dashboard. Operator holds the connection and refreshes the access tokens on its own, so your agent keeps working with Slackbot without you signing in again. The same setup unlocks every other app your agent can reach, so you only do it once.
When you are ready, the get started guide walks through standing up your OpenClaw agent.
Common questions about Slackbot
- How do I connect Slackbot to Operator?
- You authorize Slackbot once from your Operator dashboard. Operator holds the connection and refreshes the access token for you, so your agent keeps working with Slackbot without you signing in again.
- Can my agent read and post in Slackbot for me?
- Yes. It can post messages, reply in threads, search history, and pull out what matters from a busy conversation. Point it at a channel and it summarizes the thread back to you, or posts an update when something changes in another app you have connected.
- Do I need to write code or manage Slackbot API keys?
- No code and no API keys. You authorize Slackbot through a normal sign in and Operator handles the connection, so there is nothing to wire up or host.
- Can my agent use Slackbot together with my other apps?
- Yes. The same agent reaches every app you connect, so it can move between Slackbot and tools like Gmail, Slack, Discord in one job, reading from one and acting in another without you wiring anything between them.
Connect Slackbot to another app
Your agent can run Slackbot together with any of these. Each page shows what it does across both apps in one job.
More apps to automate
Apps your agent runs alongside Slackbot, or browse all integrations.
Put your agent on Slackbot
Sign in, connect Slackbot, and hand your agent the work. Your first week is free.
Try for free