Slack
MessagingPublish messages and thread replies to a Slack channel with the Zernio API, with file uploads, a per-message bot identity, and an inbox that receives DMs and mentions in realtime.
Authentication details
Connecting accounts guideOAuth 2.0 (Bot)
Connect endpoints
GET /v1/connect/slackList Slack channels for the channel pickerPOST /v1/connect/slackConnect a Slack channel
Permissions19 scopes
- Always requested
- Posting
- Messaging
Pass scopes=posting,analytics to the connect endpoint to ask only for those areas. The first row comes with every connection.
Publish messages and thread replies to a Slack channel with POST /v1/posts and platform: "slack".
The same account receives DMs and bot mentions in the inbox, and can start a DM with any member of its workspace.
Quick reference
| Property | Value |
|---|---|
| Content limit | 40,000 characters (Slack truncates silently beyond this) |
| Edit limit | 4,000 characters (longer posts cannot be edited) |
| Media per post | Up to 10 files |
| Formatting | Slack mrkdwn |
| Post types | Channel messages, thread replies |
| Scheduling | Yes (Zernio-side; Slack's native scheduler is not used) |
| Threads | Yes (threadTs) |
| Link unfurling | Configurable per post |
| Per-message identity | Yes (display name and avatar override) |
| Inbox (DMs) | Yes |
| Start a conversation | Yes (DM any member of the workspace) |
| Inbox (channel messages) | Mentions and threads only, not all chatter |
| Contacts and built-in automations | DMs only |
| Analytics | No (Slack has no public message analytics API) |
Before you start
Slack requires the Zernio bot app installed in the workspace.
You do not create your own Slack app, host a bot or manage tokens. The user installs Zernio's app through OAuth and you post through the API.
One connected account is one channel. To publish to several channels, connect each one as its own account.
Public channels are joined automatically on connect.
Private channels need a member to run /invite @Zernio in it first, because the bot cannot join a private channel on its own. Until then it does not appear in the channel list.
Admin approval. Some workspaces require admin approval for new apps, so Slack may show a "request approval" screen.
Marketplace-only workspaces. A workspace can be configured to allow only apps listed in the Slack Marketplace.
Zernio's app is distributed but not yet listed, so Slack says it "has not been reviewed by Slack" during install. That is expected.
Connect
Call GET /v1/connect/slack with profileId on List Slack channels.
With no pendingDataToken or accountId, it returns the authUrl and state that start OAuth, like GET /v1/connect/{platform} does for other platforms.
The full flow, with code for every step, is on Connect.
In this section
Connect
Connect a Slack account with the Zernio API, every step with code.
Publish
Publish channel messages, thread replies and files to Slack, set the message identity, and edit or delete them.
Platform fields & media
Every Slack platformSpecificData field and the file requirements.
Inbox
Receive Slack DMs and bot mentions in the inbox and start a conversation with any workspace member.
Limits & errors
Analytics availability, what Slack's API does not expose and the common errors when publishing.
Related
- Connecting accounts: the OAuth flow in general.
- Create post and Edit post: every field of the request.
- Slack account settings: the default message identity for a channel.
- Messages: the inbox API.
- Account health: verify the connection.
- Pricing: what the inbox and outbound messages cost.
Slack
5- GET
- POST
- GET
- PATCH
- GET
Publishing
24· Unified API, shared with other platforms- POST
- POST
- POST
- POST
- GET
- POST
- GET
- PUT
- DELETE
- POST
- POST
- POST
Direct messages
24· Unified API, shared with other platforms- GET
- POST
- GET
- GET
- PUT
- DELETE
- GET
- POST
- PATCH
- DELETE
- POST
- POST