Schedule Publication
Enable automatic scheduled publishing of draft documents in Payload v3, triggered by a cron-pinged Bearer-protected endpoint.
Installation
pnpm add @focus-reactive/payload-plugin-scheduling About
This plugin turns on Payload's built-in `schedulePublish` drafts feature for the collections and globals you choose, so editors can pick a future publish date in the admin sidebar and the document goes live on its own. It does not reimplement publishing. It enables the native feature, routes the resulting jobs into a dedicated queue, and exposes an HTTP endpoint that a cron drains on a schedule. Integration happens in `payload.config.ts`. You pass an array of collection slugs (and optionally global slugs) plus a secret string. The plugin merges `versions.drafts.schedulePublish: true` into each configured config, preserving any existing versions and drafts settings rather than overwriting them. A `beforeChange` hook on the jobs collection tags any job whose `taskSlug` is `schedulePublish` with the configured queue name (default `scheduled-publish`), keeping those jobs isolated from other background work. The plugin registers `GET /api/scheduled-publish/run`. When hit with a matching `Authorization: Bearer <secret>` header, the handler calls `payload.jobs.run({ queue })` and returns `{ ok: true }`. Wrong or missing tokens get a 401. You are responsible for calling this endpoint as often as your finest scheduling granularity. The README documents Vercel crons (via `vercel.json`, where Vercel auto-sends `CRON_SECRET` as the bearer header), plain `curl`, and `node-cron`. If the `secret` option is empty or missing, the plugin disables itself and logs a warning rather than registering the endpoint, so a missing environment variable will not break the build. A `schedulePublish` option lets you pass a `SchedulePublish` config (such as `timeIntervals`) to align the date picker with your cron cadence. The queue name is configurable if it collides with another queue.
Package info
- Package name
@focus-reactive/payload-plugin-scheduling- Latest version
1.3.0- Unpacked size
- 24 kB
- License
- MIT
- Weekly downloads
- 260
- Last publish
- Jun 18, 2026
More from focusreactive
View profileTranslator
Translates localized Payload CMS content into any locale via pluggable providers, with document, bulk-collection, and per-field controls in the admin UI.
A/B Testing
A/B testing plugin that creates page variants in Payload collections and routes traffic at the edge via Next.js middleware.
Analytics
Adds a GA4-backed analytics dashboard inside the Payload admin, with KPIs, sessions, and lead-action tracking driven by the GA4 Data API and gtag.js.
SEO
Adds live Yoast SEO analysis to the Payload v3 document editor with a SERP preview, keyphrase checks, and readability scoring.
Collaborative Comments
Adds document-level and field-level comments to the Payload admin panel, with @mentions, email notifications, resolution, multi-tenancy and locale filtering.
Presets
Save and apply reusable block configurations as presets in the Payload admin panel.
Similar plugins
More in ContentMenus
Adds a menus collection to Payload for building navigation with nested items, collection links, custom URLs, icons, and preview images.
Reservation and Booking Manager
Manage reservations and bookings through Payload CMS with conflict detection and scheduling.
Live Preview
Live preview for Payload CMS in Astro and any SSR/static frontend (SvelteKit, Nuxt, Next.js, plain HTML), patching the DOM without rebuilds.
FixedLink
Adds short links on your own domain to Payload documents, with links that keep working after slug changes through the FixedLink service.
Nested Docs Page Tree
Adds a nested tree view for managing documents in Payload CMS.