Scheduling posts
Schedules live on variants, not the post: each platform variant has its own scheduled_at time and publishes independently. The app gives you one dialog to set a single time across variants, and a background scheduler does the publishing.
Schedule from the post
On the post detail page, click Schedule post (or Edit schedule) in the property pane — on small screens it's the Schedule button in the bottom bar:
- Select which variants to schedule. Checked platform variants go out at the chosen time. Unchecking a previously scheduled variant unschedules it (back to draft). Variants without a posting account show an account row and stay unchecked until you choose one. Variants that are already published, mid-publish, or awaiting approval are shown but can't be checked, and accounts you can't publish to directly carry a Will be sent for approval hint — scheduling them creates a request for the account's approvers instead of erroring.
- Choose the time. It must be in the future; the default suggestion is about an hour from now.
- Click Schedule.
The schedule summary at the top of the property pane then shows the headline time and one row per variant — a check for variants on that time, its own timestamp for a variant on a different time, and a warning for any variant that is not going out.
You can also schedule the first variant directly from the New post dialog, or set scheduled_at per variant via the API.
Status follows the schedule
A variant's status tracks its schedule automatically:
- Setting a time on a
draft(orfailed) variant moves it toscheduled— or toneeds_approval(Awaiting approval, shown in amber) when the channel requires sign-off. Approving releases it toscheduled; a rejection returns it todraftwith the reviewer's comment, keeping the chosen time. See approvals. - Clearing the time — unchecking the channel in the dialog, or
"scheduled_at": nullvia the API — returns it todraft.
Published and mid-publish variants can't be (re)scheduled. A variant cannot be scheduled without a posting account assigned — assign the account first.
Timezones
Times are stored in UTC. You pick schedule times in your device's local timezone, and the app displays them the same way with an explicit offset — e.g. Tue 6/20/26, 9:00AM UTC+5:30 — so there's no ambiguity when teammates are in different timezones.
The Scheduled view
The Scheduled page lists posts whose overall publish status rolls up to scheduled (or mid-publish) — it's driven by the variants' statuses, not by the post's workflow state. Scheduling a variant moves its post onto this page automatically; a post with a failed or awaiting-approval variant rolls up to those states first and shows under Drafts instead. For a time-based picture of what goes out when, use the calendar.
How publishing happens
A background job runs every 30 seconds and publishes every variant whose status is scheduled and whose time has passed — so content goes live within about half a minute of its scheduled time. The same applies to a variant approved after its time already passed: it goes out on the next sweep. A variant stuck mid-publish for more than 5 minutes (for example, a crashed worker) is moved to failed rather than retried — because the platform call may already have gone out, re-running it could double-post, so it's surfaced for a human to check the channel before retrying.
If a scheduled publish fails, the variant moves to failed with the error message on it — see Publishing and post statuses and publishing failures. Scheduled publishes are recorded in the post's activity log with System as the actor.