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.

CommunicationOAuth 2.0MCP + RESTslack.com
AUDIT LOG · SLACKBOTPOLICY: acme-support
09:41:07 · claude · u_8f2read
slackbot.list_canvases
List Slack Canvases (Deprecated)✓ allowed · 212ms
09:41:08 · claude · u_8f2read
slackbot.find_users
Find users✓ allowed · 164ms
09:41:09 · claude · u_8f2write
slackbot.create_list
Create Slack List✓ approved · approved by user
09:41:12 · claude · u_8f2destructive
slackbot.delete_file
Delete a file by ID✕ blocked · policy: deny
EVERY SLACKBOT CALL, ON THE RECORD
01 · USE CASES

What agents do in Slackbot.

01

Search workspace history for context

Search past messages and threads across channels to answer a question without asking a person to dig it up.

02

Look up a user's email

Look up a teammate's profile and email address before routing a request to the right person.

03

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.

02 · ACTIONS

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

42

Look things up. Allowed by default.

  • slackbot.find_users
    Find users
  • slackbot.get_canvas
    Get Slack Canvas (Deprecated)
  • slackbot.search_all
    Search all content
  • slackbot.get_bot_user
    Fetch bot user information
  • slackbot.get_reminder
    Get reminder information
  • slackbot.find_channels
    Find channels
  • slackbot.get_call_info
    Retrieve call information
  • slackbot.get_list_item
    Get Slack List item
  • slackbot.list_canvases
    List Slack Canvases (Deprecated)
  • slackbot.list_all_users
    List all users
  • slackbot.list_reminders
    List reminders
  • slackbot.get_remote_file
    Get remote file
  • slackbot.list_list_items
    List Slack List items
  • slackbot.search_messages
    Search messages
  • slackbot.get_team_profile
    Retrieve team profile details
  • slackbot.list_user_groups
    List user groups
+ 26 MORE

write

43

Create and change things. Allow, or ask the user first.

  • slackbot.create_list
    Create Slack List
  • slackbot.update_list
    Update Slack List
  • slackbot.send_message
    Send message
  • slackbot.create_canvas
    Create Slack Canvas
  • slackbot.create_channel
    Create channel
  • slackbot.add_remote_file
    Add a remote file
  • slackbot.send_me_message
    Share a me message in a channel
  • slackbot.create_list_item
    Create Slack List item
  • slackbot.update_call_info
    Update call information
  • slackbot.update_list_item
    Update Slack List item
  • slackbot.create_a_reminder
    Create a reminder
  • slackbot.create_user_group
    Create a Slack user group
  • slackbot.update_user_group
    Update Slack user group
  • slackbot.update_remote_file
    Update an existing remote file
  • slackbot.add_call_participants
    Add call participants
  • slackbot.send_ephemeral_message
    Send ephemeral message
+ 27 MORE

destructive

16

Delete, cancel or archive. Ask first, or deny outright.

  • slackbot.delete_file
    Delete a file by ID
  • slackbot.delete_canvas
    Delete Slack Canvas
  • slackbot.delete_reminder
    Delete a Slack reminder
  • slackbot.delete_list_item
    Delete Slack List item
  • slackbot.delete_list_access
    Delete Slack List access
  • slackbot.remove_remote_file
    Remove remote file
  • slackbot.delete_file_comment
    Delete file comment
  • slackbot.archive_conversation
    Archive a Slack conversation
  • slackbot.delete_scheduled_message
    Delete scheduled chat message
  • slackbot.remove_call_participants
    Remove call participants
  • slackbot.remove_reaction_from_item
    Remove reaction from item
  • slackbot.delete_multiple_list_items
    Delete multiple Slack List items
  • slackbot.remove_user_from_conversation
    Remove user from conversation
  • slackbot.close_dm
    Close conversation channel
  • slackbot.disable_user_group
    Disable a Slack user group
  • slackbot.revoke_file_public_sharing
    Revoke a file's public url
03 · HOW IT WORKS

Slackbot in three steps.

  1. 01Your users connect SlackbotThey sign in to Slackbot on Arc0 Connect, under your brand, and approve the access you ask for.
  2. 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.
  3. 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.
POLICY.TS
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
04 · AUTH AND DATA

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
05 · WORKS WITH

Use Slackbot from any agent.

Claude
ChatGPT
Cursor
Codex
VS Code
OpenAI Agents SDK
Claude Agent SDK
Vercel AI SDK
Mastra
LangGraph
07 · FAQ

Slackbot and Arc0, answered.

Q01

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.

Q02

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.

Q03

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.

Q04

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.

Q05

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.

Get started

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