Skip to content

Calendar Triggers (Outlook/Microsoft 365)

Set up calendar triggers to automatically execute workflows when calendar events are created, updated, deleted, or about to start.

What You Can Build

  • Meeting preparation: Automatically gather and send meeting prep materials before events
  • Post-meeting follow-ups: Send summary emails or create tasks after meetings end
  • Scheduling automation: Process new meeting requests and perform related actions
  • Reminder systems: Send custom reminders with relevant context before important events
  • Resource booking: Automate room booking or equipment reservation based on events

Prerequisites

Before setting up calendar triggers, you will need:

  • A Microsoft 365 (Office 365) organization with Exchange Online
  • An Azure AD application with Graph API permissions
  • Admin access to your Raikoo organization
  • The same Azure AD setup as email triggers (you can reuse the same app)

Trigger Types

Calendar triggers can fire on different event types:

Trigger Type When It Fires Use Case
event_created New event added to calendar Notify stakeholders, prepare resources
event_updated Existing event modified Update related systems, re-send notifications
event_deleted Event removed from calendar Clean up resources, cancel preparations
event_starting Configurable time before event Send prep materials, reminders

Setup Steps

Step 1: Configure Azure AD (if not already done)

If you have already set up email triggers, you can reuse the same Azure AD application. Otherwise, follow steps 1-3 from the email triggers guide.

For calendar triggers, ensure your app has these permissions: - Calendars.Read - To read calendar events - User.Read.All - To access user calendars

Step 2: Create or Update a Connection

If you already have a Graph API connection: 1. Navigate to Connections 2. Select your existing Graph API connection 3. Verify the credentials are still valid

If you need a new connection: 1. Navigate to Connections in your organization 2. Click Create Connection 3. Configure: - Name: "Outlook Calendar" (or similar) - Platform: Select Graph API (Microsoft) 4. Enter your credentials on the Credentials tab 5. Click Save

Step 3: Create a Calendar Trigger

  1. Navigate to Integrations in the left navigation
  2. Click Create Trigger
  3. Configure the trigger:
  4. Name: A descriptive name (e.g., "Meeting Prep Automation")
  5. Description: What this trigger does
  6. External Connection: Select your Graph API connection
  7. Go to the Execution tab:
  8. Execution Mode: Choose "Workflow"
  9. Project: Select the project containing your workflow
  10. Workflow: Select the workflow to execute
  11. Authentication Mode: Configure authentication
  12. In the trigger configuration, specify:
  13. Calendar User: The user whose calendar to monitor
  14. Event Types: Which event types trigger the workflow (created/updated/deleted/starting)
  15. Minutes Before (for starting triggers): How many minutes before the event to trigger
  16. Click Save

Calendar Event Parameters

When a calendar event triggers a workflow, these parameters are available:

Parameter Description Example
TRIGGER_CALENDAR_SUBJECT Event title Weekly Team Sync
TRIGGER_CALENDAR_START Start time (ISO 8601) 2024-01-15T10:00:00Z
TRIGGER_CALENDAR_END End time (ISO 8601) 2024-01-15T11:00:00Z
TRIGGER_CALENDAR_LOCATION Event location Conference Room A
TRIGGER_CALENDAR_ORGANIZER Organizer's email manager@company.com
TRIGGER_CALENDAR_ATTENDEES List of attendee emails user1@company.com, user2@company.com
TRIGGER_CALENDAR_WEB_LINK Link to event in Outlook https://outlook.office365.com/...
TRIGGER_CALENDAR_MEETING_URL Teams meeting URL (if applicable) https://teams.microsoft.com/l/meetup-join/...
TRIGGER_CALENDAR_EVENT_TYPE What triggered the workflow event_created, event_updated, event_deleted, event_starting
TRIGGER_CALENDAR_MINUTES_UNTIL_START Minutes until event starts (for starting triggers) 15

Example: Meeting Prep Workflow

Here is an example workflow that sends preparation materials before meetings:

Workflow Design

  1. Start - Triggered 15 minutes before meeting
  2. Check Event Type - Conditional branch to filter events
  3. Only process if TRIGGER_CALENDAR_EVENT_TYPE is event_starting
  4. Gather Context - AI operation to summarize relevant information
  5. Input: Meeting subject, attendees, previous meeting notes
  6. Output: Brief, context-aware summary
  7. Send Prep Email - Use Send Email operation
  8. To: TRIGGER_CALENDAR_ORGANIZER
  9. Subject: "Prep for: TRIGGER_CALENDAR_SUBJECT"
  10. Body: Generated summary with meeting link

Configuration

  1. Create the workflow with the operations above
  2. Create a calendar trigger for the calendar you want to monitor
  3. Set the trigger to fire 15 minutes before events
  4. Select the prep workflow as the execution target

Example: Post-Meeting Follow-up

Automate follow-up actions after meetings end:

  1. Start - Triggered when meeting is updated (to catch when it ends)
  2. Check if Meeting Ended - Evaluate if the current time is past the end time
  3. Generate Summary - AI operation to create action items (if you have meeting notes)
  4. Send Follow-up - Email the organizer with next steps

Troubleshooting

Calendar Subscription Not Activating

  1. Verify your Azure AD app has Calendars.Read permission
  2. Check that admin consent was granted
  3. Ensure the monitored user exists and has a valid mailbox
  4. Verify the connection credentials are correct

Events Not Triggering Workflows

  1. Check that the trigger is set to Active
  2. Verify you are monitoring the correct calendar
  3. Ensure the event types match your trigger configuration
  4. Check for errors in Raikoo logs

"Event Starting" Triggers Not Firing

  1. These triggers rely on periodic polling, so there may be slight timing variations
  2. Ensure your trigger's "minutes before" setting is appropriate
  3. Check that the calendar has upcoming events to process

Permission Errors

  1. Confirm Calendars.Read permission is granted as Application permission (not Delegated)
  2. Verify admin consent was provided
  3. Check the app has access to the specific user's calendar

Subscription Lifecycle

Raikoo manages calendar subscriptions automatically:

  • Creation: When you save a calendar trigger, a subscription is created
  • Renewal: Subscriptions are renewed before the 3-day expiration
  • Polling: "Event starting" triggers use additional polling to detect upcoming events
  • Cleanup: Subscriptions are removed when the trigger is deleted

Best Practices

  • Use specific calendars: Monitor specific user calendars rather than shared calendars when possible
  • Filter by event type: Only trigger on the event types you actually need
  • Handle all-day events: Account for all-day events which have different time formats
  • Consider time zones: Calendar events include timezone information - handle appropriately
  • Test with recurring events: Verify your workflow handles recurring meetings correctly
  • Monitor for gaps: Event starting triggers depend on polling - account for slight timing variations

Combining with Other Triggers

Calendar triggers work well in combination with other integrations:

  • Email + Calendar: Send meeting prep via email when a meeting is approaching
  • Teams/Slack + Calendar: Post meeting reminders to team channels
  • SMS + Calendar: Send text reminders for important external meetings

Security Considerations

  • Minimize access: Only request permissions for calendars you need to monitor
  • Audit access: Azure AD logs all Graph API calendar access
  • Consider sensitivity: Some calendar events may contain sensitive information
  • Service accounts: Consider using dedicated service accounts for calendar monitoring

Next Steps