Changes

no edit summary
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]]