Personal Calendar Event Reminder to Teams
When an Outlook 365 calendar event is about to start, post a reminder to a Teams channel so colleagues know you're about to be unavailable.
Provided as-is, without warranty of any kind. Review and test each pattern in a non-production environment before deploying it to live automations. See our Terms.
Overview
Polls an Outlook 365 calendar every 15 minutes for events starting within a configurable look-ahead window, and posts a styled reminder message to a Microsoft Teams channel for each upcoming event. Useful for letting your team know when you're going heads-down, in a meeting, or otherwise unavailable, without having to manually announce it each time.
Use Case
Most people forget to tell their team when they're heading into a meeting or focus block, leaving colleagues uncertain whether they're reachable. This flow automates the announcement: it watches your Outlook calendar and, a few minutes before each event starts, drops a tidy reminder card into the Teams channel of your choice. No more typing 'heads down for the next hour' every time — your calendar does it for you.
The flow is ideal for teams that:
- Individuals who want their team to know when they're about to be in a meeting
- Small teams that share a Teams channel for availability and focus-time announcements
- Anyone who lives out of Outlook calendar but wants Teams to reflect their schedule
Flow Architecture
When an upcoming event is starting soon
When an upcoming event is starting soon (V3)Polls the configured Outlook 365 calendar every 15 minutes and fires once per upcoming event whose start time falls inside the configured look-ahead window. The trigger uses splitOn so each event runs the flow body independently.
Initialize varTeamsGroupId
Initialize variableLoads the Microsoft Teams team (group) GUID from the flowlibs_TeamsGroupId environment variable.
Initialize varTeamsChannelId
Initialize variableLoads the target Teams channel ID from the flowlibs_TeamsChannelId environment variable.
Post Calendar Reminder to Teams
Post message in a chat or channelPosts a Flow bot message to the configured Teams group + channel with the event subject, start time, end time, location, and organizer rendered as a styled HTML card.
Environment Variables
| Schema name | Type | Default | Description |
|---|---|---|---|
| flowlibs_CalendarId | String | Calendar | The ID of the Outlook 365 calendar to monitor for upcoming events. Use 'Calendar' for the default calendar, or supply a specific calendar ID to target a secondary calendar. |
| flowlibs_ReminderMinutesBefore | String | 15 | Look-ahead window in minutes — events starting within this many minutes will trigger a Teams reminder. Default is 15. |
| flowlibs_TeamsGroupId | String | <configure> | Microsoft Teams team (group) GUID where the reminder is posted. |
| flowlibs_TeamsChannelId | String | <configure> | Target Teams channel ID inside the configured group. |
Connectors & Connections
| Connector | API name | Actions used |
|---|---|---|
| Office 365 Outlook | shared_office365 | OnUpcomingEventsV3 (trigger — fires for events starting within the look-ahead window) |
| Microsoft Teams | shared_teams | PostMessageToConversation (Posts the reminder card to the target channel) |
Note — All connections are referenced as solution connection references; the flow is portable between environments as long as a connection is mapped at import time.
Customization Guide
Almost every realistic variant of this flow can be implemented by changing environment variable values. A few cases require small edits inside the flow definition — those are called out explicitly below.
- Authorize the Office 365 Outlook and Teams connections
- After import, open the solution's Connection References and sign each one in with the account whose calendar should be watched and that has post permission to the destination Teams channel.
- Point the flow at your calendar
- Set flowlibs_CalendarId to 'Calendar' (your default) or to the ID of a specific Outlook calendar — useful if you keep a separate 'Focus' or 'Personal' calendar.
- Choose the reminder window
- Set flowlibs_ReminderMinutesBefore to the number of minutes ahead of the event you want the alert. Note that the trigger polls every 15 minutes, so values smaller than 15 may produce inconsistent timing.
- Set the Teams destination
- Set flowlibs_TeamsGroupId to your team's Group ID and flowlibs_TeamsChannelId to the channel where reminders should be posted (an availability or focus-time channel works well).
- Customize the message body
- The Post Calendar Reminder to Teams action contains an HTML body referencing triggerBody fields (subject, start, end, location, organizer). Edit the HTML directly if you want different fields, formatting, or tone.
- Turn on the flow
- Once connections are authorized and env vars are filled in, toggle the flow to On — it will start polling the calendar every 15 minutes.
Key Expressions
The flow is intentionally light on Power Fx / WDL gymnastics — the heaviest expressions are the branch-name concatenation and the approval outcome check. They are listed below in the order they appear in the flow.
EXPR.01Look-ahead window from env var
Casts the look-ahead env var to an integer for the trigger's lookAheadTimeInMinutes parameter.
EXPR.02Event subject from trigger
Pulls the event subject from the OnUpcomingEventsV3 trigger payload for the Teams message.
Comments
Sign in to join the conversation.
Sign inNo comments yet. Be the first to share your experience with this flow.