Configuring Content Calendar plugin: understanding "type" and "titleField

14 replies
Last updated: Nov 29, 2025
Hi all, I am looking at integrating the calendar https://www.sanity.io/plugins/content-calendar and I am stuck at the configuration in
config/content-calendar.json
, specifically

"types": [
    {
      "type": "post",
      "field": "publishedAt",
      "titleField": "title"
    }
  ],
does type mean something like ‘document’ and what is the purpose of ‘titleField’ as there was no mention of it in
https://www.sanity.io/blog/calendar-plugin
AI Update

In the config/content-calendar.json configuration file:

"type" refers to your document type (schema name), not the word "document" itself. So if you have a document schema called post, article, or event, that's what goes in the type field.

"titleField" specifies which field from your document should be displayed as the title/name of the event in the calendar view. This helps you identify documents at a glance when looking at the calendar.

For example, in your configuration:

{
  "type": "post",
  "field": "publishedAt",
  "titleField": "title"
}
  • "type": "post" - This targets documents with the schema type post
  • "field": "publishedAt" - This is the date/datetime field used for scheduling
  • "titleField": "title" - This tells the calendar to display the value from the title field as the event name

The titleField also supports nested properties using dot notation, like "title.en" if you have localized fields.

Important note: This plugin is now deprecated. The Sanity team recommends using sanity-plugin-scheduled-publishing instead, which is the modern, actively maintained solution for scheduling content in Sanity Studio.

Show original thread
14 replies

Sanity – Build the way you think, not the way your CMS thinks

Sanity is the developer-first content operating system that gives you complete control. Schema-as-code, GROQ queries, and real-time APIs mean no more workarounds or waiting for deployments. Free to start, scale as you grow.

Was this answer helpful?