Slack integration

Team messaging: channels, DMs, scheduling, search, file uploads, reactions

Help CentreConnectors

Overview

Slack is the de-facto team messaging platform. The Automize Slack connector covers messaging (channels, DMs, threads, scheduling), search, user / channel management, file uploads, and reactions – the operations you actually want when wiring Slack into an automation.

  • Regions: Slack is a single global platform. Enterprise Grid customers have multiple workspaces under one Org – each workspace authenticates separately. The connector handles per-workspace connections.
  • Plans: Free, Pro, Business+, Enterprise Grid all expose the same Web API. Some endpoints (Analytics, SCIM) need Plus/Enterprise.

Setting up the connection

Auth type: OAuth 2.0 (Authorization Code).

  1. Sign in to api.slack.com/apps → Create New App → From scratch.
  2. Under OAuth & Permissions, add scopes (see below) and set the Redirect URL to the one in the Automize Slack connector dialog.
  3. Install the app to the workspace – copy the Bot User OAuth Token (xoxb-...) shown after install.
  4. In Automize, open Settings → Connectors → Slack → Add connection. Use the OAuth flow if available, or paste the bot token directly.

Scopes required:

  • chat:write
  • channels:read
  • channels:history
  • groups:read
  • groups:history
  • im:write
  • users:read
  • users:read.email
  • files:write
  • search:read
  • reactions:write

Find your credentials at https://api.slack.com/apps.


Rate limits

Slack rate limits per method tier – tier 1 (1/min, e.g. admin), tier 2 (20/min, e.g. conversations.history), tier 3 (50/min, e.g. chat.postMessage), tier 4 (100+/min, lightweight reads). The connector reads Retry-After headers and backs off. For bulk channel scans, page with limit=200.


Data model

Slack's primitives:

    Workspace ─┬─ Users (incl. bots, apps)
               ├─ Channels (public, private, MPIM, DM)
               ├─ Conversations (the unified term for any "place messages live")
               │      └─ Messages ─── Threads (parent message + replies)
               ├─ Files
               └─ Reactions

channel_id and user_id are unique within a workspace. Conversation IDs
start with C (channel), G (private group), D (DM), or MPIM-prefix.

Available operations

21 operations available. Click any row to jump to its detail.

OperationCategoryWhat it does
Add reactionGeneralAdd an emoji reaction to a Slack message.
Archive channelGeneralArchive a Slack channel.
Create channelGeneralCreate a new Slack channel.
Delete messageGeneralDelete a Slack message.
Get channel historyGeneralGet message history for a Slack channel.
Get thread repliesGeneralGet replies in a Slack message thread.
Get user infoGeneralGet a Slack user's profile information.
Invite to channelGeneralInvite user(s) to a Slack channel.
List channelsGeneralList public Slack channels in the workspace.
List usersGeneralList Slack workspace members.
Open conversationGeneralOpen or create a DM or multi-party DM in Slack.
Pin messageGeneralPin a message to a Slack channel.
Schedule messageGeneralSchedule a Slack message for later.
Search messagesGeneralSearch messages in the Slack workspace.
Send messageGeneralSend a message to a Slack channel with optional threading and Block Kit formatting.
Set channel purposeGeneralSet a Slack channel's purpose.
Set channel topicGeneralSet a Slack channel's topic.
Unarchive channelGeneralUnarchive a Slack channel.
Unpin messageGeneralUnpin a message from a Slack channel.
Update messageGeneralUpdate an existing Slack message.
Upload fileGeneralUpload a file to a Slack channel.

Operations

Add reaction

Add an emoji reaction to a Slack message.

ParameterRequiredTypeDescription
Channel ID channelYestext
Message timestamp timestampYestext
Emoji name nameYestext

Tips

  • channel + timestamp + name (emoji name without colons, e.g. 'thumbsup').

Archive channel

Archive a Slack channel.

ParameterRequiredTypeDescription
Channel ID channelYestext

Tips

  • Archives the channel. Reversible via Slack UI (admin only).

Create channel

Create a new Slack channel.

ParameterRequiredTypeDescription
Channel name nameYestext
Private isPrivateNoswitch
Is Private is_privateNotext

Tips

  • name: channel name (lowercase, no spaces, max 80 chars).
  • is_private=true creates a private channel.

Delete message

Delete a Slack message.

ParameterRequiredTypeDescription
Channel ID channelYestext
Message timestamp tsYestext

Tips

  • channel + ts. Bots can only delete their own messages.

Get channel history

Get message history for a Slack channel.

ParameterRequiredTypeDescription
Channel ID channelYestext

Get thread replies

Get replies in a Slack message thread.

ParameterRequiredTypeDescription
Channel ID channelYestext
Thread timestamp tsYestext

Get user info

Get a Slack user's profile information.

ParameterRequiredTypeDescription
User ID userYestext

Invite to channel

Invite user(s) to a Slack channel.

ParameterRequiredTypeDescription
Channel ID channelYestext
User IDs (comma-separated) usersYestext

Tips

  • users: comma-separated user IDs. Channel must already exist.

List channels

List public Slack channels in the workspace.

No input parameters.

Tips

  • types: public_channel, private_channel, mpim, im (comma-separated).
  • exclude_archived=true skips archived channels.

List users

List Slack workspace members.

No input parameters.

Tips

  • All users in the workspace including bots, apps, deactivated.
  • Filter client-side by deleted=false for active humans.

Open conversation

Open or create a DM or multi-party DM in Slack.

ParameterRequiredTypeDescription
User IDs (comma-separated) usersYestext
Channel channelNotext
Return Im return_imNotext

Pin message

Pin a message to a Slack channel.

ParameterRequiredTypeDescription
Channel ID channelYestext
Message timestamp timestampYestext

Schedule message

Schedule a Slack message for later.

ParameterRequiredTypeDescription
Channel ID channelYestext
Message textYestextarea
Post at (Unix timestamp) postAtYesnumber
Thread timestamp threadTsNotext
Post At post_atNotext
Blocks blocksNotext
Thread Ts thread_tsNotext

Tips

  • post_at is a Unix timestamp. Returns scheduled_message_id which you can delete with Delete Scheduled Message.
  • Max scheduling window: 120 days into the future.

Search messages

Search messages in the Slack workspace.

ParameterRequiredTypeDescription
Search query queryYestext

Tips

  • query: same syntax as Slack's search box (from:@user in:#channel after:2026-01-01).
  • Requires user token (xoxp-...), not bot token – bot tokens can't search.

Send message

Send a message to a Slack channel with optional threading and Block Kit formatting.

ParameterRequiredTypeDescription
Channel ID channelYestext
Message text textYestextarea
Thread timestamp thread_tsNotext
Blocks (JSON) blocksNotextarea
Unfurl Links unfurl_linksNotext

Tips

  • channel: channel ID (C..., G..., D...) or @username for DM, or #channel-name (slower lookup).
  • text: plain text, or use blocks for rich Block Kit layouts.
  • thread_ts: if replying in a thread, pass the parent message's ts.

Errors

  • not_in_channel – Bot user is not a member of the channel. Invite the bot via /invite @YourBot in Slack.
  • channel_not_found – Channel doesn't exist or bot can't see it (private channels need explicit invite).

Set channel purpose

Set a Slack channel's purpose.

ParameterRequiredTypeDescription
Channel ID channelYestext
Purpose purposeYestext

Set channel topic

Set a Slack channel's topic.

ParameterRequiredTypeDescription
Channel ID channelYestext
Topic topicYestext

Unarchive channel

Unarchive a Slack channel.

ParameterRequiredTypeDescription
Channel ID channelYestext

Unpin message

Unpin a message from a Slack channel.

ParameterRequiredTypeDescription
Channel ID channelYestext
Message timestamp timestampYestext

Update message

Update an existing Slack message.

ParameterRequiredTypeDescription
Channel ID channelYestext
Message timestamp tsYestext
Updated text textYestextarea
Blocks blocksNotext

Tips

  • channel + ts (the message timestamp) identifies the message. Bots can only edit messages they sent.

Upload file

Upload a file to a Slack channel.

ParameterRequiredTypeDescription
Channel ID(s) channelsYestext
File path fileYestext
Title titleNotext

Tips

  • channels (comma-separated channel IDs) + content (bytes) + filename.
  • Returns the file ID and shareable URL.

FAQ

Why does my bot get 'not_in_channel' on a public channel?
Bots must be explicitly invited even to public channels. Type /invite @YourBot in the channel. Once added, future calls succeed.
Bot token vs User token – which?
Bot token (xoxb-) acts as the bot user. User token (xoxp-) acts as the installing user – needed for search.messages and some admin operations. Use bot for almost everything.
How do I DM a user?
Open a DM channel via conversations.open with user IDs, get back a channel ID, then Send Message to that channel. Or pass user_id directly to Send Message (we handle the open under the hood).
Can I post as a custom username/icon?
Yes via username + icon_emoji or icon_url on Send Message. Requires the chat:write.customize scope. Some workspaces disable this.

Related connectors

See it working on your own data

Everything documented here ships with the platform – try the document tools free, or go live in 7 days.