

How to Send Meeting Notes Reminders with Power Automate
Automatically DMs the meeting organizer in Slack 15 minutes after their Google Calendar meeting ends to remind them to share notes.
Steps and UI details are based on platform versions at time of writing — check each platform for the latest interface.
Best for
Microsoft 365 teams who already use Power Automate and want meeting accountability without switching platforms
Not ideal for
Teams needing real-time triggers or complex meeting analysis beyond basic organizer reminders
Sync type
scheduledUse case type
notificationReal-World Example
A 25-person marketing agency runs this every 5 minutes to catch meetings that ended 15 minutes ago. Before automation, meeting notes sat in people's heads for days and project details got lost. Now organizers get pinged immediately after calls wrap up, and 80% share notes within an hour.
What Will This Cost?
Drag the slider to your expected monthly volume.
Each platform counts differently — Zapier: 1 task per trigger. Make: 1 operation per module per record. n8n: 1 execution per run.





Prices shown for annual billing. Based on published pricing as of April 2026.
Estimated ROI
1000
min saved/mo
$583
labor value/mo
Free
no platform cost
Based on ~2 min manual effort per operation at $35/hr fully loaded labor cost.
Implementation
Import this workflow directly into Power Automate
Copy the pre-built Power Automate blueprint and paste it straight into Power Automate. All modules, filters, and field mappings are already configured — you just need to connect your accounts.
Before You Start
Make sure you have everything ready.
Field Mapping
Map these fields between your apps.
| Field | API Name | |
|---|---|---|
| Required | ||
| Meeting Subject | ||
| Organizer Email | ||
| End Time | ||
| Display Name | ||
| Slack User ID | ||
1 optional field▸ show
| Meeting Location |
Step-by-Step Setup
My flows > + New flow > Scheduled cloud flow
Create scheduled cloud flow
Go to make.powerautomate.com and click My flows in the left sidebar. Click + New flow, then Scheduled cloud flow. Name it 'Meeting Notes Reminder' and set it to run every 5 minutes. This frequency ensures you catch meetings within 20 minutes of ending.
- 1Click My flows in the left sidebar
- 2Click + New flow button
- 3Select Scheduled cloud flow
- 4Name: 'Meeting Notes Reminder'
- 5Set repeat every 5 minutes
Flow designer > + New step > Google Calendar > Get events (V3)
Add Google Calendar connector
Click + New step and search for 'Google Calendar'. Select 'Get events (V3)' action. This gives you more control over time filtering than the basic Get events action. You'll need to authenticate with a Google account that has access to the calendars you want to monitor.
- 1Click + New step
- 2Type 'Google Calendar' in the search box
- 3Select 'Get events (V3)' action
- 4Sign in to your Google account
- 5Allow Power Automate permissions
Google Calendar action > Parameters
Configure calendar time filter
Set Calendar Id to your primary calendar or specific team calendar. For Time Min, use this expression: addMinutes(utcNow(), -20). For Time Max, use: addMinutes(utcNow(), -15). This looks for events that ended between 15-20 minutes ago, giving you a 5-minute window each run.
- 1Select your calendar from Calendar Id dropdown
- 2Click Time Min field and switch to Expression tab
- 3Enter: addMinutes(utcNow(), -20)
- 4Click Time Max field and enter: addMinutes(utcNow(), -15)
- 5Set Max Results to 50
Flow designer > + New step > Control > Condition
Add condition to check for organizer
Click + New step and add a Condition control. This filters out meetings where the authenticated user isn't the organizer. Set the condition to check if the Organizer Email from Google Calendar equals your email address. This prevents sending reminders for meetings you didn't organize.
- 1Click + New step
- 2Search for 'Condition' and select it
- 3Click first value box
- 4Select 'Organizer Email' from dynamic content
- 5Set operator to 'is equal to'
- 6Enter your email in the second value box
Condition > Yes branch > Apply to each
Add apply to each loop
In the Yes branch of the condition, add an Apply to each control. Select 'value' from the Google Calendar dynamic content. This handles multiple meetings that might have ended in your 5-minute window. Each meeting will get its own reminder.
- 1Click Add an action in the Yes branch
- 2Search for 'Apply to each'
- 3Select Apply to each control
- 4Click the select output box
- 5Choose 'value' from Google Calendar dynamic content
Apply to each > Add an action > Microsoft Graph > Get user profile (V1)
Get meeting organizer details
Inside the Apply to each loop, add a Microsoft Graph action called 'Get user profile (V1)'. Set the User ID or Principal Name to the Organizer Email from the current item. This gets the organizer's display name and other details needed for the Slack message.
- 1Click Add an action inside the Apply to each
- 2Search for 'Microsoft Graph'
- 3Select 'Get user profile (V1)'
- 4Set User ID to 'Organizer Email' from dynamic content
- 5Leave other fields at defaults
Apply to each > Add an action > Slack > Get user info
Add Slack user lookup
Add a Slack action called 'Get user info'. Set the User field to the Display Name from the Graph action. This finds the Slack user ID needed for direct messaging. Slack needs the internal user ID, not the display name, for DMs.
- 1Click Add an action after the Graph step
- 2Search for 'Slack' and authenticate if needed
- 3Select 'Get user info' action
- 4Set User field to 'Display Name' from Graph
- 5Leave other parameters empty
Apply to each > Add an action > Slack > Post message
Send direct message reminder
Add the 'Post message' Slack action. Set Channel to the User ID from the previous step. Create a message mentioning the meeting subject and asking for notes. Include the meeting subject and end time in your message for context.
- 1Add Slack 'Post message' action
- 2Set Channel to 'User ID' from Get user info
- 3Set Message to include meeting Subject from Google Calendar
- 4Add text like 'Please share notes from your meeting:'
- 5Include End Time for reference
start.dateTime: {{start.dateTime}}
end.dateTime: {{end.dateTime}}
Condition > Yes branch > Parallel branch > Compose
Add error handling
Go back to the main flow and add a parallel branch to the Yes condition. Add a 'Compose' action to log failed meetings. This catches cases where the Graph lookup or Slack user lookup fails, so you know which meetings didn't get reminders.
- 1Click the + icon next to Apply to each
- 2Select 'Add a parallel branch'
- 3Add a Compose action
- 4Set inputs to meeting Subject and Organizer Email
- 5Name it 'Failed Meeting Log'
Flow designer > Test > I'll perform the trigger action
Test and activate flow
Click Save, then Test in the top menu. Choose 'I'll perform the trigger action' and run the test. Check that it finds recent meetings and sends test messages. Once verified, turn on the flow and it will run every 5 minutes automatically.
- 1Click Save in the top right
- 2Click Test button
- 3Select 'I'll perform the trigger action'
- 4Click Test & Continue
- 5Wait for test results
- 6Turn flow On if successful
Add this expression in the Slack message text field to make reminders more personal and include the exact time delay for accountability.
Copy this templateconcat(▸ Show code
concat(
'Hi ',
outputs('Get_user_profile_(V1)')?['body/displayName'], ... expand to see full code
concat(
'Hi ',
outputs('Get_user_profile_(V1)')?['body/displayName'],
'! Your meeting "',
items('Apply_to_each')?['summary'],
'" ended ',
div(sub(ticks(utcNow()), ticks(items('Apply_to_each')?['end/dateTime'])), 600000000),
' minutes ago. Please share the notes when you get a chance! 📝'
)Going live
Production Checklist
Before you turn this on for real, confirm each item.
Troubleshooting
Common errors and how to fix them.
Frequently Asked Questions
Common questions about this workflow.
Analysis
Use Microsoft Power Automate for this if your team already lives in the Microsoft ecosystem and you want meeting accountability without adding another tool. The Google Calendar connector handles complex time filtering well, and the Microsoft Graph integration makes user lookups reliable within your tenant. Skip Power Automate if you need real-time triggers - Make handles webhook-based notifications much better.
Real math: Each flow run processes maybe 5 meetings and uses about 8 actions per meeting (Calendar + Graph + Slack + controls). At 288 runs per day (every 5 minutes), you'll burn through 1,440 actions daily even with zero meetings. Add 10 meetings per day and you're at 2,240 actions daily. That's 67,000 actions monthly, well within the 40,000 action Premium plan at $15/month. Zapier would cost $50/month for the same volume.
Make handles this workflow better with real webhook triggers instead of polling every 5 minutes, and n8n gives you more flexibility with custom time calculations and user matching logic. Zapier's Google Calendar integration is more limited for time-based filtering. Pipedream excels at complex user lookup logic across different systems. But Power Automate wins if you're already paying for Microsoft 365 and want something that works reliably with your existing user directory.
You'll hit three main issues after setup: duplicate reminders when meetings appear in multiple flow runs (add meeting ID tracking), failed user lookups when display names don't match between systems (switch to email-based matching), and timeout errors on busy days with 20+ meetings in the time window (reduce the batch size or run more frequently). The Google Calendar API also has quirky behavior with all-day events and timezone handling that can throw off your time filters.
Ideas for what to build next
- →Add meeting notes template — Send a structured template with the reminder so organizers know what information to include in their notes.
- →Create digest version — Build a weekly summary flow that lists all meetings from the past week that never got follow-up notes shared.
- →Connect to OneNote — Automatically create a OneNote page for each meeting and include the link in your Slack reminder message.
Related guides
How to Share Notion Meeting Notes to Slack with Pipedream
~15 min setup
How to Share Notion Meeting Notes to Slack with Power Automate
~15 min setup
How to Share Notion Meeting Notes to Slack with n8n
~20 min setup
How to Send Notion Meeting Notes to Slack with Zapier
~8 min setup
How to Share Notion Meeting Notes to Slack with Make
~12 min setup
How to Create Notion Tasks from Slack with Pipedream
~15 min setup