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

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-time

Use case type

notification

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

/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

Before You Start

Make sure you have everything ready.

Google Workspace account with access to shared room calendars
Slack workspace with permission to add apps and post to channels
Zapier account with access to Code by Zapier (available on paid plans)
Room booking calendar already set up in Google Calendar

Optional

Basic understanding of Python for customizing conflict detection logic

Field Mapping

Map these fields between your apps.

FieldAPI Name
Required
Event Start Timestart.dateTime
Event End Timeend.dateTime
Event Titlesummary
Event Locationlocation
2 optional fields▸ show
Event Creatorcreator.email
Event Attendeesattendees

Step-by-Step Setup

1

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.

  1. 1Click 'Create Zap' from your Zapier dashboard
  2. 2Search for 'Google Calendar' in the app selector
  3. 3Select 'New or Updated Event' as your trigger
  4. 4Click 'Sign in to Google Calendar' and complete OAuth flow
What you should see: You should see a green 'Connected' status with your Google account email displayed below the connection button.
Common mistake — Make sure you're connecting the Google account that owns the room calendar — not your personal calendar account.
2

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.

  1. 1Click the 'Calendar' dropdown in the trigger setup
  2. 2Find your room calendar from the list (e.g. 'Conference Room A')
  3. 3Leave 'Search Term' blank to monitor all events
  4. 4Set 'Time Before' to 1 minute for near real-time detection
What you should see: The calendar dropdown should show your selected room name, and the preview should display recent events from that calendar.
3

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.

  1. 1Click 'Test trigger' at the bottom of the setup panel
  2. 2Wait for Zapier to fetch recent events (takes 10-15 seconds)
  3. 3Review the sample event data that appears
  4. 4Click 'Continue with selected record' to proceed
What you should see: You should see event details like start time, end time, summary, and attendees displayed in expandable sections.
Common mistake — If no events appear, create a test booking in the room calendar first — Zapier needs at least one recent event to continue.
Zapier
▶ Turn on & test
executed
Google Calendar
Slack
Slack
🔔 notification
received
4

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.

  1. 1Click the '+' icon to add an action step
  2. 2Search for 'Code by Zapier' and select it
  3. 3Choose 'Run Python' as the action event
  4. 4Skip the account connection (no auth needed for Code steps)
What you should see: You should see a Python code editor with input fields above it for defining variables.

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'}
5

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.

  1. 1In Input Data, add 'event_start' and map it to 'Start Date Time Pretty' from step 1
  2. 2Add 'event_end' and map it to 'End Date Time Pretty' from step 1
  3. 3Add 'event_title' and map it to 'Summary' from step 1
  4. 4Paste conflict detection code in the Code section
What you should see: The Input Data section should show 3 mapped variables, and the code editor should contain your Python logic for detecting overlaps.
Common mistake — Google Calendar timestamps come in ISO format — make sure your Python code handles timezone conversion properly.
6

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.

  1. 1Click 'Test & Review' to execute the code
  2. 2Check the output for 'conflict_detected' field
  3. 3Verify 'conflict_details' shows readable conflict information
  4. 4Click 'Continue' if the test completes without errors
What you should see: Output should show 'conflict_detected': true/false and 'conflict_details' with human-readable conflict information.
7

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.

  1. 1Click the '+' icon and select 'Filter by Zapier'
  2. 2Set the condition to 'Only continue if...'
  3. 3Choose 'Conflict Detected' from the Code step output
  4. 4Set the condition to 'Exactly matches' and value 'true'
What you should see: The filter should show 'Only continue if Code by Zapier Conflict Detected exactly matches true'.
Common mistake — Don't skip this filter — without it, every single calendar event will spam your Slack channel, even non-conflicts.
Google Calendar
GO
trigger
filter
Condition
matches criteria?
yes — passes through
no — skipped
Slack
SL
notified
8

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.

  1. 1Click '+' to add another action step
  2. 2Search for 'Slack' and select it
  3. 3Choose 'Send Channel Message' as the action
  4. 4Click 'Sign in to Slack' and authorize the Zapier app
What you should see: You should see 'Connected' status with your Slack workspace name displayed below the connection.
9

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.

  1. 1Select '#office' (or your preferred channel) from the Channel dropdown
  2. 2Set Message Text to include conflict details from the Code step
  3. 3Add event title, time, and conflicting event info using mapped fields
  4. 4Enable 'Send as Bot' for consistent message formatting
What you should see: Message preview should show a formatted alert with event details and conflict information pulled from previous steps.
Common mistake — Make sure the Zapier app has permission to post in your target channel — private channels require explicit invitation.
Message template
📬 New entry: {{1.name}}
Email: {{1.email}}
Details: {{1.description}}
10

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.

  1. 1Click 'Test & Review' in the Slack step
  2. 2Check your Slack channel for the test message
  3. 3Verify the message contains correct event details and timing
  4. 4Click 'Turn on Zap' if the test succeeds
What you should see: You should see a properly formatted conflict alert message appear in your designated Slack channel within 30 seconds.
Common mistake — The test uses sample data — create an actual conflicting booking to verify real-world behavior after going live.

Scaling Beyond 50+ room bookings per day+ Records

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

1

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.

2

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.

3

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

VerdictWhy Zapier for this workflow

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.

Cost

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.

Tradeoffs

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 ResolutionCreate a follow-up Zap that suggests alternative time slots by checking calendar availability and posting options in the Slack thread.
  • Track Conflict PatternsSend conflict data to a Google Sheet to identify which rooms get double-booked most often and adjust booking policies accordingly.
  • Notify Event Creators DirectlyAdd a second Slack action that DMs the person who created the conflicting booking with specific details about the overlap.

Related guides

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