Home Assistant — This app requests read-only access to your Google Calendar so that Home Assistant can trigger smart home automations based on your calendar events.

home assistant · Google Calendar Integration

Home Assistant
Google Calendar

This application connects your Google Calendar to Home Assistant, allowing your smart home to read your schedule and trigger automations automatically based on your calendar events.

Get started
home-assistant · calendar automations
MEETING
Weekly Standup
09:00 – 09:30 · Mon–Fri
Luxafor → Red
Doorbell → Silenced
Lights → 30%
FOCUS
Deep Work Block
10:00 – 12:00 · Daily
Luxafor → Green
Notifs → Paused
Thermostat → 70°F
OOO
Out of Office
All Day
Lights → Off
Thermostat → 78°F
Mode → Away
DND
Heads Down
Flexible · On demand
Luxafor → Red
Alexa → Muted
Doorbell → Silent

Everything you need

One integration. Calendar-aware automations across your entire smart home.

📅

Live calendar sync

Polls Google Calendar and exposes events as HA sensor states with title, start, end, and location attributes.

Event-based triggers

Fire automations on event start, end, or N minutes before. Supports keyword matching in event titles.

🔆

Scene activation

Automatically set lights, thermostat, and presence status based on what's on your calendar right now.

🔕

Do-not-disturb mode

Suppress doorbell, Alexa, and mobile notifications during meetings or focus blocks — automatically.

🏠

Away mode

All-day OOO events trigger away scenes: lights off, thermostat setback, security mode on.

🔁

Multi-calendar support

Connect personal, work, and shared calendars. Route each to different automations independently.

Up in minutes

Four steps from zero to calendar-aware automations.

01

Add the Google Calendar integration

In Home Assistant, go to Settings → Integrations → Add → Google Calendar. Sign in with your Google account and grant calendar read access.

02

Select calendars to sync

Choose which Google Calendars to expose as entities in HA. Each becomes a calendar.* entity with event state and attributes.

03

Create automations

Use the Calendar trigger type in Automations. Set the trigger to fire on event start or end. Filter by calendar entity or keyword match.

# Example automation trigger trigger: - platform: calendar event: start entity_id: calendar.work offset: -00:02:00 condition: - "{{ 'Focus' in trigger.calendar_event.summary }}" action: - scene: scene.focus_mode
04

Test and iterate

Use Developer Tools → Template to inspect calendar entity state. Create a test event in Google Calendar and confirm the trigger fires within the polling interval (~15 min or instant with webhook).