Difference between revisions of "Trigger: Calendar Event"

m
 
(9 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>
 
* ''When this trigger is present, you can use more [...]'' ''[ magic text]''
 
==<p><b>Supported configurations</b></p>==
 
* '''''Event starts / 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'''''
+
* '''Event Starts''' - Trigger fires when the calendar event begins
<pre style="background-color: #ACC8E5; color: #112A46; border-radius: 10px; padding: 10px;">
+
* '''Event Ends''' - Trigger fires when the calendar event ends
Choose the account where the event is located, you can also select the category, e.g. birthdays, family, holidays in mexico.
 
</pre>
 
  
* '''''Availability'''''
+
''' Configuration '''
<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)'''''
+
The trigger offers extensive configuration options:
<pre style="background-color: #ACC8E5; color: #112A46; border-radius: 10px; padding: 10px;">
 
The event must have this title.
 
</pre>
 
  
* '''''Event detail (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 these details/description.
 
</pre>
 
  
* '''''Enable regular expression matching'''''
+
'''Availability Filter'''
<pre style="background-color: #ACC8E5; color: #112A46; border-radius: 10px; padding: 10px;">
+
* '''Any''' - Trigger for all events regardless of availability status
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.
+
* '''Busy''' - Only trigger for events marked as busy
</pre>
 
  
* '''''Case insensitive'''''
+
'''Title Match (Optional)'''
<pre style="background-color: #ACC8E5; color: #112A46; border-radius: 10px; padding: 10px;">
+
* Enter text to match against the event title
It will ignore the use of upper and lower case in title and detail.
+
* Supports regex patterns when enabled
</pre>
+
* Case-insensitive matching option available
  
* '''''Ignore all day events'''''
+
'''Detail/Description Match (Optional)'''
<pre style="background-color: #ACC8E5; color: #112A46; border-radius: 10px; padding: 10px;">
+
* Enter text to match against the event description
Events defined as full day will be ignored by the trigger.
+
* Supports regex patterns when enabled
</pre>
 
  
* '''''Check in advance'''''
+
'''Text Matching Options'''
<pre style="background-color: #ACC8E5; color: #112A46; border-radius: 10px; padding: 10px;">
+
* '''Enable Regex''' - Use regular expressions for pattern matching
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
+
* '''Ignore Case''' - Perform case-insensitive matching (disabled when regex is enabled)
</pre>
 
  
'''''Use negative value'''''
+
'''Event Filtering'''
<pre style="background-color: #ACC8E5; color: #112A46; border-radius: 10px; padding: 10px;">
+
* '''Ignore All Day Events''' - Exclude all-day events from triggering
Use negative value (trigger x time after the event)
 
</pre>
 
  
* '''''Use alarm'''''
+
'''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 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.
+
** 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
 +
 
 +
''' 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''
 +
  <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