Teams use Slack to keep an internal or customer-facing channel updated with the same content going out on social — release notes, on-call status, or a mirror of what just went live on your public channels. Postclay lets a Slack channel sit in the same schedule as Instagram or X, not a separate tool.
Setup steps
- Go to api.slack.com/apps → Create New App → From scratch, name it "Postclay", and pick your workspace.
- Under OAuth & Permissions → Bot Token Scopes, add chat:write, files:write and files:read (add channels:join too so the bot can join public channels itself).
- Click Install to Workspace, then copy the Bot User OAuth Token (starts with xoxb-).
- In the target Slack channel, type /invite @Postclay (skip this for a public channel the bot already joined via channels:join).
- Find the channel ID: click the channel name → About, and copy the ID at the bottom. Paste the token and channel ID into Postclay.
Limits & requirements
Slack's chat.postMessage API accepts up to 40,000 characters, but silently truncates anything longer with no error — Postclay's composer stops you well before that point so you never find out about the cut after the fact. You can attach up to 10 files to a single message.
What Postclay does differently for Slack
Slack has no shared "Postclay app" the way OAuth platforms do — Slack requires every integration to be its own app installed per workspace, which is why this is the one connect flow that takes a few extra minutes. Once it's set up, though, Slack behaves exactly like every other connected account in Postclay: same composer, same schedule, same AI caption generation.
AI generation, tuned for Slack
Because Slack silently truncates anything over 40,000 characters with no error, an AI-generated draft that runs long is exactly the kind of mistake worth catching before it publishes — Postclay's composer flags it while you're still editing, not after a truncated message has already gone out to the channel.
Troubleshooting
- Install to Workspace is greyed out.
- You need permission to install apps in that Slack workspace — ask a workspace admin, or check if your workspace allows members to install apps for themselves.
- The bot can't post — "not_in_channel" error.
- Type /invite @Postclay in the target channel, or add the channels:join scope so the bot can join public channels on its own.
- Where do I find the channel ID, not the channel name?
- Click the channel name at the top of Slack → About → scroll to the bottom, where the Channel ID is shown (starts with C).
Common questions
- Which scopes does the bot actually need?
- chat:write to post, files:write/files:read to attach media. Nothing else is required.
- Do I need admin rights in my Slack workspace?
- You need permission to install apps — usually a workspace admin, though some workspaces allow any member to install apps for their own use.
- Can I connect more than one Slack channel?
- Yes — repeat the connect flow for each channel; the bot token stays the same, only the channel ID changes.
- Does Postclay post as a bot or as my own Slack user?
- As a bot — messages appear from "Postclay" (or whatever you named the app), not from your personal Slack account. This also makes it easy for teammates to see at a glance which posts came from the scheduler.