The Scheduler Calendar Plugin adds a visual, calendar-based scheduling dashboard to your Payload CMS admin.
It helps you view and manage all upcoming scheduled publishing events across your collections — such as posts, events, or announcements.
Install the plugin using your preferred package manager:
# with npm
npm install schedular-calendar-plugin
# or with yarn
yarn add schedular-calendar-plugin
# or with pnpm
pnpm add schedular-calendar-pluginImport the plugin into your Payload configuration file and add it to the plugins array:
import { buildConfig } from 'payload/config'
import { calendarPlugin } from 'schedular-calendar-plugin'
export default buildConfig({
serverURL: 'http://localhost:3000',
plugins: [
calendarPlugin(),
],
// ...your other Payload config
})To use the calendar plugin effectively, make sure each collection that supports scheduled publishing
includes the following fields and versioning options:
{
slug: 'posts',
fields: [
{
name: 'title',
type: 'text',
required: true,
},
{
name: 'publishedAt',
type: 'date',
admin: {
position: 'sidebar',
},
},
],
versions: {
drafts: {
autosave: {
interval: 100, // Optimal for live preview
},
schedulePublish: true, // ✅ Enables scheduling for this collection
},
maxPerDoc: 50,
},
}- You also need to generate the import maps if needed. Please see how the import maps generated for your project.
pnpm run generate:importmap
When Payload starts, the plugin:
- Validates incoming config
- Injects calendar UI and hooks
- Integrates default options for smooth scheduling
- Returns the updated Payload config for startup
- The plugin extends your Payload config by adding collections or hooks as necessary.
- Uses spread syntax to safely merge with existing config properties.
- Includes full TypeScript support for plugin options.
- This project is licensed under the MIT License.