Calendar & Tasks Card - Unified agenda for events and todos

Hi all! :waving_hand:

I just published my first custom Lovelace card for Home Assistant and wanted to share it here. Looking for feedback before submitting to the default HACS store.

What it is

Calendar & Tasks Card is a unified agenda view that combines calendar events and todo tasks in a single, sorted timeline.

Most existing cards show either calendar events OR todos, not both. I built this because I have a shared CalDAV calendar with my partner and a shared todo list, and I wanted to see "what's coming up" at a glance, mixing appointments and reminders.

Main features

  • :date: Calendar events + todo tasks in one timeline
  • :police_car_light: Dedicated "Overdue" section (highlighted in red)
  • :clipboard: "No Date" section for undated tasks
  • :white_check_mark: Complete tasks directly from the card (checkbox)
  • :artist_palette: Customizable colors per entity (12-color palette)
  • :round_pushpin: Event location display, optionally clickable to open Google Maps
  • :globe_with_meridians: Multilingual: English and Italian (auto-detect from HA)
  • :tear_off_calendar: Optional ISO week numbers
  • :stopwatch: Relative time labels ("Tomorrow", "In 3 days", "Yesterday")
  • :downwards_button: Collapsible card with persistent state
  • :hammer_and_wrench: Full visual editor (no YAML editing required)

Screenshots



Installation

The card is currently available as a custom HACS repository. After some feedback period, I plan to submit it to the default store.

GitHub: GitHub - korova-sq/calendar-tasks-card: Unified agenda view for Home Assistant โ€” calendar events and todo tasks in a single timeline ยท GitHub

To install:

  1. HACS โ†’ Frontend โ†’ 3 dots โ†’ Custom repositories
  2. URL: GitHub - korova-sq/calendar-tasks-card: Unified agenda view for Home Assistant โ€” calendar events and todo tasks in a single timeline ยท GitHub
  3. Category: Lovelace
  4. Search "Calendar & Tasks Card" and install

Tested integrations

  • :white_check_mark: Local To-do (works great)
  • :white_check_mark: CalDAV iCloud (read works, task completion broken due to known HA core bug)
  • :white_check_mark: Google Tasks (works, but no time-of-day due to Google API limitation)
  • :white_check_mark: Calendar entities (Apple/Google/CalDAV - standard HA support)

Feedback welcome!

This is my first card on HACS, so I'm sure there's room for improvement. If you try it and find bugs, weird behavior, or have suggestions, please open an issue on GitHub or reply here.

Thanks!

2 Likes

Quick update: v1.2.0 is now available with two new options:

  • Limit visible events: toggle to show only the first N events with a smooth
    internal scrollbar for the rest. Header stays fixed.
  • Compact mode: reduced vertical spacing for tighter dashboards.

Both default to OFF, so no change unless you enable them in the visual editor.

I wish it was possible to see Google Tasks subtasks so far I can't find any card that supports that unless its just a weird Google Tasks API limitation

Hey, thanks for trying the card! :folded_hands:
As far as I know, it's not really a Google Tasks API issue but more of an HA limitation todo.get_items returns subtasks as flat items without any parent reference. So my card has no way to know which tasks are subtasks of which.
If that ever changes on the HA side, I'll happily add it! :blush:

1 Like

Quick update: v1.3.0 is out with weather support! :sun_behind_rain_cloud:

You can now display:

  • A weather widget at the top of the card with today's condition, temperature, min/max, and humidity
  • Weather icon + temperature next to each day in the agenda

Both options are independent and default to OFF.

Hope you like it! :sun_behind_small_cloud:

v1.4.0 is out! :tada:

New feature: Exclude filter to hide events and tasks based on keywords.

  • Exclude filter: a new exclude configuration option lets you hide events and tasks whose titles contain specific keywords or phrases.
  • Editor UI: a new "Filters" section in the visual editor with chip-style keyword management (add/remove keywords visually).
  • Match is partial (sub-string) and case-insensitive:
    • Single word: exclude: ["meeting"] hides "Weekly meeting", "Meeting room", "meeting notes", etc.
    • Multi-word phrase: exclude: ["Team meeting"] hides only events containing the exact phrase "Team meeting" (so "Client meeting" remains visible).
  • Applies to both calendar events and todo tasks.

Update available via HACS.