

How to Alert Slack When Google Calendar Room Bookings Conflict with Zapier
Automatically post a Slack message to your office channel whenever overlapping events are scheduled in a shared Google Calendar room.
Steps and UI details are based on platform versions at time of writing — check each platform for the latest interface.
Best for
Teams using Google Workspace who need simple conflict detection without custom development work.
Not ideal for
High-volume environments with complex recurrence patterns or multiple calendar systems to check against.
Sync type
real-timeUse case type
notificationReal-World Example
A 25-person marketing agency uses this to catch double-bookings in their main conference room calendar. Before automation, conflicts were discovered when people showed up for meetings and found the room occupied. The office manager spent 20 minutes daily checking for overlaps manually. Now conflicts get flagged in their #office Slack channel within 2 minutes of booking, and the team resolves them 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
Before You Start
Make sure you have everything ready.
Optional
Field Mapping
Map these fields between your apps.
| Field | API Name | |
|---|---|---|
| Required | ||
| Event Start Time | start.dateTime | |
| Event End Time | end.dateTime | |
| Event Title | summary | |
| Event Location | location | |
2 optional fields▸ show
| Event Creator | creator.email |
| Event Attendees | attendees |
Step-by-Step Setup
Create Zap > Trigger > Google Calendar
Connect Google Calendar to Zapier
First, you'll establish the connection between Zapier and your Google Calendar account. This requires OAuth authentication to access calendar events.
- 1Click 'Create Zap' from your Zapier dashboard
- 2Search for 'Google Calendar' in the app selector
- 3Select 'New or Updated Event' as your trigger
- 4Click 'Sign in to Google Calendar' and complete OAuth flow
Trigger Setup > Calendar Selection
Select the Room Calendar
Choose which specific calendar contains your room bookings. Zapier will monitor this calendar for any new or changed events that could create conflicts.
- 1Click the 'Calendar' dropdown in the trigger setup
- 2Find your room calendar from the list (e.g. 'Conference Room A')
- 3Leave 'Search Term' blank to monitor all events
- 4Set 'Time Before' to 1 minute for near real-time detection
Trigger Setup > Test
Test the Google Calendar Trigger
Zapier needs to pull a recent event from your room calendar to understand the data structure. This becomes your sample data for mapping fields later.
- 1Click 'Test trigger' at the bottom of the setup panel
- 2Wait for Zapier to fetch recent events (takes 10-15 seconds)
- 3Review the sample event data that appears
- 4Click 'Continue with selected record' to proceed
Action > Code by Zapier > Run Python
Add Code by Zapier Step
Since Google Calendar doesn't natively detect conflicts, you need a code step to check if the current event overlaps with existing bookings. This runs Python code to compare timestamps.
- 1Click the '+' icon to add an action step
- 2Search for 'Code by Zapier' and select it
- 3Choose 'Run Python' as the action event
- 4Skip the account connection (no auth needed for Code steps)
Drop this into a Zapier Code step.
JavaScript — Code Step# Add this to your Python code for smarter conflict detection▸ Show code
# Add this to your Python code for smarter conflict detection from datetime import datetime, timedelta # Only check conflicts in next 7 days
... expand to see full code
# Add this to your Python code for smarter conflict detection
from datetime import datetime, timedelta
# Only check conflicts in next 7 days
max_check_date = datetime.now() + timedelta(days=7)
event_start = datetime.fromisoformat(input_data['event_start'].replace('Z', '+00:00'))
if event_start > max_check_date:
return {'conflict_detected': 'false', 'reason': 'event_too_far_future'}Code Setup > Input Data
Configure Conflict Detection Logic
Set up input variables and Python code that compares the new event's time slot against existing calendar events. The code will return true if an overlap is detected.
- 1In Input Data, add 'event_start' and map it to 'Start Date Time Pretty' from step 1
- 2Add 'event_end' and map it to 'End Date Time Pretty' from step 1
- 3Add 'event_title' and map it to 'Summary' from step 1
- 4Paste conflict detection code in the Code section
Code Setup > Test & Review
Test the Conflict Detection
Run the Python code with your sample event data to verify it correctly identifies conflicts. The output determines whether Slack gets notified.
- 1Click 'Test & Review' to execute the code
- 2Check the output for 'conflict_detected' field
- 3Verify 'conflict_details' shows readable conflict information
- 4Click 'Continue' if the test completes without errors
Filter > Condition Setup
Add Filter for Conflicts Only
Add a filter so Slack only gets messaged when conflicts actually exist. Without this, every calendar event would trigger a Slack message.
- 1Click the '+' icon and select 'Filter by Zapier'
- 2Set the condition to 'Only continue if...'
- 3Choose 'Conflict Detected' from the Code step output
- 4Set the condition to 'Exactly matches' and value 'true'
Action > Slack > Send Channel Message
Connect Slack to Zapier
Establish the connection to your Slack workspace so Zapier can post messages to your office channel. This requires Slack workspace admin permissions.
- 1Click '+' to add another action step
- 2Search for 'Slack' and select it
- 3Choose 'Send Channel Message' as the action
- 4Click 'Sign in to Slack' and authorize the Zapier app
Slack Setup > Message Configuration
Configure the Slack Alert Message
Set up the channel destination and message content for conflict notifications. The message should include event details and conflict information to help resolve the issue.
- 1Select '#office' (or your preferred channel) from the Channel dropdown
- 2Set Message Text to include conflict details from the Code step
- 3Add event title, time, and conflicting event info using mapped fields
- 4Enable 'Send as Bot' for consistent message formatting
📬 New entry: {{1.name}}
Email: {{1.email}}
Details: {{1.description}}Slack Setup > Test & Review
Test the Complete Workflow
Run the entire Zap end-to-end to verify conflicts are properly detected and Slack messages are formatted correctly. This catches any mapping issues before going live.
- 1Click 'Test & Review' in the Slack step
- 2Check your Slack channel for the test message
- 3Verify the message contains correct event details and timing
- 4Click 'Turn on Zap' if the test succeeds
Scaling Beyond 50+ room bookings per day+ Records
If your volume exceeds 50+ room bookings per day records, apply these adjustments.
Optimize Calendar Queries
Limit your conflict checking to a 24-hour window instead of scanning all future events. Google Calendar API rate limits become a problem when checking hundreds of existing events per trigger.
Use Digest Mode
Switch to a scheduled Zap that runs every 15 minutes and checks for conflicts in batches. This reduces API calls and prevents hitting Zapier's execution time limits on individual triggers.
Filter by Room Location
Add location-based filtering so you only check conflicts within the same physical room. Cross-room conflict checking burns through tasks unnecessarily and slows down the workflow.
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 Zapier for this if your team doesn't code and you need a quick solution that works with your existing Google Workspace setup. The visual builder makes it easy to modify the conflict detection logic without touching servers or APIs. The built-in error handling means failed checks don't break your entire notification system. Skip Zapier if you're checking conflicts across multiple calendar systems — Make handles cross-platform calendar data better.
This workflow uses 3 tasks per conflict detected: the Calendar trigger, Code execution, and Slack message. At 20 conflicts per month (busy office), that's 60 tasks monthly. That fits Zapier's Starter plan at $20/month with tasks to spare. Make would cost $9/month for the same volume since their operations are cheaper. N8n self-hosted is free but requires server management time.
Make's Google Calendar node has better built-in conflict detection with its 'Check Event Overlap' operation — you wouldn't need custom code. N8n offers more flexible datetime manipulation functions and can handle complex recurrence patterns that trip up Zapier's Code step. But Zapier's Slack integration is more reliable with better error messages when channel permissions fail or message formatting breaks.
You'll hit Google Calendar's API rate limits at around 100 queries per minute if you're checking many existing events for conflicts. The Code step timeout of 10 seconds means complex date calculations can fail silently — keep your overlap logic simple. Google's 'busy' time data doesn't include event titles, so you'll need separate API calls to get conflict details, which burns through tasks faster than expected.
Ideas for what to build next
- →Add Automatic Conflict Resolution — Create a follow-up Zap that suggests alternative time slots by checking calendar availability and posting options in the Slack thread.
- →Track Conflict Patterns — Send conflict data to a Google Sheet to identify which rooms get double-booked most often and adjust booking policies accordingly.
- →Notify Event Creators Directly — Add a second Slack action that DMs the person who created the conflicting booking with specific details about the overlap.
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