📅 Calendar Notifications & Actions

@Grunorr

I added 3 calendar events in. One with Blocked, another one with Auto-Blocked and another one with just some text Working well. I used your YAML only changing the calendar used, offsets and I turned ON / OFF a different switch.

The only notification I got was the one that had Working well the other 2 calendar events were stopped on the condition.

Remember it is case sensitive. Example; it must be Blocked not blocked

Blacky :grinning:

Hello all,

Could someone take a look at what I have created below to see if there are any glaring issues:

The part that I am somewhat concerned won’t work is the additional action I added to get a notification across the smart speakers in the house. The script I have called out with the arguments I have listed works in other automations but I wasn’t sure if it was ok to use it in this aspect here.

Also, is there a way to use this (the text that is being represented by this code): {{ trigger.calendar_event.summary }}

i.e. what is contained inside of that code (the title of the calendar event and have it said by the smart speaker rather than having to hardcode the text I would like said (shown below in the speech_message area)

alias: Calendar Notifications & Actions- Nail Trim
description: ""
use_blueprint:
  path: Blackshome/calendar-notifications-and-actions.yaml
  input:
    calendar: calendar.placeholder_gmail_com
    start_calendar_offset:
      hours: 0
      minutes: 30
      seconds: 0
      days: 0
    calendar_trigger: "@Nail"
    include_start_notify: enable_start_notify_options
    start_notify_device:
      - bd1204963b0f5db08dcb3d33ef2ba626
    include_start_action_buttons: []
    include_start_auto_actions:
      - enable_start_action_1
    start_action_1:
      - if:
          - condition: state
            entity_id: input_boolean.audible_notifications
            state: "on"
        then:
          - action: script.status_annc
            data:
              who: null
              call_interruption: 1
              speech_message: The Dogs Nail Trim Appointment is in thirty minutes.

Hello,
Maybe I am missing, but I can not find iOS critical notification sound level. Main reason always on top notification with no sound.

First things first, this blueprint is really great work, it has all features I can imagine.
I downloaded version 2.0 and tried to notify my Android mobile, but without success. Problem is, from my point of view, the push line in data section:

domain: notify
  service: mobile_app_fp4
  service_data:
    title: MĂźll
    message: Gelber Sack muss rausgestellt werden !
    data:
      push:
        interruption-level: active
      actions:
        - action: BUTTON_1_01K9AA77614PB9TVDT3BZ2B46P
          title: Gelber Sack rausgestellt ?
        - action: BUTTON_STOP_01K9AA77614PB9TVDT3BZ2B46P
          title: []

As I could not get rid of interruption-level (even if you delete dropdown box, it defaults to active), I tweaked the blueprint a little bit, line 710:

default: []

Now it works :sunglasses:

What do you think ?

@wtstreetglow

Looking at the message you want to send your Calendar Start - Offset may need to be -30 with a minus (-) not 30 as that will send the notification 30 min after it starts and you would like 30 min before it starts.

Blacky :grinning:

@Trilis29

If your Interruption Level - iOS Only is set to Critical Notifications then it will always play a sound at full level. See FAQ click here.

This is set by Apple

Blacky :grinning:

@PapaGei7

Push data is for iOS and not Android so it should not do anything.

Blacky :grinning:

Thank you for looking at that for me. I will change that and see what happens.

1 Like

Hi,
First of all, thanks for a great blueprint, it works great :slight_smile:
Is it possible to have a setting to change to trigger on specific words in the title instead?

Hm…this is probably a me thing but…

I have a calendar entry called “Jane - Rangers” but for some reason even though the calendar is currently on it’s not triggered by the “Rangers” search.

alias: Car - Rangers Night - Preheat Car
description: ""
use_blueprint:
  path: Blackshome/calendar-notifications-and-actions.yaml
  input:
    calendar: calendar.m365_kara
    calendar_trigger: "@Rangers"
    start_calendar_offset:
      hours: 0
      minutes: -30
      seconds: 0
      days: 0

Am I using the trigger wrong?

@NIVO

Yes it is already there. The Calendar Summary is the title.

Blacky :grinning:

@TheFourDees

Yes you using @Rangers and you should be using Rangers. Think of the keyword like a password and it is CaSe seNsitive to.

Blacky :grinning:

:blush: Thanks, I will read the instructions better next time.

1 Like

Ok, I misunderstood the docs mentioning I should put an @ in front of the keyword. I’ll try without.

Cheers

1 Like

EDIT: Ok, NVM, the script is still running as expected. I’m not sure what the error is but it still seems to work as expected.

Ok, the keyword problem is fixed.

The automation triggered when expected however it errored out near the end after I confirmed the notification and it was going to run my script with:

Error in describing trigger: e.offset.startsWith is not a function

Executed: November 18, 2025 at 6:30:00 PM

Not sure from the trace if this is where it bombed:

trigger: calendar
id: t0
event: start
entity_id: calendar.m365_kk
offset:
  hours: 0
  minutes: -30
  seconds: 0
  days: 0

It kinda looks like it just stops after the “check if auto action” part is reached.

My YAML:

id: '1762393555600'
alias: Car - Rangers Night - Preheat Car
description: ''
use_blueprint:
  path: Blackshome/calendar-notifications-and-actions.yaml
  input:
    calendar: calendar.m365_kk
    calendar_trigger: Rangers
    start_calendar_offset:
      hours: 0
      minutes: -30
      seconds: 0
      days: 0
    start_notify_device:
      - c026d4698046a0f8c886cc7cc15c6a46
    start_notify_tag: Rangers
    start_notify_interruption_level: critical
    end_calendar_offset:
      hours: 0
      minutes: -30
      seconds: 0
      days: 0
    include_start_auto_actions: []
    start_action_1:
      - action: script.car_preheat
        metadata: {}
        data: {}
    include_start_notify: enable_start_notify_options
    include_end_notify: enable_end_notify_options
    end_notify_device:
      - c026d4698046a0f8c886cc7cc15c6a46
    end_notify_tag: Rangers
    end_notify_interruption_level: critical
    include_end_auto_actions: []
    end_action_1:
      - action: script.car_preheat
        metadata: {}
        data: {}
    include_start_action_buttons:
      - enable_start_action_button_1
    start_action_button_1: 'Yes'
    start_action_button_stop: 'No'
    end_action_button_1: 'Yes'
    end_action_button_stop: 'No'
    include_end_action_buttons:
      - enable_end_action_button_1
    global_conditions:
      - condition: state
        entity_id: device_tracker.sportage_location
        state:
          - home

@Blacky End Notify triggers/runs when it is disabled, can you fix it?

und das Logger: homeassistant.helpers.template Quelle: helpers/template/__init__.py:2333 Erstmals aufgetreten: 08:07:21 (1 Vorkommnis) Zuletzt protokolliert: 08:07:21 Template variable error: 'dict object' has no attribute 'calendar_event' when rendering '{{ trigger.calendar_event.summary }}'

@TheFourDees

Looks like your all good now.

Enjoy

Blacky :grinning:

@stephanschleichstr13

I have tested it here again and it does not sent the end notification when it is disabled.

Blacky :grinning:

Requesting assistance to ensure I am going about this the right way.
I have a couple Google calendars:

  1. Family Routine Calendar w/ daily reoccurring events; keep kids on schedule
  2. Family Calendar w/ unique (nonrecurring) events

Using Google TTS announce via Google Home speakers, say prior to an event starting and at the start, where offset times vary. I am using tags in the event descriptions; “15m”, “30m”, “45m”, etc.

Current Automations:

“Family Routine Cal” - keyword only - all events tagged
1A. “Family Routine - 0m tagged event”
1B. “Family Routine - 15m tagged event”
1C. “Family Routine - 30m tagged event”

“Family Cal” - both keyword and non-keyword - some events tagged
2A. “Family - 45m tagged event”… etc.
2B. “Family - 15m untagged events” - this will double up and trigger for all calendar events, including those tagged with 45m - any workaround? Is there a better way?

I am also interested in triggering a TV screen cast display preset images or AI generated - “dinner”, “karate”, “brush teeth”, etc. but have not gotten that far.

@rahhhsir

What ever work for you. The blueprint can be triggered on a keyword.

Blacky :grinning: