NetworksSlack
Slack APIthrough Siar.
Messages to Slack channels, with files and an optional custom bot name and icon.
At a glance
Account needed: A Slack workspace where the Siar app is installed. Each post names the channel.
| Connection | OAuth 2.0 in the browser |
|---|---|
| Channel | Required: pick a channel after connecting |
| Post types | post |
| Text length | 40,000 characters |
| Comment length | 40,000 characters |
| Media per post | Up to 10 |
Media rules
| Kind | Formats | Max size | Duration | Other |
|---|---|---|---|---|
| Image | any type | 1 GB | n/a | None |
| Video | any type | 1 GB | Up to 24 h | None |
| Document | any type | 1 GB | n/a | None |
What Siar can do on Slack
| Comments and replies | Yes |
|---|---|
| First comment | Yes |
| Edit a published post | Yes |
| Delete a published post | Yes |
| Edit a comment | No |
| Delete a comment | Yes |
| Import comments | Yes |
| Post analytics | Yes |
| Account analytics | No |
| Post history import | No |
| Direct messages | No |
Siar can create comments and replies up to 40,000 characters, and import the comments people leave on your posts.
Publish a post
Put Slack's payload under data.SLACK and list SLACK in socialAccountTypes. Add other networks to the same request to post to all of them at once.
curl -X POST "https://api.siaran.my/api/v1/post" \
-H "x-api-key: $SIAR_API_KEY" \
-H "content-type: application/json" \
-d '{
"teamId": "TEAM_ID",
"title": "Slack post",
"postDate": "2026-11-02T09:00:00.000Z",
"status": "SCHEDULED",
"socialAccountTypes": [
"SLACK"
],
"data": {
"SLACK": {
"channelId": "CHANNEL_ID"
}
}
}' Slack fields
-
channelIdstring required -
textstring nullable -
uploadIdsstring[] nullable -
usernamestring nullable -
avatarUrlstring nullable
Daily caps
| Per connected account, per UTC day | Free | Pro | Business |
|---|---|---|---|
| Posts | 10 | 100 | 200 |
| Comments | 3 | 100 | 200 |
See pricing for monthly quotas. Enterprise uses the Business caps unless agreed otherwise.
Connecting a Slack account
Siar sends the user to the network's consent page and stores the tokens it gets back, refreshing them before they expire. Use POST /social-account/connect from your own UI, or send your customer a hosted link from POST /social-account/create-portal-link; see connecting accounts.
Permissions requested
Siar requests only these scopes at connect time:
chat:writechat:write.publicchat:write.customizechannels:readgroups:readchannels:historygroups:historyfiles:writefiles:readreactions:writeusers:read
Slack-specific operations
These exist for Slack only and live under /misc/slack.
| Operation | Endpoint |
|---|---|
| Edit an existing Slack message | PATCH /misc/slack/message |
| Delete a Slack message | DELETE /misc/slack/message |
When Slack says no
Siar relays Slack's error code and message verbatim on the post, next to a status you can act on. The Slack error reference covers 10 common cases with what each one means and the fix. Open the Slack error reference.
Slack API questions
What can I post to Slack through the API?
post. Messages to Slack channels, with files and an optional custom bot name and icon.
How many Slack posts can I publish per day?
Per connected account and UTC day: 10 on Free, 100 on Pro, 200 on Business. The caps keep the account within what Slack tolerates.
Can I schedule Slack posts?
Yes. Set postDate in the future and a status of SCHEDULED. Siar publishes at that time and sends a post.published webhook when the post reaches a final state.
How do I connect a Slack account?
A Slack workspace where the Siar app is installed. Each post names the channel. Siar sends the user to the network's consent page and stores the tokens it gets back, refreshing them before they expire.
What do I do when Slack rejects a post?
The post carries Slack's own code and message. The Slack error reference explains 10 common rejections and how to fix them.
Your first post isone request away.
The Free plan includes 20 posts and 200 uploads a month across 3 teams. No card needed.