Platforms
post.buzz integrates with 16 social platforms through 17 connection paths — Instagram has two variants (direct Instagram Login and Instagram Business via Facebook Login). Not every platform exposes the same capabilities: some support insights, some support DMs, some let you delete posts. This reference tells you exactly what's available where.
Capability matrix
✅ = supported · ➖ = not available on this platform.
The Publish column lists the post types each platform accepts in compose. Comments means incoming comments can be observed (webhook or polling) and fetched. Listening means per-account listening preferences apply (see Listening preferences).
| Platform | Publish | Insights | Comments | Reply | Like comment | DM | Delete post | Listening |
|---|---|---|---|---|---|---|---|---|
| post, story, reel, carousel | ✅ | ✅ | ✅ | ✅ | ✅ | business only | ✅ | |
| post, story, reel | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
| X (Twitter) | post, thread | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ➖ |
| Threads | post, reel, thread | ✅ | ✅ | ✅ | ➖ | ➖ | ✅ | ➖¹ |
| post, poll, document, thread | ✅² | ✅ | ✅ | ✅ | ➖ | ✅ | ➖ | |
| YouTube | reel (Short), longForm | ✅ | ✅ | ✅ | ➖ | ➖ | ➖ | ➖ |
| TikTok | post (photo), reel | ✅ | ➖ | ✅ | ✅ | ➖ | ➖ | ➖ |
| post, carousel | ✅ | ✅ | ✅ | ✅ | ✅ | ➖ | ➖ | |
| post (pin) | ✅² | ➖ | ➖ | ➖ | ➖ | ➖ | ➖ | |
| Discord | post (message) | ➖ | ➖ | ✅ | ✅ | ✅ | ➖ | ➖ |
| Slack | post (message) | ✅² | ➖ | ✅ | ✅ | ✅ | ➖ | ➖ |
| Telegram | post (message) | ➖ | ➖³ | ✅ | ➖ | ✅ | ➖ | ➖ |
| Mastodon | post, thread | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ➖ |
| Bluesky | post, thread | ✅ | ✅ | ✅ | ✅ | ➖ | ✅ | ➖ |
| Dribbble | post (shot) | ✅² | ➖ | ➖ | ➖ | ➖ | ➖ | ➖ |
| Google Business | post (localPost) | ➖ | ➖ | ➖ | ➖ | ➖ | ➖ | ➖ |
¹ Threads webhooks are configured at the app level in the Meta App Dashboard, not per-account. ² Posts are listed but engagement/reach metrics report 0 without further API access (see the platform page). ³ Telegram DMs and mentions do land in the inbox via the bot webhook, but per-media comment polling (used by automation) isn't available.
Instagram note: the instagram and instagram-business variants share one
capability set except for post deletion, which only works on the
instagram-business connection. See the
Instagram page for the differences.
Comment automation support
The full listen → match → reply/DM loop works wherever the platform can observe incoming comments: Instagram (both variants), Facebook, Threads, X, YouTube, LinkedIn, Reddit, Mastodon, and Bluesky.
TikTok does not support comment automation. Its public API doesn't expose
comment reading (comment.manage isn't granted), so nothing can trigger a
reply — the reply action exists but must be fired manually from the inbox. See
TikTok.
Discord, Slack, and Telegram have no inbound comment ingestion wired for automation (user/bot OAuth tokens can't read history; Telegram's bot webhook covers DMs only). See Comment automation.
Hourly rate caps
Automation actions are rate-limited per platform, per hour, to stay under platform throttles:
| Platform | Actions / hour |
|---|---|
| X | 300 |
| 190 | |
| 100 | |
| YouTube | 100 |
| 80 | |
| TikTok | 60 |
| Threads | 50 |
| All others | 50 (default) |
When the cap is hit, remaining comments are recorded as skipped and picked up on later runs — nothing is lost silently.
Enforced limits
We validate every post against the destination platform's rules before it's submitted, using an enforced limit set shared by the compose wizard and the publishing API. Two ceilings stack: the media library accepts files up to 25 MB (images) and 100 MB (video, documents), and each platform enforces its own limits on top. The table lists the per-platform video/image caps — a video can never exceed 100 MB in practice, but platform rules like duration, bitrate, and aspect ratio bite first.
| Platform | Max files | Video max | Video max duration | Image max |
|---|---|---|---|---|
| Instagram Post | 10 | 45 Mbps¹ | 15 min | 8 MB |
| Instagram Reel | 1 | 45 Mbps¹ | 15 min | — |
| Instagram Story | 1 | 100 MB | 60 s | 8 MB |
| TikTok Video | 1 | 1 GB | 10 min | — |
| TikTok Photo | 10 | — | — | 20 MB |
| YouTube Short | 1 | 5 GB | 3 min | — |
| YouTube Video | 1 | 5 GB | 4 h | — |
| 10 | 2 GB | 30 min | 5 MB | |
| X | 4 | 512 MB | 140 s / 600 s² | 5 MB |
| Facebook Post | 10 | 45 Mbps¹ | 8 min | 4 MB |
| 1 | 2 GB | 15 min | 5 MB | |
| 1 (10 gallery) | 1 GB | 15 min | 20 MB | |
| Threads | 10 | 1 GB | — | 8 MB |
| Discord | 10 | 25 MB | — | 25 MB |
| Slack | 4 | 1 GB | — | 1 GB |
| Mastodon | 4 | 99 MB | — | 16 MB |
| Bluesky | 4 | — | — | — |
| Google Business | 1 | — | — | 5 MB |
¹ Bitrate-limited, not size-limited. ² Free/Basic vs. Premium/Premium+.
Text & character limits
These are the enforced caption limits — longer captions are rejected before publishing, not silently truncated:
| Platform | Caption limit | Notes |
|---|---|---|
| 2,200 | stories have no caption; up to 3 collaborator usernames | |
| 50,000 | reels 2,200; stories have no caption | |
| TikTok | 2,200 | — |
| YouTube | 100 (title) | defaults to caption, truncated to 100 |
| 3,000 | poll question 140 | |
| X | 280 / 25,000² | free vs. premium tier |
| Threads | 500 | — |
| 300 (title) | — | |
| 500 | title sliced to 100 / description to 800 by the adapter | |
| Discord | 2,000 | — |
| Slack | 30,000 | — |
| Telegram | 4,096 | 1,024 when sent as a photo caption |
| Mastodon | 500 | — |
| Bluesky | 300 | images auto-resized under 2 MB |
| Google Business | 1,500 | — |
Some adapters slice long captions into platform-specific fields (Pinterest's title/description split, YouTube's title). Where the table and a platform page disagree, the number above is what the composer enforces.
For the full per-post-type breakdown (aspect ratios, resolutions, bitrates), see the individual platform pages or the limits reference.
How events arrive
Each platform delivers comments, mentions, and DMs differently:
| Platform | Inbound mechanism |
|---|---|
| Facebook, Instagram | Shared Meta webhook (/api/meta/webhook) — app-level setup, per-account field subscription |
| Instagram Business | Shared Meta webhook (app-level Instagram subscription) + Page-node DMs |
| Threads | Dedicated /api/threads/webhook (app-level, Meta App Dashboard) |
| X | Polling — mentions are fetched on a schedule; no webhook |
| Cron polling (the webhook endpoint is a verification stub) | |
| YouTube | PubSubHubbub Atom feed → /api/youtube/webhook |
| TikTok | Webhook for publish completion only (no comment events) |
| Telegram | Bot webhook /api/telegram/webhook/:accountId (DMs/mentions) |
| Reddit, Mastodon, Bluesky | Polling (inbox, notifications, mentions) |
| Discord, Slack, Pinterest, Dribbble, Google Business | None — no inbound events |
Webhook setup prerequisites
- Meta platforms (Facebook, Instagram, Threads): register the callback
URL
<APP_ORIGIN>/api/meta/webhookand a verify token in the Meta App Dashboard once per app. Threads additionally needs its own product configured at the app level. Per-account field subscription happens automatically at connect (see Listening preferences). - TikTok: enable the Webhooks product in the Developer Portal and point
it at
<APP_ORIGIN>/api/tiktok/webhook. - YouTube: register the Pub/Sub topic per channel in Google Cloud Console.
- Telegram: the bot's webhook is set automatically when you connect the account.
See Webhooks for payload details.
Listening preferences
For Facebook, Instagram, and Instagram Business accounts, you choose which events each account listens for. Open the account settings drawer and find the Listening section.
Available fields per platform:
| Field | Instagram Business | ||
|---|---|---|---|
| Comments | ✅ | ✅ | via app subscription⁴ |
| Mentions | ✅ | ✅ | via app subscription⁴ |
| Direct messages | ✅ | ✅ | ✅ |
| Quick replies & Ice Breakers | ➖ | ✅ | ✅ |
| Reviews & recommendations | ✅ (opt-in) | ➖ | ➖ |
⁴ On the Instagram Business variant, comments and mentions arrive through the app-level Instagram webhook once the app is installed on the Page; DM fields are the ones managed per-account.
Each account shows a sync badge — Synced, Out of sync, or Unknown — comparing your desired field set with what Meta reports. Saving persists your choices first, then applies them to the platform; the badge only flips to Synced after the platform confirms.
Threads doesn't offer per-account listening — its webhooks are configured in the Meta dashboard, not per-account.
Adding a new event type (for example Messenger DMs) usually requires granting new permissions. If applying preferences fails, reconnect the account to grant them, then apply again.
Instagram Ice Breakers
Instagram accounts (both variants) support Ice Breakers — up to four questions shown when someone opens a new Instagram DM. Configure them in the account settings drawer next to the Listening section. Each question can carry a reply payload sent back to Instagram when the question is tapped. You can also resync your local list from Instagram at any time.