

How to Send Meeting Notes Reminders with Pipedream
Automatically DM meeting organizers 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
Teams that want instant webhook-based reminders with custom code logic for filtering meeting types
Not ideal for
Simple workflows where Zapier's delay action is sufficient and you don't need custom filtering
Sync type
real-timeUse case type
notificationReal-World Example
A 25-person product team uses this to DM meeting organizers in Slack after every standup, planning, or review meeting ends. Before automation, 40% of meetings had no follow-up notes shared. Now organizers get reminded within 15 minutes and note-sharing jumped to 85%.
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 Pipedream
Copy the pre-built Pipedream blueprint and paste it straight into Pipedream. 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 Title | ||
| Organizer Email | ||
| Meeting End Time | ||
| Meeting Status | ||
| Event Type | ||
1 optional fieldβΈ show
| Attendee Count |
Step-by-Step Setup
Workflows > New Workflow
Create New Workflow
Go to pipedream.com and click Workflows in the left sidebar. Click the green 'New Workflow' button in the top right. You'll see a blank canvas with a trigger step placeholder.
- 1Click 'Workflows' in the left sidebar
- 2Click the green 'New Workflow' button
- 3Click the trigger step placeholder
Trigger > Google Calendar > Event Updated
Configure Google Calendar Webhook
Select Google Calendar as your trigger app. Choose 'Event Updated' as the event type since meeting end times trigger this event. Connect your Google account when prompted and select which calendars to monitor.
- 1Search for 'Google Calendar' in the app list
- 2Select 'Event Updated' from the trigger options
- 3Click 'Connect Account' and authorize Google
- 4Select specific calendars or choose 'All calendars'
Trigger > Test
Test Calendar Connection
Click 'Test' to pull in a recent calendar event. Pipedream will show you the actual data structure from your calendar. Look for fields like 'status', 'start.dateTime', 'end.dateTime', and 'organizer.email'.
- 1Click the blue 'Test' button
- 2Wait for Pipedream to fetch sample data
- 3Review the JSON structure in the output panel
- 4Note the organizer and timing fields
Workflow > + > Code
Add Meeting End Filter
Click the plus icon below your trigger to add a code step. This will filter for meetings that just ended and aren't all-day events. You'll write Node.js code to compare the current time with the meeting end time.
- 1Click the + icon below the trigger step
- 2Select 'Code (Node.js)' from the options
- 3Name the step 'Filter Meeting End'
- 4Paste the filtering logic in the code editor
Workflow > + > Code
Add 15-Minute Delay
Add another code step to implement the 15-minute delay. Unlike other platforms, Pipedream handles delays with setTimeout or by scheduling a future execution. Calculate when to send the reminder based on the meeting end time.
- 1Click the + icon to add another step
- 2Select 'Code (Node.js)' again
- 3Name it 'Calculate Delay'
- 4Add logic to wait 15 minutes after meeting ends
Workflow > + > Slack > Send Direct Message
Connect Slack Account
Add a Slack step to send the direct message. Click the plus icon and search for Slack. Choose 'Send Direct Message' action. Connect your Slack workspace and configure the Connected Account permissions.
- 1Click + to add a new step
- 2Search for 'Slack' in the apps
- 3Select 'Send Direct Message'
- 4Click 'Connect Account' and authorize Slack
Slack Step > User Field
Configure DM Recipient
Set the recipient to the meeting organizer's email from the Google Calendar event. Map the 'User' field to the organizer email from your trigger data. Slack will automatically find the user by email address.
- 1Click the 'User' dropdown field
- 2Select 'Custom expression'
- 3Enter the organizer email path from trigger
- 4Click outside to save the mapping
Slack Step > Message Field
Write Reminder Message
Compose the DM text in the Message field. Include the meeting title and a friendly reminder about sharing notes. Use the calendar event data to personalize the message with meeting details.
- 1Click in the Message text box
- 2Type your reminder template
- 3Insert meeting title from trigger data
- 4Add meeting time and participant count if needed
Workflow Header > Test
Test Complete Workflow
Click 'Test' on the workflow header to run the entire sequence. Pipedream will execute each step and show you the results. Check that the filter logic works and the Slack message sends correctly.
- 1Click the 'Test' button at the top
- 2Watch each step execute in sequence
- 3Check for any red error indicators
- 4Verify the DM arrived in Slack
Workflow Header > Deploy
Deploy Workflow
Click 'Deploy' to activate the webhook listener. Pipedream will generate a unique webhook URL and register it with Google Calendar. Your workflow will now run automatically when meetings end.
- 1Click the blue 'Deploy' button
- 2Wait for deployment to complete
- 3Verify the webhook status shows 'Active'
- 4Note the webhook URL in the trigger settings
Add this code to the Filter Meeting End step to handle different meeting types and avoid spamming organizers with reminders for brief or informal meetings. Paste this in the Node.js code editor.
JavaScript β Code Stepexport default defineComponent({βΈ Show code
export default defineComponent({
async run({ steps, $ }) {
const event = steps.trigger.event;... expand to see full code
export default defineComponent({
async run({ steps, $ }) {
const event = steps.trigger.event;
const now = new Date();
const endTime = new Date(event.end.dateTime);
const duration = (endTime - new Date(event.start.dateTime)) / (1000 * 60); // minutes
// Skip all-day events or short meetings under 15 minutes
if (!event.end.dateTime || duration < 15) {
$.end('Meeting too short or all-day event');
}
// Skip if meeting hasn't ended yet (buffer for timezone issues)
if (now < endTime) {
$.end('Meeting has not ended yet');
}
// Skip cancelled or tentative meetings
if (event.status !== 'confirmed') {
$.end('Meeting cancelled or tentative');
}
// Skip if no external attendees (solo calendar blocks)
const attendeeCount = event.attendees ? event.attendees.length : 0;
if (attendeeCount < 2) {
$.end('Solo meeting, no notes needed');
}
// Calculate reminder time (15 minutes after meeting end)
const reminderTime = new Date(endTime.getTime() + 15 * 60 * 1000);
const delayMs = reminderTime - now;
return {
shouldSendReminder: true,
meetingTitle: event.summary,
organizerEmail: event.organizer.email,
delayUntilReminder: Math.max(delayMs, 0),
attendeeCount: attendeeCount
};
}
});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 Pipedream for this if you need instant webhook processing and custom filtering logic that goes beyond basic calendar triggers. The platform excels at handling Google Calendar's complex webhook payloads and gives you full Node.js control over meeting type filtering, timezone handling, and delay calculations. You can easily exclude all-day events, short meetings, or cancelled sessions with custom code. For simple reminder workflows without complex logic, Zapier's built-in delay action might be easier to configure.
This workflow costs about 1 credit per meeting reminder on Pipedream's free tier (20,000 credits/month). At 50 meetings per week, you're looking at 200 credits monthly β well within free limits. That's significantly cheaper than Zapier's $19.99/month starter plan once you exceed 100 reminders. Make charges $9/month for 1,000 operations but their calendar triggers are less reliable than webhooks.
Make's Google Calendar integration requires polling every 15 minutes instead of instant webhooks, so reminders could be delayed by up to 30 minutes total. Zapier handles calendar webhooks well but their code steps are limited compared to full Node.js access. n8n gives you similar webhook speed and coding flexibility but requires self-hosting for reliable uptime. Power Automate's calendar connector works great for Office 365 but struggles with complex Google Calendar webhook parsing. Pipedream wins here because Google Calendar webhooks fire instantly and you get full programming control over the filtering logic.
You'll hit webhook delivery issues where Google Calendar stops sending events after API quota limits or connection timeouts. The Event Updated webhook fires for any calendar change, not just meeting ends, so expect to filter out 70% of incoming events. Slack's user lookup by email fails silently if addresses don't match exactly between Google and Slack profiles β build a fallback lookup table using display names or employee IDs.
Ideas for what to build next
- βAdd Snooze Functionality β Let organizers reply with 'snooze' to get reminded again in 30 minutes if they're not ready to share notes yet.
- βCreate Meeting Notes Template β Send a pre-formatted notes template in the DM with agenda items pulled from the calendar event description.
- βTrack Completion Rates β Monitor which organizers consistently share notes and send weekly reports to team leads about meeting follow-up rates.
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