

How to Send Meeting Reminders from Google Calendar to Slack with Make
Automatically post Slack messages 15 minutes before each Google Calendar event with meeting details, links, and attendees.
Steps and UI details are based on platform versions at time of writing — check each platform for the latest interface.
Best for
Teams who want smart meeting reminders in Slack with attendee lists and meeting links formatted properly.
Not ideal for
Simple text-only reminders or teams that don't use Google Calendar as their primary scheduling tool.
Sync type
pollingUse case type
notificationReal-World Example
A 25-person marketing agency uses this to remind #general about client calls and internal standups. Before automation, people missed 2-3 meetings per week because they relied on calendar notifications while heads-down in Slack. Now the bot posts meeting details directly in their main channel 15 minutes early, including the Zoom link and who's attending.
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 Make
Copy the pre-built Make blueprint and paste it straight into Make. 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 | summary | |
| Meeting Start Time | start.dateTime | |
4 optional fields▸ show
| Video Meeting Link | hangoutLink |
| Attendee List | attendees |
| Meeting Location | location |
| Event Description | description |
Step-by-Step Setup
Dashboard > Create scenario > Add module
Create new scenario
Start a blank scenario in Make. This will house your entire meeting reminder workflow from trigger to Slack notification.
- 1Click 'Create a new scenario' from your Make dashboard
- 2Click the white circle with + to add your first module
- 3Type 'Google Calendar' in the search box
- 4Select 'Google Calendar' from the app list
Scenario > Google Calendar > Watch Events
Set up Google Calendar trigger
Configure the Watch Events trigger to monitor your calendar. This polls Google Calendar every 15 minutes for new or updated events.
- 1Select 'Watch Events' from the Google Calendar trigger options
- 2Click 'Create a connection' and authenticate with your Google account
- 3Choose your primary calendar from the 'Calendar ID' dropdown
- 4Set 'Limit' to 50 to handle busy calendars
Scenario > Filter settings
Add time-based filter
Filter events to only trigger reminders for meetings starting within the next 15-20 minutes. This prevents spam from past or distant future events.
- 1Click the wrench icon between modules to add a filter
- 2Name the filter 'Meeting starting soon'
- 3Set condition to 'Start time' 'Is greater than' and use formula: now
- 4Add second condition 'Start time' 'Is less than' with formula: addMinutes(now; 20)
Scenario > Add module > Slack > Create Message
Add Slack connection
Set up the Slack module to send your reminder message. This connects to your workspace and prepares the message format.
- 1Click + to add a new module after the filter
- 2Search for and select 'Slack'
- 3Choose 'Create a Message' action
- 4Click 'Create a connection' and authorize Make to access your Slack workspace
Slack module > Channel settings
Configure target channel
Select which Slack channel receives the meeting reminders. Most teams use a general channel or dedicated meetings channel.
- 1Click the 'Channel' dropdown in the Slack module
- 2Select your target channel from the list (e.g., #general or #meetings)
- 3Leave 'As User' set to 'False' to send as the Make bot
- 4Set 'Parse' to 'Full' to enable link formatting
Slack module > Text field > Mapping panel
Build reminder message template
Create the message content with meeting details. This pulls data from Google Calendar and formats it for Slack.
- 1Click in the 'Text' field of the Slack module
- 2Type: '🔔 Meeting starting in 15 minutes:'
- 3Add new line and type: '*' then map 'Summary' field from Google Calendar
- 4Add another line with: 'Join: ' and map 'Hangout Link' field
- 5Add final line: 'Attendees: ' and map 'Attendees: Email' field
📬 New entry: {{1.name}}
Email: {{1.email}}
Details: {{1.description}}start.dateTime: {{start.dateTime}}
end.dateTime: {{end.dateTime}}
Slack module > Text field > Functions
Format attendee list
Clean up the attendees field to show names instead of email addresses. This makes the reminder more readable.
- 1Click the function button (fx) next to the attendees mapping
- 2Replace the attendees mapping with: join(map(1.attendees; 'displayName'); ', ')
- 3Add fallback text: if(length(1.attendees) > 0; join(map(1.attendees; 'displayName'); ', '); 'No attendees listed')
- 4Click 'OK' to save the formula
Slack module > Text field > Edit join line
Add meeting link handling
Format the meeting link properly for Slack. Handle cases where events have no video link.
- 1Edit the 'Join: ' line in your message template
- 2Replace hangout link mapping with: if(length(1.hangoutLink) > 0; 1.hangoutLink; 'No video link')
- 3Add location as backup: if(length(1.hangoutLink) > 0; 1.hangoutLink; if(length(1.location) > 0; 1.location; 'Location TBD'))
- 4Test the formula by clicking the function preview
Scenario > Module options > Error handling
Set up error handling
Configure what happens when the scenario fails. This prevents stuck executions and gives you visibility into issues.
- 1Right-click on the Slack module
- 2Select 'Add error handler'
- 3Choose 'Break' directive from the error handler options
- 4Enable 'Store incomplete executions' in scenario settings
Scenario > Run once > Execution history
Test with real data
Run a test execution using an actual calendar event. This validates your field mappings and message formatting.
- 1Click 'Run once' at the bottom of the scenario
- 2Create a test calendar event starting 16 minutes from now
- 3Wait 2-3 minutes for Make to detect the event
- 4Check the execution log for successful Slack message delivery
Scenario > Scheduling > Auto-execution
Schedule the scenario
Turn on automatic execution so your reminders run continuously. Set the frequency to check for upcoming meetings.
- 1Click the clock icon at the bottom left of the scenario
- 2Set scheduling to 'Every 5 minutes' for more responsive reminders
- 3Toggle the scenario to 'ON' using the switch in the bottom bar
- 4Click 'Save' to commit all changes
Drop this into a Make custom function.
JavaScript — Custom Function{{if(length(1.attendees) > 1; ':busts_in_silhouette: ' + join(map(1.attendees; 'displayName'); ', '); if(length(1.attendees) = 1; ':bust_in_silhouette: ' + 1.attendees[1].displayName; ':calendar: Meeting set'))}}▸ Show code
{{if(length(1.attendees) > 1; ':busts_in_silhouette: ' + join(map(1.attendees; 'displayName'); ', '); if(length(1.attendees) = 1; ':bust_in_silhouette: ' + 1.attendees[1].displayName; ':calendar: Meeting set'))}}... expand to see full code
{{if(length(1.attendees) > 1; ':busts_in_silhouette: ' + join(map(1.attendees; 'displayName'); ', '); if(length(1.attendees) = 1; ':bust_in_silhouette: ' + 1.attendees[1].displayName; ':calendar: Meeting set'))}}Scaling Beyond 50+ meetings per day+ Records
If your volume exceeds 50+ meetings per day records, apply these adjustments.
Split by calendar
Create separate scenarios for different team calendars instead of monitoring one shared calendar. This prevents hitting Google Calendar's API rate limits and makes debugging easier.
Use webhook triggers
Switch to Google Calendar's push notifications instead of polling. This requires webhook endpoint setup but eliminates polling operations and makes reminders more timely.
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 Make for this if your team already lives in Slack and has a mix of Google Meet, Zoom, and in-person meetings in Google Calendar. Make handles the conditional logic for different meeting types better than Zapier's rigid trigger-action format, and you can easily add branches for different channels or team members. The visual scenario builder makes it obvious when something breaks. Skip Make if you only need basic text reminders without attendee lists or smart link handling - Zapier's simpler for that.
This workflow uses 2 operations per execution (Google Calendar check + Slack message). At 20 meetings per day, that's 1,200 operations monthly if you poll every 5 minutes. That fits Make's free tier of 1,000 operations, but you'll need the Core plan at $9/month for busy teams. Zapier charges $20/month for the same volume since it counts each poll separately. N8N is free but requires server management.
Zapier's Google Calendar trigger is more reliable - it uses webhooks instead of polling, so reminders fire exactly 15 minutes before regardless of when you set them up. N8N has better text formatting functions built-in, so you spend less time writing conditional formulas for attendee lists and meeting links. But Make's router system lets you easily split this into multiple workflows later - send different reminder styles to different channels, or add email reminders for external attendees.
Google Calendar's API returns inconsistent data structures depending on how events were created - mobile app vs web vs meeting room booking systems all format attendees differently. You'll spend time tweaking your attendee formula after going live. The hangoutLink field only appears for Google Meet - Zoom links live in the description field and need text parsing. All-day events will spam your channel unless you filter them out, and recurring meetings sometimes trigger multiple reminders if the series gets updated.
Ideas for what to build next
- →Add post-meeting follow-up — Create a second scenario that sends a Slack message after meetings end, asking for quick feedback or next steps.
- →Route reminders by meeting type — Use Make's router to send client meeting reminders to #sales channel and internal meetings to #general based on attendee domains.
- →Create meeting attendance tracking — Log all meeting reminders to a Google Sheet with timestamps and attendee counts for team productivity analysis.
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