List Events
Definition
The “List Events” action retrieves events from a selected Microsoft Calendar based on the search criteria you provide. It allows you to filter by event subject, date range, and more, making it easy to surface only the events that matter. This action also supports expanding recurring events into individual instances for detailed visibility.
Key capabilities include:
- Fetching events from both personal and shared calendars.
- Filtering events by keywords (Search Text) or date range (Start Date Time).
- Handling up to 1000 events per request, with pagination support for larger datasets.
- Returning detailed event information, including subject, organizer, attendees, timing, recurrence patterns, locations, reminders, and online links.
- Supporting advanced scenarios like finding specific meetings, checking availability, or analyzing recurring event schedules.
In short, this action is designed to give you a comprehensive and structured view of your calendar events so you can automate scheduling, reporting, or monitoring workflows with precision.
Example Use Cases
1. Daily Schedule Summary Automatically pull all events for the day from your calendar and send a morning summary via email or chat, so you start the day prepared.
2. Meeting Availability Check Retrieve events within a date range to determine free or busy times, making it easier to automate scheduling with colleagues or external partners.
3. Event Tracking & Reporting List upcoming or past events and store them in a spreadsheet or database for reporting, trend analysis, or compliance audits.
4. Reminder Automation Fetch events with reminders enabled and trigger custom notifications (email, Slack, Teams) to ensure no meeting or deadline is missed.
5. Recurring Event Management Expand recurring meetings into individual instances and process them—for example, to identify which future meetings overlap with holidays.
6. Cross-Calendar Insights Combine results from multiple calendars (team, project, personal) to create a unified view of all commitments in one place.
Inputs
1. Connection Choose the Microsoft account connection you want to use for retrieving events. This ensures the action has the right permissions to access the specified calendar.
2. Calendar Select the calendar from which you want to list events. This could be your primary calendar (like “Calendar”) or any additional/shared calendar you have access to.
3. Search Text Enter keywords to filter events by their subject. For example, typing “Project Review” will return only events whose titles include that text. This is useful if you’re looking for specific meetings or filtering out a certain category of events.
4. Expand Recurring Events Toggle this option if you want recurring meetings (like weekly team calls) to be expanded into individual event instances. When enabled, each occurrence of the recurring event is treated as a separate entry in the results.
5. Start Date and Time Specify the start date and time for your search window. Events that occur on or after this time will be retrieved. This helps focus on a specific timeframe, like “this week” or “next month.”
6. Number of Events to Return Define how many events you want the action to return in a single run.
- Minimum: 1 (at least one event must be returned).
- Maximum: 1000 (you can fetch up to 1000 events at once). This lets you control the size of your result set depending on whether you need a quick overview or a bulk export.
7. Next Page Token If your results span multiple pages (for example, more than 1000 events), use this token to fetch the next batch of events. If you leave it blank, the action will return the first page of results by default.
Outputs
-
Events A list of event objects that match your criteria. Each event includes rich metadata you can use in downstream actions (notifications, filtering, reporting). For every event, you’ll receive the following fields:
-
Event id – Unique identifier for the event (e.g.,
AAMkADY...=
). -
Event link – Direct URL to open the event in Outlook on the web (e.g.,
https://outlook.office.com/calendar/item/...
). -
Subject – The event title as shown in the calendar (e.g.,
Quarterly Business Review
). -
Created time – When the event was originally created (ISO 8601, e.g.,
2025-09-10T08:32:14Z
). -
Last modified time – Most recent time the event was updated (ISO 8601).
-
Change key – Version stamp that changes whenever the event is updated (useful to detect conflicts).
-
iCalendar UID – Cross-system UID for recurring series/instances (helps de-duplicate across syncs).
-
Reminder minutes before start – Minutes before start when reminder fires (e.g.,
15
). -
Is reminder on – Whether a reminder is enabled (
true/false
). -
Body preview – Plain-text snippet (typically truncated) of the event body.
-
Importance – Importance level:
low
,normal
, orhigh
. -
Visibility – Sensitivity:
normal
,personal
,private
, orconfidential
. -
All day event –
true
if it spans an entire day without specific times. -
Is organizer –
true
if the authenticated user is the organizer of this event. -
Response requested – Whether attendees are asked to respond (
true/false
). -
Busy/Free – How this event blocks time:
free
,tentative
,busy
,oof
,workingElsewhere
,unknown
. -
Event type – Instance type:
singleInstance
,occurrence
,exception
, orseriesMaster
. -
Start – Start timing information:
- Date time – Start date/time (ISO 8601, e.g.,
2025-09-15T09:00:00
). - Date – Populated for all-day events (format
YYYY-MM-DD
). - Time zone – Time zone identifier (e.g.,
Pacific Standard Time
).
- Date time – Start date/time (ISO 8601, e.g.,
-
End – End timing information:
- Date time – End date/time (ISO 8601).
- Date – For all-day events.
- Time zone – Time zone identifier.
-
Attendees – A list describing each attendee:
- Type –
required
,optional
, orresource
. - Status – The attendee’s response status (e.g.,
accepted
,declined
,tentativelyAccepted
,notResponded
). - Response time – When they responded, if available (ISO 8601).
- Display name – Their name if available.
- Email address – Their email address.
- Type –
-
Organizer – The event organizer (often the creator):
- Display name – Organizer name.
- Email – Organizer email address.
-
Repeat – Recurrence details (present for repeating events):
-
Pattern – How the event repeats:
- Type –
daily
,weekly
,absoluteMonthly
,relativeMonthly
,absoluteYearly
,relativeYearly
. - Interval – Frequency interval (e.g., every
2
weeks). - Month – For yearly patterns (1–12).
- Day of month – For monthly/yearly (1–31).
- Days of week – For weekly/relative patterns (e.g.,
monday, wednesday
). - First day of week – Start-of-week reference (e.g.,
sunday
). - Week index – For relative monthly/yearly (e.g.,
first
,second
,last
).
- Type –
-
Range – Where/when the pattern applies:
- Range type –
endDate
,noEnd
, ornumbered
. - Start date – Date the recurrence begins (
YYYY-MM-DD
). - End date – If
endDate
is used. - Number of occurrences – If
numbered
is used. - Time zone – Time zone for the recurrence calculations.
- Range type –
-
-
Status (my response) – Your (the current user’s) response to the invitation:
- Type –
none
,organizer
,tentativelyAccepted
,accepted
,declined
,notResponded
. - Date time – When you responded, if applicable.
- Type –
-
Body content – Full body of the event:
- Content type –
text
orhtml
. - Content – The actual message body (may include rich HTML).
- Content type –
-
Primary location – The main location selected for the event:
- Display name – Location label (e.g.,
Room 3B – Sydney
). - Location type –
default
,conferenceRoom
,homeAddress
,businessAddress
,geoCoordinates
,streetAddress
,hotel
,restaurant
,localBusiness
,postalAddress
. - Unique id – Location identifier (if the location is directory-backed or reserved room).
- Unique id type –
unknown
,locationStore
,directory
, orprivate
.
- Display name – Location label (e.g.,
-
Additional location – List of all other locations tied to the event:
- Display name – Label for each location.
- Location type – As above.
- Unique id – Identifier for each location, if available.
- Unique id type – As above.
-
- Next page token A cursor you can pass back into Next page token input to retrieve the following batch of events. If this value is absent/empty, you’ve reached the end of the result set.
- Count The number of events returned in this response (useful for pagination logic and for validating filters). If you’re paging, this may be less than the total available events; use Next page token to continue.
Example: Tracking Upcoming Team Meetings
Imagine a project manager, Sarah, who needs to stay on top of all team meetings scheduled in her “Project Alpha” calendar. She wants to:
- Pull a list of all events scheduled this week.
- Expand recurring events so she can see each individual occurrence.
- Filter meetings that contain the keyword “Sprint Review” in the subject.
- Send a daily summary email of upcoming Sprint Reviews to her team.
Here’s how she sets up the action in her flow:
- Connection – Sarah connects her Microsoft account to give the flow permission to read her calendar.
- Calendar – She selects the Project Alpha calendar from the dropdown.
- Search Text – She enters Sprint Review to narrow results to only those meetings.
- Expand recurring events – She enables this option so that each Sprint Review in a recurring series shows up as a separate entry.
- Start Date time – She sets this to the start of the current week (e.g., Monday 00:00).
- Number of events to return – She enters
50
to safely cover all Sprint Reviews scheduled in a busy week. - Next page token – She leaves this blank for the first run since she just wants the first batch.
When the flow runs, the List Events action retrieves all matching Sprint Review events for the week, returning details like:
- Event links (so she can share them directly).
- Start/end times (so the team knows when each occurs).
- Attendees (so she can check who’s required).
- Organizer and location (so the team knows where it’s happening).
Sarah then uses these outputs in the next step of her flow — formatting them into a neat daily email summary automatically sent to her project team each morning.
Updated about 6 hours ago