Production publish log through October 10, 2026 · Implementation audit August 14, 2026

SchedulePost platform capability matrix

SchedulePost has direct-publishing code for six networks. Its production log shows sustained successful publishing to four of them (Instagram, YouTube, Facebook and TikTok) and only a single test publish each for Threads and X. Adapter presence is still not the same as a successful publish, and platform approval, account type, permissions, tokens and API changes can block a post, so this page reports what actually happened and how often it failed.

Production publish log by network

Counts come from SchedulePost's own production database (the per-network result of each publish attempt), January 20 to October 10, 2026. “Published” means the network's API accepted the post and, where noted, returned a post ID. It is not an independent re-check of every post on the network. Download the figures as CSV.

NetworkPublished (post ID returned)FailedLast 90 days: published / failedAccounts · channelsFirst → last publishReading
Instagram464 (464)39202 / 12 · 32026-01-27 → 2026-10-10Sustained, low recent failure
YouTube341 (341)8211 / 32 · 32026-01-20 → 2026-10-10Sustained, low recent failure
TikTok161 (161)8145 / 22 · 22026-01-20 → 2026-10-10Sustained, low recent failure
Facebook308 (308)134152 / 511 · 22026-04-01 → 2026-10-10Works; 1 in 4 of the last 90 days' attempts failed, almost all before the Aug 26 upload fallback
Threads1 (1)20 / 01 · 02026-03-11 → 2026-03-11Single test publish; not sustained
X1 (0)10 / 01 · 02026-02-08 → 2026-02-08Single publish without a returned post ID; not verified

Limits of this evidence: the log covers two SchedulePost accounts, so it shows the publishing paths work in production but not how a typical new account will fare. A failed result stays recorded as failed unless the same post is retried. Facebook failures are the largest problem in the 90-day window: 131 of the 134 all-time failures were "Facebook Reel upload failed", the last on August 25, 2026, the day a direct-upload fallback shipped. Since August 26 the production database shows 1 Facebook failure against roughly 135 published, a figure measured after the fix and still short. Rate-limit, permission and media errors are all counted together here.

Implementation audit

The table below is the August 14 code audit. Its last column now points to the log above instead of “needs account test”.

NetworkConnection routePublisher implementationAutomated test evidenceProduction log (Oct 10)
InstagramImplemented OAuth callbackImage/video publishing pathDedicated publisher tests presentSustained (464 published)
TikTokImplemented OAuth callbackVideo and photo direct-post/status polling pathsDedicated publisher tests presentSustained (161 published)
YouTubeImplemented OAuth callbackVideo upload path with privacy fieldsDedicated publisher tests presentSustained (341 published)
FacebookImplemented OAuth callbackPublishing path presentNo dedicated publisher test found in this auditWorks; 25% failed in the last 90 days, mostly before the Aug 26 fix (308 published)
ThreadsImplemented OAuth callbackPublishing path presentNo dedicated publisher test found in this auditSingle test publish only (1)
XConnection handled outside the five callback filesMedia publishing path presentNo dedicated publisher test found in this auditNot verified (1 publish, no post ID)

Network × post-type contract

“Implemented” below means automated direct-publishing code exists; it does not mean a fresh production account accepted the post. SchedulePost does not substitute reminder-only notifications for any row.

NetworkText onlyOne videoOne imageCarouselRepository limitLast checked
InstagramUnsupportedImplemented as ReelImplementedImplemented: images or videos20 items2026-08-14
TikTokUnsupportedImplemented: direct post or draft uploadImplemented as photo postImplemented: images only1 video or 35 images; no mixed carousel2026-08-14
YouTubeUnsupportedImplementedUnsupportedUnsupportedExactly 1 video2026-08-14
FacebookImplementedImplemented as ReelImplementedImplemented: images only10 images2026-08-14
ThreadsImplementedImplementedImplementedImplemented: images and/or videos20 media items; 500-character text slice2026-08-14
XImplementedImplementedImplementedImplemented: images only1 video or 4 images; 512 MB media ceiling2026-08-14

Evidence paths: src/server/publish/index.ts, the six adapters under src/server/publish/ and src/server/x-api.ts, plus src/components/post-composer/mediaConstraints.ts. YouTube, TikTok, and Instagram publisher behavior has dedicated adapter tests; other rows are implementation-inspected and remain live-test gated.

What “supported” means here

  • Implemented: the repository routes a connected account to network-specific publishing code.
  • Automated evidence: repository tests exercise a publisher without proving the external platform accepted a production post today.
  • Production-logged: an authorized account published through SchedulePost and the network API accepted the post, recorded in the production log above. “Sustained” means hundreds of accepted publishes over months with a returned post ID for each.
  • Independently re-checked on the network: a person confirmed the live post on the platform. This has not been done systematically for every logged publish.

Failure, retry, and media behavior

The repository tracks published, partial, and failed final states; records per-platform results; supports retry from sent-post history; and includes a publishing heartbeat/reaper path for interrupted jobs. Media validation has network-specific branches for TikTok, YouTube, Instagram, and Facebook. These controls reduce silent failure but do not guarantee delivery.

Account, upload, and plan boundaries

  • A SchedulePost account and an authorized platform connection are required. Network-specific account eligibility, app review, scopes, and channel permissions still apply.
  • Direct upload accepts video or image MIME types and enforces a 512 MB service upload ceiling. The composer accepts MP4, MOV, WebM, JPEG, PNG, and WebP; its safe video baseline is MP4 with H.264 video and AAC audio.
  • Videos must be at least 360 × 360 pixels and one second long. The composer warns about aspect ratio and short-form classification; TikTok's creator-info response can impose a lower account-specific maximum duration and block publishing.
  • Batch scheduling is limited in code to 50 items. No paid tier, universal connected-account quota, or retention promise was found in the audited public contract, so this page does not invent one.
  • SchedulePost sends direct API publication requests. Notifications report results or failures; they are not a reminder-only fallback publishing mode.

Verification still outstanding (Threads and X)

Threads and X have only one logged publish each and no recent successful publishes. Use this protocol before relying on them:

  1. Connect one authorized test account per network and record account/profile type and granted scopes.
  2. Publish the same rights-cleared vertical MP4 with a unique caption and no optional network-only features.
  3. Record queued time, API response, returned post ID/URL, visible publication time, and any transformation.
  4. Repeat as a scheduled post, then force one recoverable failure to confirm error and retry behavior.
  5. Date each successful row; downgrade it when scopes, API versions, or implementation change.

Buffer comparison boundary

Buffer's official pricing page currently says its Free plan allows three channels and ten scheduled posts per channel, and that some Instagram, TikTok, and YouTube workflows may use reminder notifications. The production log supports four networks, not six, and Facebook failed often before an August 2026 fix and has only about six weeks of data since, so SchedulePost should not be described as more reliable than Buffer. Its possible advantage is the number of channels on a free plan, which depends on current limits. See Buffer's current pricing and capability table.

Corrections

This is an implementation audit, not a platform endorsement. Send a reproducible correction to hello@fulinlabs.com. Open SchedulePost or read the product overview.