Discord uses incoming webhooks for cross-tool posting. You generate one URL per channel in Discord's own settings UI, paste it into post mate, and the queue can post to that channel forever. It is intentionally one-way: post mate can write to the channel but cannot read messages, replies, or reactions.
Connect Discord in 5 steps
- Pick a Discord channel you administer
Open the server in Discord. You need the "Manage Webhooks" permission on the target channel — server owners always have it; otherwise ask your admin.
- Create the webhook in Discord
Click the channel name → Edit Channel (the gear icon) → Integrations → Webhooks → New Webhook. Give it a name (this is what shows next to scheduled messages) and an avatar if you like, then click "Copy Webhook URL".
- Open /app/connections and click "Connect Discord"
Paste the webhook URL into the form. post mate fires a tiny GET to validate it without sending a message and stores it as a connection row labelled with the channel name Discord returned.
- Compose a message
In /app/compose, pick the Discord webhook target. Write up to 2,000 characters of plain text, or switch to "Embed" mode for a rich card with title, description, colour and an image. You can also override the author name per message.
- Schedule and verify
At the scheduled time post mate POSTs to the webhook URL. Success returns 204 No Content. If the webhook has been deleted in Discord, post mate gets a 404 and the row turns red. Recreate the webhook and paste the new URL to resume.
Once you're back inside post mate the account shows up on /app/connections with a green connection dot. From there it's available as a target in every composer.
What you can post to Discord from post mate
- ✓Plain text message — Up to 2,000 characters per message.
- ✓Rich embed — Title, description, colour, fields, image.
- ✓Image attachment — Single image up to 25 MB.
- ✓Custom author name + avatar — Per webhook, per message.
- ×Reading messages or reactions — Webhooks are write-only.
- ×Replying to a specific message — Webhooks don't expose this.
- ×Posting to DMs — Webhooks only target channels in servers.
Discord API capabilities — the honest list
What works
- Plain text up to 2,000 chars
- Rich embeds (title, description, colour, fields, image, footer)
- Single file attachment up to 25 MB
- Override webhook avatar/name per message
- Multiple webhooks (multiple channels)
What the API doesn't expose
- Reading channel messages
- Reading reactions or message counts
- Posting to direct messages
- Replying to a specific message
- Editing a message after a long delay (Discord limits webhook edits)
- Slash commands / interactions
FAQs
Why webhooks instead of OAuth?
For one-way posting into a single channel, webhooks are simpler and don't require any Discord application to be created. If you need two-way features (reading messages, slash commands) you would need a full bot — out of scope for post mate today.
Can I post to multiple Discord channels?
Yes. Create one webhook per channel, add each in /app/connections. Each becomes its own row, schedulable independently.
Why did my Discord message fail?
Almost always either the webhook was deleted in Discord, or the message exceeds 2,000 characters. post mate splits long messages into multiple sends if you tick "Auto-split"; otherwise the API rejects.
Does post mate store any Discord credentials?
Just the webhook URL, encrypted at rest. There is no password — the URL itself is the credential. Anyone with it can post, so we treat it accordingly.
What happens if the webhook is deleted?
The row turns red on the next scheduled post. Create a new webhook in Discord, paste the new URL into the same row, and the queue resumes.
Ready to schedule your first post?
Sign up for post mate, connect Discord from /app/connections, and start cross-posting from a single composer. 14-day free trial, cancel anytime — no credit card to start the trial when you sign up with Google.