Scheduled posts fail to publish for one of five reasons: the account connection expired, the platform was down or throttling requests, the media broke a format or size rule, the post hit a publishing cap, or the content was held for review, and you can usually tell which one you are looking at from the shape of the failure alone, because a dead connection kills every post to that account at once while a rejected video kills exactly one.
The advice people give when this happens is to switch tools, and that only helps if the cause was the tool. Every scheduler, including the platforms' own free ones, publishes through the same platform APIs, holds the same expiring tokens, and hits the same caps, so the failure modes travel with you. What changes between tools is how often the avoidable failures happen and how loudly you hear about all of them.
Disclosure: we make Maeve, a scheduler with a failed-post recovery feature, so we have an interest in this question. The diagnosis sections are tool-agnostic and hold wherever you schedule; Maeve gets one section near the end, plainly labeled.
The Failure Pattern Tells You the Cause
Before you read an error message, look at the shape of what failed, because each cause leaves a different footprint. A connection problem takes out every scheduled post on that account at once. A platform outage takes out one platform across accounts while the others publish fine. A rejected video takes out exactly one post while its neighbors go through. Half a batch publishing already rules out the most common cause, a dead connection, before anyone opens a dashboard, because a dead connection does not publish half of anything.
| What you see | Likely cause | The fix |
|---|---|---|
| Every post to one account failed at once | The connection to that account expired or was revoked | Reconnect the account in the scheduler, then retry. Nothing else works until you do. |
| One platform failing across accounts, the others fine | A platform API outage or slowdown | Wait and retry. A scheduler with automatic retries usually publishes late rather than never. |
| One post failed while its neighbors published | The platform rejected it, usually media format, size, or length | Read the platform's error, fix the file or the caption, reschedule. |
| A bulk batch half-published | Rate limits or a publishing cap hit partway through | Retry the missing posts spread over a longer window instead of resending the whole batch. |
| The post published, then disappeared | A moderation hold or removal on the platform side | Check notifications in the native app; edit and repost, or appeal there. |
| Nothing is marked failed, the post just is not live | A native scheduler failed silently, or the tool never knew the publish was due | Check the platform's own scheduled and drafts queues, then check the account connection. |
Failed Post Recovery
Maeve retries the temporary failures automatically, and anything that still cannot publish lands in a Failed Posts tab with a plain reason, the platform's actual error, and a Retry button that waits until the fix is in place.
See Failed Post RecoveryPlan, preview, and publish in one workflow
Expired Connections Cause Most of It
Every scheduling tool, third-party or native, publishes through the platforms' APIs, and the APIs authenticate with tokens that expire by design. Meta's long-lived tokens last about 60 days, LinkedIn's run on a similar clock, and TikTok and Instagram connections commonly drop roughly monthly. A healthy scheduler refreshes these tokens quietly before they die, which is why you can go a year without thinking about any of this, and why the machinery only becomes visible when it stops working.
Tokens also die early, and this is where most real-world failures come from. Changing the account password kills them. Turning two-factor authentication on kills them. A platform security sweep after a login from a new country kills them. On Facebook and Instagram, changing Page roles or Business Manager permissions can kill them too. Agencies get the worst of it because the trigger sits with someone else: a client resets their password on a Tuesday, tells nobody, and every scheduled post for that client fails from Wednesday on. The signature is unmistakable, and the fix is always the same: reconnect the account, then retry. A careful tool will refuse to retry until you reconnect, which sounds strict and is the right call, because retrying into a dead connection fails every time.
Reconnecting profiles every week is a different problem from normal expiry. A connection dropping once or twice a year is expected; weekly means the tool's refresh machinery is failing or the account keeps tripping security checks, and either way it can be diagnosed rather than accepted. The same token problem is the first thing that breaks automation stacks built on schedulers, which the n8n scheduler map covers from the workflow side, and if the fragility makes you wonder about third-party access altogether, the third-party safety question has an honest answer.
Why Half a Batch Publishes and Half Does Not
A half-published batch means the connection was alive, so the failures happened per post, and the usual mechanism is throttling. Platforms cap how fast and how much anyone can publish through their APIs: Instagram refuses API-published posts past 50 per account in any rolling 24 hours, and every platform rate-limits bursts of requests, which is exactly what a scheduled holiday batch is. A week of Valentine's content across every board and account, queued into the same few peak slots, arrives at the platform as a burst, and the platform serves some requests and turns the rest away.
Seasonal timing makes it worse in a way that is easy to miss. Your batch is not alone: every other customer of your scheduler is publishing their holiday content through the same platform app at the same peak minutes, and platform-side limits apply at both the account and the app level. A tool that queues and retries drains the backlog a few minutes late and you never notice; a tool that fires once and gives up leaves the turned-away half dead in the calendar. Mixed batches can also half-fail on the media itself, since each file is checked separately: nine images sail through and three videos over a length or size limit do not.
What to do about the half that failed: retry only those posts, spread over a longer window rather than resent as one burst, and if the batch was large, keep it under the platform's daily cap. Next season, stagger the queue so posts to the same account sit minutes apart instead of sharing a slot. And the honest limit before blaming any vendor: no scheduler can raise a platform's cap or publish through an outage. What separates tools is whether the turned-away posts get queued, retried, and reported, or silently dropped.
When the Platform Says No
Uploading a file into a scheduler is not the platform's approval, because the platform enforces its media rules at publish time. Video length, file size, resolution, codec, and aspect ratio all get checked when the post actually ships, so a file that sat happily in the queue for three weeks can still be refused at the door. This is the one-post-fails-alone pattern, and the platform's error message, if your tool shows it to you, names the rule.
Two more platform-side causes are worth recognizing because no scheduler setting fixes them. Moderation: TikTok in particular screens content at upload and can hold or remove a video the moment it goes live, which from the calendar's point of view looks like a failure even though the pipeline worked, and the notice lives in the native app. And account standing: a platform that has restricted or flagged an account will refuse API publishes from it too, so when failures make no sense, open the native app and check for warnings before touching the scheduler. There is also the stale-post case: if a post missed its moment because the connection was dead and you fix things a day later, a decent tool refuses to fire it automatically, because yesterday's launch post going out tomorrow morning is usually worse than it not going out at all.
Native Schedulers Fail More Quietly, Not Less Often
It is tempting to assume the third-party layer is the fragile part and the platforms' own schedulers are solid. The record does not support it. Meta Business Suite posts occasionally fail with no notification at all, a recurring complaint among people managing multiple Pages, and the wider constraints are in Meta Business Suite's scheduling limits. The silence can start before the queue: during some Business Suite update waves the Planner drops Story uploads with no error, covered in why did my Business Suite Story upload disappear. Pinterest's native scheduler holds ten queued Pins and reaches 30 days out, covered in how far ahead Pinterest lets you schedule. TikTok Studio publishes reliably enough but says almost nothing when a scheduled video fails to appear.
Publishing through an API fails sometimes wherever you do it, so the fair way to compare tools, native ones included, is time-to-knowing: whether you find out in a minute from a notification, on Friday from the feed, or from a client asking why the launch post never went up.
The Five-Minute Response When It Happens
When you find a post that did not go out, this order gets you to the fix fastest.
The Reliability Screen for the Next Tool
If a run of failures has you shopping, screen for how a tool behaves in the sixty seconds after a failure, because that is where schedulers genuinely differ. All of it is checkable in a trial week, and failure handling belongs beside price and platform coverage on the shortlist, as argued in how to choose a scheduler.
How Maeve Handles a Failed Post
A failing post gets retried automatically for the first few minutes, which clears most platform blips before anyone notices, and a background sweep keeps looking for posts that should have gone out and did not. Whatever still cannot publish lands in a Failed Posts tab grouped under five plain reasons, connection expired, rejected by the platform, missed the window, a service blip, or failed to publish, with the exact message the platform sent back attached to each row, and the calendar shows the post in red on the day it was due. A dead connection blocks the Retry button until the account is reconnected, carousels and story chains retry as a unit, a post more than 24 hours past its slot is marked as having missed the window rather than fired late, and every retry is logged with who ran it. The full walkthrough is on the failed post recovery page, and the minute-by-minute sequence is in what happens when a scheduled post fails.
The limits, stated plainly: Maeve cannot raise a platform's publishing cap, publish through an outage, or overrule a moderation decision, and neither can any other scheduler. What it commits to is that you know the same hour, with the reason attached and the fix one click away, instead of finding out from the feed that half the week showed up.
So: a token expired, a platform throttled or went down, a file broke a rule, a cap was hit, or a moderator said no, and the shape of the failure tells you which. None of these are cured by switching schedulers, because every tool publishes through the same APIs. What switching can fix is how often the avoidable ones happen and how fast you hear about the rest. Nothing works in the sense of a scheduler that never fails, so the useful question is which tool turns a failure into a notification with a reason and a retry button instead of a discovery. Judge your current tool against the screen above during its next bad week.
Related tools
Failed Post Recovery
Automatic retries for the temporary failures, a Failed Posts tab with plain reasons and the platform's real error, and a Retry button that waits for the fix.
Social Media Scheduler
Eight platforms on one calendar, with failed posts surfacing inline beside scheduled and published.
Calendar
Failed posts show in red on the day they were due, so nothing waits to be discovered from the feed.
Hear About Failures in Minutes
Maeve retries the temporary failures on its own, and anything that still cannot publish reaches you with the reason attached and the fix one click away. 3 days free, cancel anytime.
Start planning in Maeve