"Post at 9:00" has two meanings. It can mean nine o'clock wherever each audience is, so a client in New York and one in Prague both get their post at nine in the morning. Or it can mean one single moment everywhere, for an embargo or a launch. A scheduler that stores one zone for the whole account has to pick one meaning for you, and it is usually not the one you needed. This page describes the two meanings and how Preflight handles them.
Two kinds of time
| Means | Use it for | |
|---|---|---|
Wall-clock time (scheduledLocal) | That hour in each channel's own zone: one number becomes several instants | A regular post for audiences in different places |
A moment (scheduledAt) | One instant, the same everywhere | A launch, an embargo, a webinar at a fixed time |
The first is the default in the composer. The second is a choice: pick "one moment" and give the zone you mean.
Where the zone lives
- On the channel. Each channel has its own zone in settings, because the zone belongs to the audience, not to the person scheduling.
- Falling back. A channel with no zone of its own uses the workspace's, and Europe/Prague when neither is set.
- On the post. The composer can pick a zone for one post: each channel's own, one channel's zone, or any zone from the time-zone database. The composer states the zone next to the time, so the number is never ambiguous.
- In queues. Posting schedules ("Mondays 16:00") are resolved in each channel's zone, so a schedule for a client in Chicago means 16:00 in Chicago.
What goes wrong without it
A tool with one zone makes an agency do arithmetic on every post. Where the browser's zone decides, a teammate in another country who types 14:00 creates a different instant from you, and a calendar that draws in each viewer's zone shows the same post at different numbers. Both are correct and both are confusing, which is why stating the zone beside the field matters more than where it is stored.
Over the API
| Field | Example | Meaning |
|---|---|---|
scheduledLocal | "2026-10-05T14:00" | A wall-clock time read in each channel's zone |
scheduledAt | An ISO instant | The same moment on every network |
queue | true | Each channel's next free slot from its schedule |
publishNow | true | Straight out; wins over a time sent with it |
saveAsDraft | true | Parked without a time |
Send exactly one of these. A time up to five minutes in the past counts as now, for a retry or a slow clock; anything older is refused with scheduled_in_past, so a wrong date never goes out. The posts reference has the fields and the errors page the code.
Daylight saving
A wall-clock time follows the zone's rules: "14:00 in Prague" is 13:00 UTC in winter and 12:00 UTC in summer. A schedule that must hold across the clock change therefore keeps its local hour, which is what an audience expects. A fixed instant does not move, so a launch at one moment arrives an hour "early" or "late" on the local clock after the change.
Time zones on every plan
Zones per channel and per post are on every plan, the free one included. Scheduling is described per network on pages such as how to schedule LinkedIn posts, and the free tools do not need an account.
Behaviour read from Preflight's code and API reference on 30 October 2026.
Questions people ask
- How do I schedule a post at the same local time in different time zones?
- Use a wall-clock time. In the composer that is the default: 9:00 means 9:00 in each channel's own zone. Over the API, send scheduledLocal with the time and no offset.
- How do I schedule a post for one exact moment everywhere?
- Choose one moment and give the zone you mean, or send scheduledAt over the API as an ISO instant. The same instant is used on every network.
- Which time zone does a channel use if I have not set one?
- The workspace's zone, and Europe/Prague if neither is set. Set a zone on the channel in its settings to follow the audience.
- What happens to a scheduled post when the clocks change?
- A wall-clock time keeps its local hour, so 14:00 stays 14:00 in that zone. A fixed instant does not move, so it shows an hour different on the local clock.
- Why was my scheduled post refused as being in the past?
- A time more than five minutes in the past is refused with scheduled_in_past so that a wrong date never goes out. Up to five minutes counts as now.