JustFlows

Documentation is English-only for now. The rest of the site follows your language.

Scheduled publishing

Schedule a publish or unpublish date from the editor, track every pending change on a publishing agenda, and share a signed draft-preview link.

6 min read

Every content type, and its working revisions, can carry a Publish on and an Unpublish on date from the editor's Publish → Schedule panel — shown in both your browser's timezone and the site's. Cancel schedule clears either date without discarding the draft.

Publishing agenda

Content → Publishing agenda lists every pending publish and expiry across content types, filterable by type and language, so an editorial team can see what's about to go live or come down without opening each item.

Share a not-yet-published draft with someone outside the admin using a signed preview link (POST /api/content/{id}/preview-link), valid for 24 hours. The link stops working if the entry is trashed, gets a new version — including a re-schedule — its token expires, or APP_SECRET is rotated.

How a schedule fires

A database-backed job, content.publish-scheduled, runs at startup and then every minute, claiming up to 100 due entries per scan with row-level locking so restarts and multiple workers can't double-fire a transition — treat delivery as at-least-once and dedupe on eventId if you consume it. A scheduled transition fires the same content.published / content.unpublished actions as a manual one (context source: "job"), queues any subscribed webhooks, updates feed hooks, the sitemap, and content/page caches, triggers an incremental static-export rebuild if auto-rebuild is on, and is recorded in revision history and the schedule audit trail.

API

http
PUT /api/content/{id}/schedule
{ "publishOn": "2026-10-01T09:00:00Z", "unpublishOn": null, "expectedVersion": 4 }

The federated equivalent is PUT /api/manage/v1/content/{id}/schedule with the same body, requiring content:update and content:publish. Setting a field to null cancels that side of the schedule. See Content.