

How to Detect Google Calendar Room Booking Conflicts in Slack with Make
Automatically monitors Google Calendar events for room double-bookings and sends immediate Slack alerts to resolve conflicts.
Steps and UI details are based on platform versions at time of writing — check each platform for the latest interface.
Best for
Teams with 5+ shared rooms or resources that need immediate conflict alerts
Not ideal for
Small offices with infrequent booking conflicts or teams that can resolve overlaps manually
Sync type
pollingUse case type
notificationReal-World Example
A 40-person marketing agency uses this to monitor their 6 conference rooms and 3 phone booths. Before automation, double-bookings weren't discovered until people showed up to locked rooms, disrupting client calls. Now conflicts get flagged in #office within 15 minutes, and the office manager can reassign rooms before meetings start.
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 | ||
| Event Summary | summary | |
| Start Time | start.dateTime | |
| End Time | end.dateTime | |
| Event Organizer | creator.email | |
| Location | location | |
1 optional field▸ show
| Attendee Count | attendees |
Step-by-Step Setup
Dashboard > Create new scenario
Create New Scenario
Start a fresh scenario in Make to build your room conflict detection workflow. The scenario will run every 15 minutes to check for overlapping events.
- 1Click 'Create a new scenario' from your Make dashboard
- 2Select 'Start from scratch' instead of using a template
- 3Name your scenario 'Room Booking Conflict Detector'
Scenario > + > Google Calendar > Watch Events
Add Google Calendar Trigger
Connect Google Calendar as your trigger to watch for new or updated events. Use the 'Watch Events' trigger to catch any calendar changes in real-time.
- 1Click the gray circle to add your first module
- 2Search for 'Google Calendar' in the app list
- 3Select 'Watch Events' as your trigger type
- 4Connect your Google account when prompted
Google Calendar module > Settings
Configure Calendar Selection
Choose which calendar contains your room bookings and set the polling frequency. Most companies have a dedicated room or resource calendar separate from personal calendars.
- 1Select your room calendar from the 'Calendar ID' dropdown
- 2Set 'Limit' to 50 to catch multiple simultaneous bookings
- 3Choose 'Updated Time' for the 'Order By' field
- 4Set polling to every 15 minutes
Scenario > + > Tools > Iterator
Add Iterator Module
Add an iterator to process multiple calendar events individually. This lets Make check each event against all others for time conflicts.
- 1Click the + button after your Google Calendar module
- 2Search for 'Tools' in the module list
- 3Select 'Iterator' from the Flow Control section
- 4Map the 'Array' field to the calendar events bundle
Scenario > + > Google Calendar > Search Events
Add Second Google Calendar Module
Create a second calendar connection to search for overlapping events. This module will find other events that conflict with each event from the iterator.
- 1Add another Google Calendar module after the Iterator
- 2Choose 'Search Events' as the action
- 3Use the same calendar as your trigger module
- 4Set 'Single Event' to No to return multiple results
Google Calendar Search module > Settings
Configure Conflict Detection
Set up the search parameters to find events that overlap in time with the current event. Use start and end time filters to catch any scheduling conflicts.
- 1Map 'Time Min' to the current event's start time from Iterator
- 2Map 'Time Max' to the current event's end time from Iterator
- 3Set 'Max Results' to 20 to catch multiple conflicts
- 4Add 'Single Events' set to true
Module connection > Filter
Add Conflict Filter
Create a filter to only proceed when actual conflicts exist. The filter checks if the search returned more than one event for the same time slot.
- 1Click the wrench icon between Search Events and the next module
- 2Set condition to 'Total number of bundles'
- 3Choose 'Greater than' as the operator
- 4Set the value to 1
Scenario > + > Tools > Array Aggregator
Add Data Aggregator
Use an aggregator to collect all conflicting events into a single message. This prevents sending multiple Slack notifications for the same conflict.
- 1Add an 'Array Aggregator' module after the filter
- 2Set 'Source Module' to the Google Calendar Search
- 3Map the 'Value' field to event summary and time
- 4Choose 'Text' as the aggregation type
Scenario > + > Slack > Send a Message
Connect Slack Module
Add Slack to send conflict notifications to your office channel. Use 'Send a Message' to post details about the booking conflict.
- 1Add a Slack module after the Array Aggregator
- 2Choose 'Send a Message' as the action
- 3Connect your Slack workspace when prompted
- 4Select your #office channel from the dropdown
Slack module > Text field
Format Conflict Message
Create a clear message template that shows which room is double-booked and when. Include event names and organizers so conflicts can be resolved quickly.
- 1In the 'Text' field, write: '🚨 Room booking conflict detected!'
- 2Add event details using mapped fields from the aggregator
- 3Include start time, end time, and event titles
- 4Add 'Please resolve ASAP' at the end
📬 New entry: {{1.name}}
Email: {{1.email}}
Details: {{1.description}}Scenario settings > Advanced settings
Add Error Handling
Configure error handling to prevent the scenario from breaking when API limits are hit or connections fail. Set up retry logic for temporary failures.
- 1Click the scenario settings gear icon
- 2Enable 'Sequential processing' to avoid rate limits
- 3Set 'Max number of cycles' to 1 per execution
- 4Turn on 'Store incomplete executions' for debugging
Scenario > Run once > Toggle ON
Test and Activate
Run a complete test with real calendar data to verify conflict detection works correctly. Check that the Slack message format is clear and actionable.
- 1Click 'Run once' to test the entire workflow
- 2Create a test conflict by booking the same room twice
- 3Verify the Slack message appears in your #office channel
- 4Click the 'ON' toggle to activate the scenario
Drop this into a Make custom function.
JavaScript — Custom Function{{if(contains(1.location, "Conference"); "🏢 "; if(contains(1.location, "Phone"); "📞 "; "📅 "))}}{{1.location}} conflict: {{1.summary}} ({{formatDate(1.start.dateTime; "h:mm A")}}-{{formatDate(1.end.dateTime; "h:mm A")}})▸ Show code
{{if(contains(1.location, "Conference"); "🏢 "; if(contains(1.location, "Phone"); "📞 "; "📅 "))}}{{1.location}} conflict: {{1.summary}} ({{formatDate(1.start.dateTime; "h:mm A")}}-{{formatDate(1.end.dateTime; "h:mm A")}})... expand to see full code
{{if(contains(1.location, "Conference"); "🏢 "; if(contains(1.location, "Phone"); "📞 "; "📅 "))}}{{1.location}} conflict: {{1.summary}} ({{formatDate(1.start.dateTime; "h:mm A")}}-{{formatDate(1.end.dateTime; "h:mm A")}})Scaling Beyond 100+ room bookings per day+ Records
If your volume exceeds 100+ room bookings per day records, apply these adjustments.
Switch to webhook triggers
Google Calendar webhooks fire instantly on changes instead of polling every 15 minutes. Set up push notifications to reduce operation usage and get faster conflict detection.
Add calendar-specific routers
Split processing by room type using Make's router module. Route VIP conference rooms to immediate Slack alerts, while smaller rooms can batch conflicts into hourly summaries.
Implement conflict priority scoring
Add a formula module to rank conflicts by attendee count and meeting importance. Only alert #office for high-priority conflicts, and send low-priority ones to a separate #room-conflicts channel.
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 books shared spaces frequently and conflicts cause real disruption. Make's visual builder lets you customize conflict detection logic - like excluding lunch meetings or flagging VIP event overlaps. The iterator handles multiple simultaneous conflicts better than Zapier's single-record processing. Skip Make if you only have 2-3 rooms and conflicts happen monthly - a shared Google Sheet might be simpler.
This workflow uses about 4 operations per conflict detected. If you get 20 room conflicts monthly, that's 80 operations total. The Core plan at $10/month includes 10,000 operations, so you're well covered. Zapier would need the Professional plan ($50/month) for the same polling frequency. N8N cloud costs $20/month but requires more technical setup. Make wins on both price and ease of configuration.
Zapier's Google Calendar integration has better built-in conflict detection - their 'Event Overlap' trigger does this logic automatically without needing iterators. N8N handles large calendar datasets faster with bulk processing and doesn't count each event check as a separate operation. But Make's visual router system makes it easier to add complex logic like priority-based conflict resolution or location-specific alerts without writing code.
Google Calendar's API sometimes returns events in different time zones even from the same calendar, causing false conflicts. The search endpoint paginates at 250 results - if your rooms book heavily, you'll miss conflicts beyond that limit. Slack rate limits kick in at 1 message per second, so simultaneous conflicts might delay notifications by several minutes. Add a 2-second delay between Slack posts if you process multiple conflicts per run.
Ideas for what to build next
- →Add automatic room reassignment — Connect to your room booking system API to automatically move smaller meetings to available spaces when conflicts are detected.
- →Create conflict resolution tracking — Set up a Google Sheets log to track how conflicts are resolved and identify patterns in booking behavior that cause repeated issues.
- →Build escalation for unresolved conflicts — Add a 30-minute delay module that checks if conflicts still exist and escalates to management if the original alert was ignored.
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