Basic Calendar Setup

This is a community-contributed tutorial.
Feb 4, 2026

This tutorial is based on the video training by Fraz which can be viewed at https://www.youtube.com/watch?v=mQJNvEGV_gg

Overview

Concrete CMS has a built-in calendar and time model in its core. This guide shows how to set up a calendar using out-of-the-box Concrete features, not dependant on any other add-on.

Step-by-Step Instructions

  1. Create an Events Page

    • Navigate to your website
    • Create a new page to house your calendar
    • Name it "Events" (or similar)
    • Place it under "Home" in your site structure or wherever you want it to publish
    • Save and verify the page exists
  2. Set Up a Page Type for Event Details

    • Go to Dashboard → Pages and Themes → Page Types
    • Copy an existing page type
    • Name it "event detail" (note: handles can't have spaces, so use underscores or camelCase if needed)
    • Save the new page type

    Why? This step creates a template for individual event pages that will be generated automatically when events are added to the calendar.

  3. Create a Calendar Event Attribute

    • Go to Dashboard → Pages and Themes → Attributes
    • Create a new attribute
    • Give it a handle and a name, ex: "calendar_event" for the handle and "Calendar Event" for the name
    • Select "Calendar Event" as the attribute type
    • Save the attribute

    Why? This attribute stores the event information and associates it with pages.

  4. Create a Calendar

    • Go to Dashboard → Calendar and Events
    • Click to create a new calendar (no calendars exist by default)
    • Configure the calendar settings:
      • Choose "Automatically make a page if one doesn't exist"
      • Set the parent page location to "Events" (the page created in Step 1)
      • Select "Event Detail" as the page type
      • Select the calendar event attribute you created
    • Add/save the calendar

    Why? You can create multiple calendars for different departments, people, or purposes. They can be organized different in your sitemap and even have different permissions.

  5. Create a Test Event

    • In the calendar dashboard, add a new event
    • Fill in the event details:
    • Add content/description
    • Set the "More Details" page location if a location other than the default is desired
    • Set start and end dates
    • Choose times (in 5-minute increments)
    • Optional event features:
      • Make it an all-day event (no specific times)
      • Set it as a repeating event (e.g., every Friday)
      • Add multiple date/time occurrences for irregular schedules
      • Add custom attributes as needed (not covered by this tutorial but a great way to customize your calendar!)
    • Publish the event
  6. Add Calendar Block to Events Page

    • Navigate to your Events page
    • Put the page in edit mode
    • Add the Calendar block to the main area
    • Select your calendar from the dropdown
    • Configure view settings as desired
    • Publish changes Commentary: The calendar should now display on your Events page, showing the same view as in the dashboard.
  7. Configure Event Detail Page Template

    • Go to Dashboard → Pages & Themes → Page Types
    • Select the "Event Detail" page type
    • Click "Output"
    • Choose the "Full" template
    • Add the "Calendar Event Detail" block to the main area
    • Configure the block:
      • Set it to pull data from "the page that we're on"
      • Select the event details attribute you created earlier
      • Turn on all information options you want to display
    • Add the block to the page
  8. Apply Settings to Existing Pages

    • Click on the block you just added
    • Select "Setup on Child Pages"
    • This applies the block to any event pages already created before you configured the page type defaults

    Why? There's no versioning on this type of work—changes happen live.

  9. Add Event Content to your Events Page

    • Navigate to your Events page
    • Edit the page
    • Add a Calendar Block to the page
    • Configure the Calendar Block
      • Select the calendar created above
      • Select your view type (Monty/Week/Day is graphical, list types are lists. Multiple types selected will allow user to select the option they prefer)
      • Set other view options
      • Add the block
    • Save and Publish the page
  10. Test Your Calendar
    • Return to your Events page
    • Click on an event to view its detail page
    • Verify that all information displays correctly (title, date, description, etc.)
    • Check multiple occurrences of repeating events to ensure they each have their own URL but share the same content
    • Key Features
      • Event Options:
      • Single or all-day events
      • Repeating events (weekly, monthly, etc.)
      • Multiple date/time occurrences
      • Custom attributes for organization-specific needs
    • Benefits:
      • Centralized editing: Update an event once, and all occurrences reflect the changes
      • Automatic page generation for each event
      • Unique URLs for each occurrence
      • Consistent time/date handling across different extensions

Your calendar is now fully functional and integrated into your Concrete CMS site!

Recent Tutorials
Basic Calendar Setup
Feb 4, 2026
By dbuerer.

Concrete CMS has a calendar built into the core, however, there is not a prescribed way for it to be used. This tutorial walks you through a basic setup presuming your calendar is just going to be used to store a series of events.

Edit domains and sitemaps
Apr 4, 2025
By myq.

How to create a sitemap when using an edit domain

Block Types and CIF Data
Apr 2, 2025
By mlocati.

This tutorial describes how Concrete works with blocks data, and how you can create custom block types that works well when exporting and importing data with the CIF XML format.

Customize the default page title
Mar 12, 2025

Change the default " :: " and/or "site name :: page title" formatting separator to something else.

Configure Composer to work with a Page Type
Feb 20, 2025
By myq.

Fix the "Unable to load block into composer. You must edit this content from within the context of the page." error message

Permissions for editors in a multilingual site
Feb 2, 2025
By myq.

How to set up a multilingual Concrete CMS site for groups of language-specific editors

Improvements?

Let us know by posting here.