/📚 Guides/Scheduling Logic

Scheduling Logic

How PlanSched picks up scheduled posts and delivers them across platforms.

Timezones

Every scheduled_at value is stored in UTC. Pass an ISO 8601 timestamp with a zone, or send local time plus a timezone field (IANA name, e.g. America/New_York).

Publish windows

A background worker polls every minute for posts whose scheduled_at has passed and dispatches them in parallel across their target platforms.

Retries

  • Transient errorsretried with exponential backoff up to 5 times.
  • Auth errorsnot retried — the account is flagged as needing reconnect.
  • Rate-limit errorsdelayed and re-queued once the destination platform accepts traffic again.

Partial failures

When a post targets multiple platforms and only some succeed, the post status becomes partial. The per-platform result is available on the post object and via the post.failed webhook.

Next
Introduction
Back to start