Slackbot for AI agents
Slackbot gives an agent read access across a Slack workspace, letting it search messages and files, browse channel history, and look up users, while posting as the bot. Connect it once through Arc0, and your agent, or Claude, ChatGPT and Cursor, can use it through one MCP endpoint, limited to what each user approved.
What agents do in Slackbot.
Search workspace history for context
Search past messages and threads across channels to answer a question without asking a person to dig it up.
Look up a user's email
Look up a teammate's profile and email address before routing a request to the right person.
Post a reply as the bot
Post a reply in a thread on the user's behalf, with the message content shown for review before it sends.
101 Slackbot actions, graded by risk.
Every Slackbot action is tagged read, write or destructive, so one policy covers the whole app and new actions inherit the right default.
read
42Look things up. Allowed by default.
- slackbot.find_usersFind users
- slackbot.get_canvasGet Slack Canvas (Deprecated)
- slackbot.search_allSearch all content
- slackbot.get_bot_userFetch bot user information
- slackbot.get_reminderGet reminder information
- slackbot.find_channelsFind channels
- slackbot.get_call_infoRetrieve call information
- slackbot.get_list_itemGet Slack List item
- slackbot.list_canvasesList Slack Canvases (Deprecated)
- slackbot.list_all_usersList all users
- slackbot.list_remindersList reminders
- slackbot.get_remote_fileGet remote file
- slackbot.list_list_itemsList Slack List items
- slackbot.search_messagesSearch messages
- slackbot.get_team_profileRetrieve team profile details
- slackbot.list_user_groupsList user groups
write
43Create and change things. Allow, or ask the user first.
- slackbot.create_listCreate Slack List
- slackbot.update_listUpdate Slack List
- slackbot.send_messageSend message
- slackbot.create_canvasCreate Slack Canvas
- slackbot.create_channelCreate channel
- slackbot.add_remote_fileAdd a remote file
- slackbot.send_me_messageShare a me message in a channel
- slackbot.create_list_itemCreate Slack List item
- slackbot.update_call_infoUpdate call information
- slackbot.update_list_itemUpdate Slack List item
- slackbot.create_a_reminderCreate a reminder
- slackbot.create_user_groupCreate a Slack user group
- slackbot.update_user_groupUpdate Slack user group
- slackbot.update_remote_fileUpdate an existing remote file
- slackbot.add_call_participantsAdd call participants
- slackbot.send_ephemeral_messageSend ephemeral message
destructive
16Delete, cancel or archive. Ask first, or deny outright.
- slackbot.delete_fileDelete a file by ID
- slackbot.delete_canvasDelete Slack Canvas
- slackbot.delete_reminderDelete a Slack reminder
- slackbot.delete_list_itemDelete Slack List item
- slackbot.delete_list_accessDelete Slack List access
- slackbot.remove_remote_fileRemove remote file
- slackbot.delete_file_commentDelete file comment
- slackbot.archive_conversationArchive a Slack conversation
- slackbot.delete_scheduled_messageDelete scheduled chat message
- slackbot.remove_call_participantsRemove call participants
- slackbot.remove_reaction_from_itemRemove reaction from item
- slackbot.delete_multiple_list_itemsDelete multiple Slack List items
- slackbot.remove_user_from_conversationRemove user from conversation
- slackbot.close_dmClose conversation channel
- slackbot.disable_user_groupDisable a Slack user group
- slackbot.revoke_file_public_sharingRevoke a file's public url
Slackbot in three steps.
- 01Your users connect SlackbotThey sign in to Slackbot on Arc0 Connect, under your brand, and approve the access you ask for.
- 02You set the rulesReads run, writes like “create Slack List” can wait for the user, and “delete a file by ID” can be denied outright.
- 03Any agent can actYour agent calls Slackbot through the Arc0 SDK or MCP, and so can Claude, ChatGPT and Cursor. Every call lands on the audit log.
await arc0.policies.set('slackbot', { read: 'allow', write: 'ask', // create_list destructive: 'deny', // delete_file }) # Claude Code: the same connection, one URL $ claude mcp add --transport http arc0 \ https://mcp.arc0.ai/u/u_8f2
How Slackbot connects.
Users sign in to Slackbot on Arc0 Connect and approve the scopes you request. Build with Arc0’s Slackbot OAuth app, or bring your own so the Slackbot consent screen names you. Tokens refresh automatically, and you can export them whenever you want.
The same Slackbot connection serves your agent over MCP and your own backend over REST and the proxy, so a user connects once. How Arc0 handles credentials →
- AUTH
- OAuth 2.0
- CREDENTIALS
- Per-tenant encrypted vault
- MODEL SEES
- Results only, never credentials
- AUDIT LOG
- Every call, on every plan
Use Slackbot from any agent.
Slackbot and Arc0, answered.
Can I use Slackbot with Claude, ChatGPT or Cursor?
Yes. Connect Slackbot to Arc0 once, then add your Arc0 MCP URL to Claude, ChatGPT, Cursor, Claude Code or any other remote-MCP client. Each assistant only gets the Slackbot actions you allow.
How do users connect Slackbot?
Users sign in to Slackbot on Arc0 Connect and approve the scopes you request. Build with Arc0’s Slackbot OAuth app, or bring your own so the Slackbot consent screen names you. Tokens refresh automatically, and you can export them whenever you want.
Which Slackbot actions can my agent take?
101 in total: 42 read, 43 write and 16 destructive, such as “create Slack List”. Your policies decide which of them each agent may call.
Can I stop my agent from deleting things in Slackbot?
Yes. Actions like “delete a file by ID” are graded destructive. Set destructive actions to deny, or to ask so the user approves each one, and blocked calls still show up on the audit log.
Can my own backend call Slackbot too?
Yes. The same Slackbot connection is available over REST and through the Arc0 proxy, so your product and your agent share one connection per user.
Plug Slackbot into your agent.
Your users connect Slackbot once, under your brand. Your agent gets 101 actions behind your policies, with every call on the record.
Free to build · MCP + REST · Audit log on every plan