Difference between revisions of "Trigger: Calendar Event"

 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
===<p><b>About</b></p>===
+
<pre class="header-style">The Calendar Event trigger fires when a specified calendar event starts or ends. This allows you to automate actions based on your calendar schedule, such as enabling silent mode during meetings or sending reminders before appointments.</pre>
<pre style="background-color: #ACC8E5; color: #112A46; border-radius: 10px; padding: 10px;">
 
This trigger will fire when a specific calendar event starts/ends.
 
  
Note that this trigger normally only fires on 5 minute boundaries, so if you have an event that starts between the boundaries, it may fire a few minutes later.
+
''' Options '''
</pre>
 
  
==<p><b>Supported configurations</b></p>==
+
* '''Event Starts''' - Trigger fires when the calendar event begins
* '''''Event starts / Event ends'''''
+
* '''Event Ends''' - Trigger fires when the calendar event ends
<pre style="background-color: #ACC8E5; color: #112A46; border-radius: 10px; padding: 10px;">
 
Defines whether the event will start at the beginning of the event or at the end of the event.
 
</pre>
 
  
* '''''Calendar'''''
+
''' Configuration '''
<pre style="background-color: #ACC8E5; color: #112A46; border-radius: 10px; padding: 10px;">
 
Choose the account where the event is located, you can also select the category, e.g. birthdays, family, holidays in mexico.
 
</pre>
 
  
* '''''Availability'''''
+
The trigger offers extensive configuration options:
<pre style="background-color: #ACC8E5; color: #112A46; border-radius: 10px; padding: 10px;">
 
It starts only if you are free/busy or any.
 
</pre>
 
  
* '''''Title (Optional)'''''
+
'''Calendar Selection'''
<pre style="background-color: #ACC8E5; color: #112A46; border-radius: 10px; padding: 10px;">
+
* Choose which calendar to monitor from your synced calendars
The event must have this title.
 
</pre>
 
  
* '''''Event detail (Optional)'''''
+
'''Availability Filter'''
<pre style="background-color: #ACC8E5; color: #112A46; border-radius: 10px; padding: 10px;">
+
* '''Any''' - Trigger for all events regardless of availability status
The event must have these details/description.
+
* '''Busy''' - Only trigger for events marked as busy
</pre>
 
  
* '''''Enable regular expression matching'''''
+
'''Title Match (Optional)'''
<pre style="background-color: #ACC8E5; color: #112A46; border-radius: 10px; padding: 10px;">
+
* Enter text to match against the event title
Regular expression matching (or regex matching) is a technique for finding patterns within text using a specialized syntax known as regular expressions. It's a powerful tool for text processing and pattern recognition.
+
* Supports regex patterns when enabled
</pre>
+
* Case-insensitive matching option available
  
* '''''Case insensitive'''''
+
'''Detail/Description Match (Optional)'''
<pre style="background-color: #ACC8E5; color: #112A46; border-radius: 10px; padding: 10px;">
+
* Enter text to match against the event description
It will ignore the use of upper and lower case in title and detail.
+
* Supports regex patterns when enabled
</pre>
 
  
* '''''Ignore all day events'''''
+
'''Text Matching Options'''
<pre style="background-color: #ACC8E5; color: #112A46; border-radius: 10px; padding: 10px;">
+
* '''Enable Regex''' - Use regular expressions for pattern matching
Events defined as full day will be ignored by the trigger.
+
* '''Ignore Case''' - Perform case-insensitive matching (disabled when regex is enabled)
</pre>
 
  
* '''''Check in advance'''''
+
'''Event Filtering'''
<pre style="background-color: #ACC8E5; color: #112A46; border-radius: 10px; padding: 10px;">
+
* '''Ignore All Day Events''' - Exclude all-day events from triggering
Instead of triggering at the exact moment the calendar event triggers, it will check for it (for example) 2 hours in advance.  This way, you can receive alerts in advance about a specific calendar event
 
</pre>
 
  
'''''Use negative value'''''
+
'''Timing Options'''
<pre style="background-color: #ACC8E5; color: #112A46; border-radius: 10px; padding: 10px;">
+
* '''Check in Advance''' - Fire the trigger before the event starts
Use negative value (trigger x time after the event)
+
** Set days, hours, and minutes in advance
</pre>
+
** Use negative values to fire after the event (e.g., 2 hours after end)
 +
* '''Use Alarm''' - Ensures more accurate triggering timing for important events
  
* '''''Use alarm'''''
+
''' Magic Text '''
<pre style="background-color: #ACC8E5; color: #112A46; border-radius: 10px; padding: 10px;">
+
 
