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).
- Sign in to api.slack.com/apps → Create New App → From scratch.
- Under OAuth & Permissions, add scopes (see below) and set the Redirect URL to the one in the Automize Slack connector dialog.
- Install the app to the workspace – copy the Bot User OAuth Token (xoxb-...) shown after install.
- In Automize, open Settings → Connectors → Slack → Add connection. Use the OAuth flow if available, or paste the bot token directly.
Scopes required:
chat:writechannels:readchannels:historygroups:readgroups:historyim:writeusers:readusers:read.emailfiles:writesearch:readreactions: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.
| Operation | Category | What it does |
|---|---|---|
| Add reaction | General | Add an emoji reaction to a Slack message. |
| Archive channel | General | Archive a Slack channel. |
| Create channel | General | Create a new Slack channel. |
| Delete message | General | Delete a Slack message. |
| Get channel history | General | Get message history for a Slack channel. |
| Get thread replies | General | Get replies in a Slack message thread. |
| Get user info | General | Get a Slack user's profile information. |
| Invite to channel | General | Invite user(s) to a Slack channel. |
| List channels | General | List public Slack channels in the workspace. |
| List users | General | List Slack workspace members. |
| Open conversation | General | Open or create a DM or multi-party DM in Slack. |
| Pin message | General | Pin a message to a Slack channel. |
| Schedule message | General | Schedule a Slack message for later. |
| Search messages | General | Search messages in the Slack workspace. |
| Send message | General | Send a message to a Slack channel with optional threading and Block Kit formatting. |
| Set channel purpose | General | Set a Slack channel's purpose. |
| Set channel topic | General | Set a Slack channel's topic. |
| Unarchive channel | General | Unarchive a Slack channel. |
| Unpin message | General | Unpin a message from a Slack channel. |
| Update message | General | Update an existing Slack message. |
| Upload file | General | Upload a file to a Slack channel. |
Operations
Add reaction
Add an emoji reaction to a Slack message.
| Parameter | Required | Type | Description |
|---|---|---|---|
Channel ID channel | Yes | text | |
Message timestamp timestamp | Yes | text | |
Emoji name name | Yes | text |
Tips
- channel + timestamp + name (emoji name without colons, e.g. 'thumbsup').
Archive channel
Archive a Slack channel.
| Parameter | Required | Type | Description |
|---|---|---|---|
Channel ID channel | Yes | text |
Tips
- Archives the channel. Reversible via Slack UI (admin only).
Create channel
Create a new Slack channel.
| Parameter | Required | Type | Description |
|---|---|---|---|
Channel name name | Yes | text | |
Private isPrivate | No | switch | |
Is Private is_private | No | text |
Tips
- name: channel name (lowercase, no spaces, max 80 chars).
- is_private=true creates a private channel.
Delete message
Delete a Slack message.
| Parameter | Required | Type | Description |
|---|---|---|---|
Channel ID channel | Yes | text | |
Message timestamp ts | Yes | text |
Tips
- channel + ts. Bots can only delete their own messages.
Get channel history
Get message history for a Slack channel.
| Parameter | Required | Type | Description |
|---|---|---|---|
Channel ID channel | Yes | text |
Get thread replies
Get replies in a Slack message thread.
| Parameter | Required | Type | Description |
|---|---|---|---|
Channel ID channel | Yes | text | |
Thread timestamp ts | Yes | text |
Get user info
Get a Slack user's profile information.
| Parameter | Required | Type | Description |
|---|---|---|---|
User ID user | Yes | text |
Invite to channel
Invite user(s) to a Slack channel.
| Parameter | Required | Type | Description |
|---|---|---|---|
Channel ID channel | Yes | text | |
User IDs (comma-separated) users | Yes | text |
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.
| Parameter | Required | Type | Description |
|---|---|---|---|
User IDs (comma-separated) users | Yes | text | |
Channel channel | No | text | |
Return Im return_im | No | text |
Pin message
Pin a message to a Slack channel.
| Parameter | Required | Type | Description |
|---|---|---|---|
Channel ID channel | Yes | text | |
Message timestamp timestamp | Yes | text |
Schedule message
Schedule a Slack message for later.
| Parameter | Required | Type | Description |
|---|---|---|---|
Channel ID channel | Yes | text | |
Message text | Yes | textarea | |
Post at (Unix timestamp) postAt | Yes | number | |
Thread timestamp threadTs | No | text | |
Post At post_at | No | text | |
Blocks blocks | No | text | |
Thread Ts thread_ts | No | text |
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.
| Parameter | Required | Type | Description |
|---|---|---|---|
Search query query | Yes | text |
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.
| Parameter | Required | Type | Description |
|---|---|---|---|
Channel ID channel | Yes | text | |
Message text text | Yes | textarea | |
Thread timestamp thread_ts | No | text | |
Blocks (JSON) blocks | No | textarea | |
Unfurl Links unfurl_links | No | text |
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.
| Parameter | Required | Type | Description |
|---|---|---|---|
Channel ID channel | Yes | text | |
Purpose purpose | Yes | text |
Set channel topic
Set a Slack channel's topic.
| Parameter | Required | Type | Description |
|---|---|---|---|
Channel ID channel | Yes | text | |
Topic topic | Yes | text |
Unarchive channel
Unarchive a Slack channel.
| Parameter | Required | Type | Description |
|---|---|---|---|
Channel ID channel | Yes | text |
Unpin message
Unpin a message from a Slack channel.
| Parameter | Required | Type | Description |
|---|---|---|---|
Channel ID channel | Yes | text | |
Message timestamp timestamp | Yes | text |
Update message
Update an existing Slack message.
| Parameter | Required | Type | Description |
|---|---|---|---|
Channel ID channel | Yes | text | |
Message timestamp ts | Yes | text | |
Updated text text | Yes | textarea | |
Blocks blocks | No | text |
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.
| Parameter | Required | Type | Description |
|---|---|---|---|
Channel ID(s) channels | Yes | text | |
File path file | Yes | text | |
Title title | No | text |
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.