Beginner~12 min setupProductivity & CommunicationVerified April 2026
Google Calendar logo
Slack logo

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

polling

Use case type

notification

Real-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.

/mo
505005K50K

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

Skip the setup

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.

Admin access to your company's Google Calendar with room booking calendars
Slack workspace admin permissions to add the Make app and post to channels
Make account with at least the Core plan ($10/month) for polling frequency needed
Room or resource calendars already set up in Google Workspace

Field Mapping

Map these fields between your apps.

FieldAPI Name
Required
Event Summarysummary
Start Timestart.dateTime
End Timeend.dateTime
Event Organizercreator.email
Locationlocation
1 optional field▸ show
Attendee Countattendees

Step-by-Step Setup

1

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.

  1. 1Click 'Create a new scenario' from your Make dashboard
  2. 2Select 'Start from scratch' instead of using a template
  3. 3Name your scenario 'Room Booking Conflict Detector'
What you should see: You should see an empty scenario canvas with a single gray circle labeled 'Add the first module'.
2

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.

  1. 1Click the gray circle to add your first module
  2. 2Search for 'Google Calendar' in the app list
  3. 3Select 'Watch Events' as your trigger type
  4. 4Connect your Google account when prompted
What you should see: A blue Google Calendar module appears with a 'Connected' status and dropdown menus for calendar selection.
Common mistake — Don't use 'Search Events' - that's for one-time lookups, not ongoing monitoring.
Make
+
click +
search apps
Google Calendar
GO
Google Calendar
Add Google Calendar Trigger
Google Calendar
GO
module added
3

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.

  1. 1Select your room calendar from the 'Calendar ID' dropdown
  2. 2Set 'Limit' to 50 to catch multiple simultaneous bookings
  3. 3Choose 'Updated Time' for the 'Order By' field
  4. 4Set polling to every 15 minutes
What you should see: The module shows your selected calendar name and a green checkmark indicating successful connection.
Common mistake — If you don't see your room calendar, check that your Google account has edit access to it.
4

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.

  1. 1Click the + button after your Google Calendar module
  2. 2Search for 'Tools' in the module list
  3. 3Select 'Iterator' from the Flow Control section
  4. 4Map the 'Array' field to the calendar events bundle
What you should see: An orange Iterator module connects to your calendar trigger, showing 'Array: Bundle[]' in the mapping field.
5

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.

  1. 1Add another Google Calendar module after the Iterator
  2. 2Choose 'Search Events' as the action
  3. 3Use the same calendar as your trigger module
  4. 4Set 'Single Event' to No to return multiple results
What you should see: A second blue Google Calendar module appears, ready to search for conflicting events.
Common mistake — Make sure to use the same calendar - cross-calendar conflicts won't be detected.
6

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.

  1. 1Map 'Time Min' to the current event's start time from Iterator
  2. 2Map 'Time Max' to the current event's end time from Iterator
  3. 3Set 'Max Results' to 20 to catch multiple conflicts
  4. 4Add 'Single Events' set to true
What you should see: The search module shows mapped time fields and should display sample overlapping events when tested.
Common mistake — Don't forget to exclude all-day events if your rooms don't book full days - add a filter for that.
7

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.

  1. 1Click the wrench icon between Search Events and the next module
  2. 2Set condition to 'Total number of bundles'
  3. 3Choose 'Greater than' as the operator
  4. 4Set the value to 1
What you should see: A filter icon appears showing your conflict detection logic, with a green path for conflicts found.
Common mistake — Setting this to 0 instead of 1 will trigger false positives on single bookings.
Google Calendar
GO
trigger
filter
Condition
matches criteria?
yes — passes through
no — skipped
Slack
SL
notified
8

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.

  1. 1Add an 'Array Aggregator' module after the filter
  2. 2Set 'Source Module' to the Google Calendar Search
  3. 3Map the 'Value' field to event summary and time
  4. 4Choose 'Text' as the aggregation type
What you should see: An orange Array Aggregator module appears, showing it will collect multiple events into one bundle.
9

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.

  1. 1Add a Slack module after the Array Aggregator
  2. 2Choose 'Send a Message' as the action
  3. 3Connect your Slack workspace when prompted
  4. 4Select your #office channel from the dropdown
What you should see: A green Slack module connects to your workflow, showing your selected channel name.
Common mistake — Make sure the Make app has permission to post in your target channel.
10

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.

  1. 1In the 'Text' field, write: '🚨 Room booking conflict detected!'
  2. 2Add event details using mapped fields from the aggregator
  3. 3Include start time, end time, and event titles
  4. 4Add 'Please resolve ASAP' at the end
What you should see: The message preview shows a formatted conflict alert with actual event data from your test.
Common mistake — Don't use @channel or @here tags - they'll notify everyone for every conflict.
Message template
📬 New entry: {{1.name}}
Email: {{1.email}}
Details: {{1.description}}
11

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.

  1. 1Click the scenario settings gear icon
  2. 2Enable 'Sequential processing' to avoid rate limits
  3. 3Set 'Max number of cycles' to 1 per execution
  4. 4Turn on 'Store incomplete executions' for debugging
What you should see: Scenario settings show error handling enabled with sequential processing active.
Common mistake — Without sequential processing, multiple conflicts might trigger rate limits on Slack's API.
12

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.

  1. 1Click 'Run once' to test the entire workflow
  2. 2Create a test conflict by booking the same room twice
  3. 3Verify the Slack message appears in your #office channel
  4. 4Click the 'ON' toggle to activate the scenario
What you should see: Your scenario shows 'ON' status and successful execution history with real conflict data processed.
Common mistake — Test with real conflicts, not just sample data - Make's test data won't show actual overlap logic.

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")}})
Make
▶ Run once
executed
Google Calendar
Slack
Slack
🔔 notification
received

Scaling Beyond 100+ room bookings per day+ Records

If your volume exceeds 100+ room bookings per day records, apply these adjustments.

1

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.

2

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.

3

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

VerdictWhy Make for this workflow

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.

Cost

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.

Tradeoffs

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 reassignmentConnect to your room booking system API to automatically move smaller meetings to available spaces when conflicts are detected.
  • Create conflict resolution trackingSet 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 conflictsAdd a 30-minute delay module that checks if conflicts still exist and escalates to management if the original alert was ignored.

Related guides

Was this guide helpful?
Google Calendar + Slack overviewMake profile →