Use this option if the trigger time is not accurate (and you need it) e.g. for high importance events it is recommended to use alarm.
+
When this trigger fires, the following information is available via magic text:
</pre>
+
* Event title - {calendar_title}
 +
* Event description/detail - {calendar_detail}
 +
* Event location - {calendar_location}
 +
* Event start date and time - {calendar_start_date}, {calendar_start_time}
 +
* Event end date and time - {calendar_end_date}, {calendar_end_time}
 +
 
 +
''' Examples '''
 +
 
 +
''Example 1: Silent Mode During Meetings''
 +
  <pre class="trigger-style">Triggers
 +
 
 +
Calendar Event - Event Starts (Busy)</pre>
 +
  <pre class="action-style">Actions
 +
 
 +
Volume Change: Ring to 0 (Silent)
 +
Volume Change: Notification to 0</pre>
 +
 
 +
''Example 2: Reminder 30 Minutes Before Appointment''
 +
  <pre class="trigger-style">Triggers
 +
 
 +
Calendar Event - Event Starts [+30m] (Title: Doctor)</pre>
 +
  <pre class="action-style">Actions
 +
 
 +
Notification: Doctor appointment in 30 minutes!</pre>
 +
 
 +
''' Notes '''
 +
 
 +
* This trigger normally only fires on 5-minute boundaries (configurable in settings), so events that start between boundaries may fire a few minutes late
 +
* The update rate can be adjusted in MacroDroid settings
 +
* Use the "Use Alarm" option for more accurate timing on important events
 +
* When importing macros, the trigger will attempt to match the calendar by name on the new device
 +
* Regex matching automatically disables the "Ignore Case" option (use regex flags instead)
 +
 
 +
''' Permissions Required '''
 +
 
 +
* '''Calendar Permission''' - READ_CALENDAR permission required to access calendar events
 +
* '''Schedule Exact Alarm''' - Required for precise timing
 +
 
 +
''' See Also '''
 +
 
 +
* [[Action:_Calendar_-_Add_Event|Add Calendar Event Action]]
 +
* [[Constraint:_Calendar_Entry|Calendar Event Constraint]]

Latest revision as of 21:57, 5 January 2026

The Calendar Event trigger fires when a specified calendar event starts or ends. This allows you to automate actions based on your calendar schedule, such as enabling silent mode during meetings or sending reminders before appointments.

Options

  • Event Starts - Trigger fires when the calendar event begins
  • Event Ends - Trigger fires when the calendar event ends

Configuration

The trigger offers extensive configuration options:

Calendar Selection

  • Choose which calendar to monitor from your synced calendars

Availability Filter

  • Any - Trigger for all events regardless of availability status
  • Busy - Only trigger for events marked as busy

Title Match (Optional)

  • Enter text to match against the event title
  • Supports regex patterns when enabled
  • Case-insensitive matching option available

Detail/Description Match (Optional)

  • Enter text to match against the event description
  • Supports regex patterns when enabled

Text Matching Options

  • Enable Regex - Use regular expressions for pattern matching
  • Ignore Case - Perform case-insensitive matching (disabled when regex is enabled)

Event Filtering

  • Ignore All Day Events - Exclude all-day events from triggering

Timing Options

  • Check in Advance - Fire the trigger before the event starts
    • Set days, hours, and minutes in advance
    • Use negative values to fire after the event (e.g., 2 hours after end)
  • Use Alarm - Ensures more accurate triggering timing for important events

Magic Text

When this trigger fires, the following information is available via magic text:

  • Event title - {calendar_title}
  • Event description/detail - {calendar_detail}
  • Event location - {calendar_location}
  • Event start date and time - {calendar_start_date}, {calendar_start_time}
  • Event end date and time - {calendar_end_date}, {calendar_end_time}

Examples

Example 1: Silent Mode During Meetings

Triggers

Calendar Event - Event Starts (Busy)
Actions

Volume Change: Ring to 0 (Silent)
Volume Change: Notification to 0

Example 2: Reminder 30 Minutes Before Appointment

Triggers

Calendar Event - Event Starts [+30m] (Title: Doctor)
Actions

Notification: Doctor appointment in 30 minutes!

Notes

  • This trigger normally only fires on 5-minute boundaries (configurable in settings), so events that start between boundaries may fire a few minutes late
  • The update rate can be adjusted in MacroDroid settings
  • Use the "Use Alarm" option for more accurate timing on important events
  • When importing macros, the trigger will attempt to match the calendar by name on the new device
  • Regex matching automatically disables the "Ignore Case" option (use regex flags instead)

Permissions Required

  • Calendar Permission - READ_CALENDAR permission required to access calendar events
  • Schedule Exact Alarm - Required for precise timing

See Also