> This page is for Workforce.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.merge.dev/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.merge.dev/_mcp/server.

# Slackbot

**Authentication:** OAuth. See [Magic Link](/merge-agent-handler/features/magic-link) for the runtime auth flow, or [Application credentials](/merge-agent-handler/admin-setup/add-oauth-credentials) to bring your own OAuth app.

## Available Tools

#### create_canvas

Create a new standalone Slack canvas with optional title and markdown content. Returns the canvas ID.

#### edit_canvas

Write to or edit an existing Slack canvas by applying one or more change operations. Use 'insert_at_end' to append conte...

#### delete_canvas

Permanently delete a Slack canvas by ID. This action cannot be undone.

#### create_channel_canvas

Create a canvas linked to a Slack channel. The canvas appears in the channel's canvas tab. Provide an optional markdown...

#### list_channels

List channels in the workspace (public and private; direct messages are excluded by default). Returns a lean set of fiel...

#### create_channel

Create a new channel

#### get_channel_info

Get information about a channel using Channel ID (not channel name)

#### join_channel

Join a channel

#### leave_channel

Leave a channel

#### archive_channel

Archive a channel

#### get_channel_members

Get members of a channel

#### invite_to_channel

Invite users to a channel

#### kick_from_channel

Remove a user from a channel

#### set_channel_topic

Set the topic for a channel

#### set_channel_purpose

Set the purpose for a channel

#### rename_channel

Rename a channel

#### get_file_info

Get information about a file

#### list_files

List files in the workspace, most recent first by default. sort (created|timestamp) and sort_dir (asc|desc) order the re...

#### delete_file

Delete a file

#### get_file_content

Get the content of a text file

#### revoke_file_public_url

Revoke public access to a file

#### post_message

Send a message to a Slack channel using Channel ID (not channel name)

#### update_message

Update an existing message in Slack

#### delete_message

Delete a message from Slack

#### get_message_permalink

Get a permanent link to a message

#### get_conversation_history

Get message history from a channel using Channel ID with enhanced timestamp filtering. For time windows: use Unix timest...

#### schedule_message

Schedule a message to be sent later

#### delete_scheduled_message

Delete a scheduled message

#### add_reaction

Add an emoji reaction to a message

#### remove_reaction

Remove an emoji reaction from a message

#### get_conversation_replies

Get all replies in a Slack thread. This tool MUST be called whenever you encounter a message with reply_count > 0 from g...

#### list_unread_direct_messages

Get all unread direct messages and group DMs with their message content. When presenting results to users, always displa...

#### list_unread_channel_messages

Get all unread messages from channels with their message content. Uses smart prioritization to check most recently activ...

#### list_scheduled_messages

List scheduled messages that haven't been sent yet

#### get_unread_messages_from_channel

Get all unread messages from a specific channel. Uses the channel's last_read timestamp to accurately identify unread me...

#### get_unread_messages_from_user

Get all unread direct messages from a specific user. When presenting results to users, always display username/display_n...

#### post_message_by_name

Send a message to a person or channel by name instead of ID. Resolves display name, real name, username, or channel name...

#### list_pinned_messages

List all pinned messages and items in a channel

#### pin_message

Pin a message to a channel

#### unpin_message

Remove a pinned message from a channel

#### get_user_info

Get complete user information including workspace role, permissions, and profile

#### get_current_user

Resolve the authenticated user ('me'/'myself') to their Slack user ID and profile. Call this first whenever a request re...

#### list_users

List users in the workspace. Returns a lean set of fields by default (id, name, real_name, display_name, email, is_bot,...

#### lookup_user_by_email

Look up a user by their email address

#### get_user_presence

Get a user's presence status

#### set_user_presence

Set your own presence status (auto or away)

#### get_users_conversations

Get conversations a user is a member of