Scheduled Publishing
Scheduled publishing lets you set a future date and time for a template or content block version to go live automatically. Instead of manually publishing at the right moment, you schedule it in advance and TemplateTo handles the rest.
How It Works
When you schedule a version for publishing:
- A publish record is created with a future date
- The current published version remains active until the scheduled time
- At the scheduled time, any render request automatically picks up the new version — no cron jobs, no delay
This works because TemplateTo's version resolution query checks PublishDate <= NOW() at render time. When the clock passes the scheduled time, the new version becomes the resolved published version instantly.
No delay
Activation is instantaneous at the scheduled time. There is no background job or polling — the version becomes active the moment a render request is made after the scheduled time.
Scheduling via the UI
From the History Panel
- Open a template or content block in the editor
- Open the History panel (drawer)
- Find the version you want to schedule
- Click the clock icon next to the Publish button
- Select the date and time in the popover
- Click Schedule
The version will show a blue Scheduled badge with the publish date displayed below.
From the Version Status Dropdown
When viewing a scheduled version, the version status dropdown in the header shows Scheduled in blue. From there you can:
- Publish Now — immediately publishes the version (cancels the schedule)
- Cancel Schedule — removes the schedule without publishing
Current Versions Section
Scheduled versions appear in the Current Versions section of the History panel alongside Published and Draft versions, with a clock icon and the scheduled publish date.
Scheduling via the API
Use the existing publish endpoint with a publishDate query parameter:
- The
publishDatemust be a UTC ISO 8601 datetime string - If
publishDateis in the future, the version is scheduled (not immediately published) - If
publishDateis omitted or in the past, the version is published immediately
Cancel a Schedule
This removes the scheduled publish record. The current published version remains unchanged.
Behavior Rules
One Schedule at a Time
Each template or content block can have one pending schedule at a time. If you schedule a new version while another is already scheduled, the old schedule is replaced.
Immediate Publish Cancels Schedules
When you immediately publish any version (via UI or API without a future date), any pending scheduled publish for that content is automatically cancelled. This prevents a stale schedule from later overriding your immediate publish.
| Scenario | Behavior |
|---|---|
| Schedule v2, then immediately publish v3 | v3 goes live now; v2's schedule is auto-cancelled |
| Schedule v2, then schedule v3 | v2's schedule is replaced; only v3 is scheduled |
| Schedule then cancel | Schedule is removed; current published version unchanged |
| Schedule a version that is also the draft | Valid — the version shows both Draft and Scheduled badges |
API Consumers
If you use the REST API to render templates, scheduled publishing works transparently. The version resolution happens at query time, so your render calls will automatically pick up the scheduled version once the time arrives.
Checking Schedule Status
Via API
The version list endpoint returns isScheduled and scheduledPublishDate fields for each version:
{
"contentVersionId": "cntver_abc123",
"isScheduled": true,
"scheduledPublishDate": "2026-03-25T10:00:00Z",
"isDraft": true,
"isPublished": false
}
Via UI
Scheduled versions display:
- A blue Scheduled badge in the History panel and version list
- The scheduled date and time below the version details
- A Scheduled status in the version status dropdown (header)