Skip to main content
The Daylight Calendar Card supports full create, read, update, and delete (CRUD) operations for calendar events directly from your Home Assistant dashboard. You can add a team meeting, tweak an existing appointment, or remove an event that was cancelled — all without leaving the card.

Support by Calendar Type

What you can do from inside the card depends on the underlying Home Assistant calendar integration. The card adapts its UI to each calendar’s capabilities — buttons for unsupported actions are hidden or disabled automatically.
Calendar typeCreateEditDelete
Local Calendar (Home Assistant built-in)
Google Calendar✅ *
CalDAV**
* Google Calendar edits use a safe create-then-delete flow. The Home Assistant Google Calendar integration does not expose a true update operation, so the card simulates editing by creating a new event with your changes and then deleting the original. From the user’s perspective the event appears edited; under the hood it is a brand new event.One side effect: the event’s UID changes, and any external links or integrations that reference the original UID will need to be updated.
CalDAV is version dependent. The card can always add new events to a CalDAV calendar, but editing and deleting existing events is dependent on the CalDAV version. Edit and delete functionality will be read by this card and it will show Edit/Delete buttons accordingly.

Creating Events

To create a new event, click the Add Event button in the card header. A modal form opens where you fill in:
  • Event title (required)
  • Start date and time
  • End date and time
  • All-day toggle — when enabled, time fields are hidden and the event spans the full day
  • Location — optional venue or address
  • Description — optional free-text notes (supports Markdown and basic HTML)
  • Calendar — choose which calendar the event is saved to from a dropdown of your writable calendars
Click Create Event to save. The card refreshes immediately to show the new event in the grid.

Editing Events

To edit an existing event, click it anywhere in the calendar grid to open the event detail modal. Then click Edit Event. The same form used for creation appears, pre-populated with the event’s current data. Make your changes, then click Save Changes. The Edit button only appears for events on calendars that support editing. See Support by Calendar Type above for the per-integration matrix.

Recurring Events

When creating or editing an event, toggle the Recurring switch to reveal recurrence options:
  • FrequencyDaily, Weekly, Monthly, or Yearly
  • Interval — repeat every N frequency units (e.g. every 2 weeks)
  • Weekdays — for weekly recurrence, select which days of the week the event falls on
  • End condition — choose Never, On a date (enter an end date), or After N occurrences

Deleting Events

From the event detail modal, click Delete. You will be asked to confirm. For recurring events, a second prompt asks you how to apply the deletion:
OptionEffect
This event onlyRemoves only the single occurrence you clicked
This and future eventsRemoves this occurrence and every one after it
All eventsRemoves the entire recurring series
The Delete button only appears for events on calendars that support deletion. See Support by Calendar Type above.

Configuration Options

enable_event_management
boolean
default:"true"
Master switch for all event management features. Set to false to make the card completely read-only — the Add Event button is hidden and clicking events opens a read-only detail view with no Edit or Delete actions.
readonly_calendars
list
A list of calendar entity IDs that should be treated as read-only even when event management is enabled. Events on these calendars can be viewed but not edited or deleted from the card.
readonly_calendars:
  - calendar.holidays_in_united_states
  - calendar.boss_calendar
hide_add_event_button
boolean
default:"false"
Hide the Add Event button from the header. Users can still edit and delete existing events unless you also disable event management or mark calendars as read-only.

Example

type: custom:daylight-calendar-card
title: Family Calendar
entities:
  - calendar.family
  - calendar.work
  - calendar.holidays_in_united_states
enable_event_management: true
readonly_calendars:
  - calendar.holidays_in_united_states
hide_add_event_button: false
Event descriptions support Markdown and basic HTML. You can use **bold**, _italic_, bullet lists, and links in description fields. All HTML is sanitised before rendering, so unsafe tags are stripped automatically.
Some events created outside of Home Assistant — for example, events imported from an ICS file or synced from third-party integrations — may be missing a UID field. Without a UID, the card cannot uniquely identify the event and will show a “Cannot Modify” notice instead of Edit and Delete buttons. If you need to modify such an event, recreate it directly from the card or from the source calendar application.