✨ Strapi MCP is now Generally Available - let your agents manage your Strapi content ✨

New Community Plugin: Content Scheduling

March 30, 2022Updated on July 9, 2026

About this plugin

The Publisher plugin allows Strapi CMS users to schedule publishing and unpublishing of any content type. I have also created a few other Strapi plugins that you might find useful:

  • Transformer (removed from the marketplace because it is not compatible with Strapi v5) - A plugin for Strapi Headless CMS that provides the ability to transform the API request or response.
  • Auto Slug - A plugin for Strapi Headless CMS that provides the ability to auto slugify a field for any content type.
  • Website builder (removed from the marketplace because it is not compatible with Strapi v5) - A plugin for Strapi Headless CMS that provides the ability to trigger website builds manually, periodically, or through model events.
  • Notes - A plugin for Strapi Headless CMS that can add notes to entity records.

Why did you build it?

When the Strapi marketplace was released, I was interested in contributing useful plugins that would target a large audience of Strapi CMS users. While in the Strapi Discord, quite a few users mentioned their interest in some scheduled published content implementation for their Strapi instances. This was my first indication that a plugin covering this use case would be useful. I then noticed in the v3 docs that there was a guide for setting up auto-publishing on a cron, and that was the decider. The next day I started working on the first draft of the Publisher plugin.

How does it work under the hood?

Once the plugin is enabled, a Publisher section is added to all applicable content type records (i.e. any content type with draft and publish enabled). The section contains the option to add a publish or unpublish date for that record.

image1.png

Once added, the plugin will track an action record for that change internally. Every minute the plugin will check if any publish/unpublish dates for content-type records has passed. If a date has passed, the plugin triggers the publication state change for the relevant records.

strapi.cron.add({
 "*/1 * * * *": async ({ strapi }) => {
   // fetch all actions that have passed
   const records = await getPluginService(strapi, "actionService").find({
     filters: {
       executeAt: {
         $lte: new Date(),
       },
     },
   });

   // process action records
   for (const record of records) {
     getPluginService(strapi, "publicationService").toggle(
       record,
       record.mode
     );
   }
 },
});

What’s on the roadmap?

I am constantly looking for new features to add to the plugin to make it more useful for users. Any suggestions are always welcome; at this point, the next feature planned is the following:

A list view to see all published/unpublished and scheduled content - This will provide editors and authors a good overview of the state of their content.

How can others contribute to this plugin?

All contributions and ideas are welcome. The easiest way to do so is via github or discord. Github Discussion has been enabled on the repo for anyone with questions or ideas.

NPM package URL

Repository URL

Marketplace Plugin

DeadalusFull-Stack Developer

I am a full-stack Canadian programmer with an interest in the open-source community. I originally started off in Mechanical Engineering as I always had an interest in building things. It was there that I was introduced to programming and decided that programming was of more interest to me as a career. From there the rest is history.

Join our Newsletter

Get all the latest news and events.

Newsletter signup is not configured yet.

MUX Video Uploader Plugin and Strapi
Custom plugins & Marketplace·5 min read

Integrating Mux Video Uploader Plugin with Strapi and Next.js

Learn how to integrate Mux Video Uploader plugin with Strapi and Next.js to manage and display video content effortlessly.

·July 1, 2024
New Community Plugin: API Monitoring and Observability
Custom plugins & MarketplaceBeginner·2 min read

New Community Plugin: API Monitoring and Observability

Introducing Treblle plugin for Strapi - monitor requests to APIs in real-time, track API performance, and collaborate in their evolution.

·May 23, 2023
Custom plugins & Marketplace·7 min read

Announcing Custom fields and updated API Token in Strapi v4.4

Explore Strapi v4.4's new Custom Fields and upgraded API Token for enhanced customization and security. #Strapi

·September 29, 2022