Appearance
Supported Channels
Each social media provider in Postmill declares its supported feature set through a capability matrix. This matrix is the single source of truth for what each provider can do — the composer UI, admin settings, preflight validation, and workflow logic all gate on these values.
The canonical source is PROVIDER_CAPABILITIES in libraries/providers/kernel/src/domains/social-capabilities.ts.
Capability Column Descriptions
| Column | Description |
|---|---|
analytics | Provider supports fetching analytics data (profile/follower metrics, post engagement) |
comments | Provider supports fetching and replying to platform comments via ISocialMediaComments |
firstComment | Supports auto-posting a first comment immediately after a successful publish |
poll | Supports poll-style posts with options and duration |
video | Supports video media attachments |
carousel | Supports multi-image carousel posts |
altText | Supports alt text descriptions on image attachments |
maxMedia | Maximum number of media attachments per post (0 = no media support) |
linkPreview | Supports link preview / link-card rendering |
refreshToken | Supports OAuth refresh token rotation |
watchlist | Supports competitor account probing (public metric collection for watched accounts) |
Full Capability Matrix
| Provider | analytics | comments | firstComment | poll | video | carousel | altText | maxMedia | linkPreview | refreshToken | watchlist |
|---|---|---|---|---|---|---|---|---|---|---|---|
| X | true | true | true | true | true | false | false | 4 | true | true | true |
| true | true | true | true | true | true | false | 20 | false | true | false | |
| LinkedIn Page | true | true | true | true | true | true | false | 20 | false | true | false |
| true | true | true | false | true | false | false | 1 | false | true | false | |
| true | true | true | false | true | true | false | 10 | false | true | true | |
| Instagram Standalone | true | true | true | false | true | true | false | 10 | false | true | true |
| true | true | true | false | true | false | false | 10 | false | true | false | |
| Threads | true | true | true | false | true | true | false | 10 | false | true | false |
| YouTube | true | true | false | false | true | false | false | 1 | false | true | true |
| Google My Business | true | false | false | false | false | false | false | 1 | false | true | false |
| TikTok | true | true | false | false | true | false | false | 1 | false | true | true |
| true | false | false | false | true | false | false | 5 | false | true | false | |
| Dribbble | true | false | false | false | false | false | false | 1 | false | true | false |
| Discord | true | true | true | false | false | false | false | 10 | false | true | false |
| Slack | false | true | true | false | false | false | true | 10 | false | false | false |
| Kick | false | false | true | false | false | false | false | 0 | false | false | false |
| Twitch | false | false | true | false | false | false | false | 0 | false | true | false |
| Mastodon | true | true | true | false | true | false | true | 4 | false | false | false |
| Bluesky | true | true | true | false | true | false | true | 4 | false | false | false |
| Lemmy | false | false | true | false | false | false | false | 1 | false | false | false |
| Farcaster | false | false | true | false | false | false | false | 4 | false | false | false |
| Telegram | true | true | true | false | true | false | false | 10 | false | false | false |
| Nostr | false | false | true | false | false | false | false | 0 | false | false | false |
| VK | false | false | true | false | true | false | false | 10 | false | false | false |
| Medium | false | true | false | false | false | false | false | 0 | false | false | false |
| Dev.to | false | true | false | false | false | false | false | 0 | false | false | false |
| Hashnode | false | true | false | false | false | false | false | 0 | false | false | false |
| WordPress | false | true | false | false | true | false | false | 10 | false | false | false |
| ListMonk | false | false | false | false | false | false | false | 0 | false | false | false |
| Moltbook | false | false | true | false | false | false | false | 0 | false | false | false |
| Whop | false | false | true | false | false | false | false | 0 | false | false | false |
| Skool | false | false | true | false | false | false | false | 10 | false | false | false |
| MeWe | false | false | false | false | true | false | false | 10 | false | false | false |
| Tumblr | false | false | false | false | true | false | true | 10 | false | true | false |
| Pixelfed | false | false | true | false | false | false | true | 10 | false | false | false |
| PeerTube | false | false | true | false | true | false | false | 1 | false | false | false |
| GoToSocial | true | true | true | false | true | false | true | 4 | false | false | false |
| Akkoma | true | true | true | false | true | false | true | 4 | false | false | false |
| Friendica | true | true | true | false | true | false | true | 4 | false | false | false |
| Misskey | true | true | true | false | true | false | true | 16 | false | false | false |
| Sharkey | true | true | true | false | true | false | true | 16 | false | false | false |
| LINE | true | false | false | false | true | false | false | 4 | false | false | false |
| Matrix | false | false | false | false | true | false | true | 10 | false | false | false |
| Discourse | false | true | true | false | true | false | true | 10 | false | false | false |
| Odysee | false | false | false | false | true | false | false | 1 | false | false | false |
Summary
poll — Only 3 providers support polls: X, LinkedIn, and LinkedIn Page.
carousel — 5 providers support carousel posts: LinkedIn, LinkedIn Page, Instagram, Instagram Standalone, and Threads.
altText — 13 providers support alt text on images: Slack, Mastodon, Bluesky, Tumblr, Pixelfed, GoToSocial, Akkoma, Friendica, Misskey, Sharkey, Matrix, and Discourse.
analytics — 23 providers support analytics data collection: X, LinkedIn, LinkedIn Page, Instagram, Instagram Standalone, Facebook, Threads, YouTube, Google My Business, TikTok, Pinterest, Dribbble, Reddit, Discord, Mastodon, Bluesky, Telegram, GoToSocial, Akkoma, Friendica, Misskey, Sharkey, and LINE.
watchlist — 5 providers support competitor account probing: X, Instagram, Instagram Standalone, YouTube, and TikTok.
linkPreview — Only X supports link preview / link-card rendering.
comments — 25 providers support fetching and replying to platform comments.
firstComment — 30 providers support auto-posting a first comment after publish.
refreshToken — 16 providers support OAuth refresh token rotation.
Channels Postmill cannot support
Some platforms are requested often but have no usable publishing API — for Postmill or for any competitor. This list is kept current so the absence is a documented decision, not an oversight:
- Minds — no third-party OAuth app registration or documented publishing API; the OAuth server is first-party-only (hardcoded clients), and posting exists only through an unofficial, undocumented session API.
- Trovo — the API reads data, sends chat messages, and edits live-stream settings (title/category); there is no endpoint to publish posts, clips, or videos.
- DLive — the GraphQL API exposes only chat, stream-settings, and moderation writes, and developer-app registration is a manual, application-only process.
- Viber — broadcast requires an explicit recipient list (max 300 IDs) and Viber provides no API to enumerate a bot's subscribers, so a bot channel cannot reach its own audience.
- Gab, Truth Social, Gettr, Parler, Rumble, Locals, BeReal, Lemon8 — no public write API at all.
- Firefish — the project was discontinued; use the Sharkey channel (same Misskey API lineage) for Firefish-lineage instances.
Short-link providers
Postmill also includes a separate capability system for short-link providers. Each short-link provider declares support for custom domains and click analytics. The canonical source is the adapter classes in libraries/providers/<id>/src/v1/.
| Provider | Custom Domain | Click Analytics | Notes |
|---|---|---|---|
| Bitly | ✓ | ✓ | Branded domains via group_guid |
| TinyURL | ✓ | — | Custom alias support |
| T.LY | ✓ | ✓ | Referral tracking |
| Short.io | ✓ | ✓ | iOS/Android deep links |
| Rebrandly | ✓ | ✓ | Workspaces, tags |
| Dub.co | ✓ | ✓ | Link-level tags |
| Cutt.ly | — | ✓ | |
| Tiny.cc | — | ✓ | |
| is.gd | — | — | |
| v.gd | — | — | |
| BL.INK | ✓ | ✓ | Enterprise analytics |
| T2M | ✓ | ✓ | Geo-targeting |
| Linkly | ✓ | ✓ | Retargeting pixels |
| Lnkify | ✓ | ✓ | Self-hostable (optional instance URL); GraphQL API |
| Replug | ✓ | — | Retargeting pixels |
| Switchy | ✓ | — | QR codes |
| PixelMe | ✓ | — | Conversion pixels |
| Sniply | ✓ | — | CTA overlays |
| Ow.ly | — | — | Ow.ly requires a Hootsuite token and is not create/stats-capable in this release. |
| CleanURI | — | — | Link monitoring |
customDomain — 14 of 20 providers support branded/custom short domains.
clickAnalytics — 11 of 20 providers expose click-count retrieval for the analytics dashboard: Bitly, BL.INK, Cutt.ly, Dub.co, Linkly, Lnkify, Rebrandly, Short.io, T2M, Tiny.cc, T.LY.
See Also
- Adding a Provider — How to register capability flags when adding a new channel provider.
- Short-link Providers — Short-link provider capability matrix (above).
Verified against v1.0.0