

How to Send Google Calendar OOO Alerts to Slack with Zapier
Automatically posts a message to your team Slack channel whenever someone adds an all-day 'OOO' or 'Vacation' event to Google Calendar.
Steps and UI details are based on platform versions at time of writing β check each platform for the latest interface.
Best for
Non-technical teams wanting reliable OOO notifications with minimal setup
Not ideal for
Teams needing instant alerts or complex message formatting with threading
Sync type
pollingUse case type
notificationReal-World Example
A 25-person marketing agency uses this to notify #team-status whenever someone blocks their calendar for vacation or sick days. Before automation, people forgot to announce time off and clients got surprised by delayed responses. Now OOO announcements happen automatically when calendar events are created.
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.
Field Mapping
Map these fields between your apps.
| Field | API Name | |
|---|---|---|
| Required | ||
| Event Title | summary | |
| Person Name | creator.displayName | |
| Start Date | start.date | |
| End Date | end.date | |
| All Day Flag | allDay | |
1 optional fieldβΈ show
| Creator Email | creator.email |
Step-by-Step Setup
Dashboard > Create Zap > Google Calendar
Create new Zap in Zapier
Start a fresh automation to connect Google Calendar events with Slack notifications. This sets up the basic structure for monitoring calendar changes.
- 1Click 'Create Zap' from your Zapier dashboard
- 2Select 'Google Calendar' as your trigger app
- 3Choose 'Event Start' trigger from the dropdown
Trigger > Google Calendar > Account
Connect your Google Calendar account
Link the specific Google account that contains your team's calendar events. Zapier needs read access to detect new OOO events.
- 1Click 'Sign in to Google Calendar'
- 2Select your work Google account from the list
- 3Click 'Allow' to grant Zapier calendar access
- 4Choose your primary work calendar from the dropdown
Trigger > Filter
Set trigger filters for OOO events
Configure Zapier to only fire when calendar events contain OOO keywords. This prevents notifications for regular meetings and appointments.
- 1Scroll down to 'Only continue if...' section
- 2Click '+ Add condition'
- 3Set Field to 'Summary (Title)'
- 4Select 'Text Contains' from the dropdown
- 5Enter 'OOO' in the value field
- 6Click '+ Add condition' again
- 7Set second condition to 'Summary (Title)' contains 'Vacation'
Trigger > Filter > All Day Event
Add all-day event filter
Restrict notifications to full-day absences only. This prevents alerts for partial day appointments or OOO meeting blocks.
- 1Click '+ Add condition' for a third filter
- 2Set Field to 'All Day Event'
- 3Select 'Exactly matches' from dropdown
- 4Enter 'true' in the value field
Trigger > Test
Test the Google Calendar trigger
Pull a recent calendar event to verify the connection works and see what data Zapier receives. This helps with field mapping later.
- 1Click 'Test trigger' button
- 2Select a recent all-day event from the sample list
- 3Click 'Continue with selected record'
Action > Slack > Send Channel Message
Add Slack as action app
Set up Slack to receive the OOO notifications. This creates the second half of your automation workflow.
- 1Click the '+' button to add an action step
- 2Search for and select 'Slack'
- 3Choose 'Send Channel Message' from the action list
Action > Slack > Account
Connect your Slack workspace
Link your team's Slack workspace so Zapier can post messages. You'll need permission to add integrations to your workspace.
- 1Click 'Sign in to Slack'
- 2Select your team's Slack workspace
- 3Click 'Allow' to grant Zapier posting permissions
- 4Confirm the connection shows as active
Action > Slack > Channel
Select team updates channel
Choose the specific Slack channel where OOO announcements should appear. Most teams use a dedicated channel for status updates.
- 1Click the Channel dropdown
- 2Select '#team-updates' or your equivalent channel
- 3Verify the channel name appears correctly
start.dateTime: {{start.dateTime}}
end.dateTime: {{end.dateTime}}
Action > Slack > Message Text
Compose the OOO message
Build the notification message using calendar event data. This creates a standardized format for all OOO announcements.
- 1Click in the Message Text field
- 2Type ':calendar: ' to start with a calendar emoji
- 3Add 'is out of office: ' as static text
- 4Click the '+' button and select 'Summary' from calendar data
- 5Add a line break and type 'Dates: '
- 6Insert 'Start Date' and 'End Date' fields from calendar data
π¬ New entry: {{1.name}}
Email: {{1.email}}
Details: {{1.description}}Action > Test
Test the complete workflow
Send a test message to verify both the trigger and action work together properly. This confirms your automation is ready for production.
- 1Click 'Test step' in the Slack action section
- 2Check your Slack channel for the test message
- 3Verify the message format and data look correct
- 4Click 'Continue' if the test succeeded
Publish > Zap Name
Turn on the Zap
Activate your automation so it starts monitoring for new OOO events. Once enabled, it runs automatically whenever someone adds qualifying calendar events.
- 1Click 'Publish Zap' in the top right
- 2Enter a descriptive name like 'OOO Calendar to Slack'
- 3Confirm the Zap is switched to 'On' status
Drop this into a Zapier Code step.
JavaScript β Code Step{{creator__displayName}} is out: {{summary}}βΈ Show code
{{creator__displayName}} is out: {{summary}}
π
{{start__date}} to {{end__date}}
{{#if description}}Note: {{description}}{{/if}}... expand to see full code
{{creator__displayName}} is out: {{summary}}
π
{{start__date}} to {{end__date}}
{{#if description}}Note: {{description}}{{/if}}Scaling Beyond 100+ OOO events/month+ Records
If your volume exceeds 100+ OOO events/month records, apply these adjustments.
Upgrade to paid plan for faster polling
Free tier's 15-minute polling creates notification delays. The $19.99 Starter plan polls every 2 minutes and includes 750 monthly tasks for growing teams.
Add calendar-specific filters
Large organizations should filter by specific calendars or domains to avoid notifications from meeting rooms, equipment bookings, or external attendees. Use the Calendar ID field to restrict triggers to employee calendars only.
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 is non-technical and wants a 5-minute setup. The guided interface makes calendar-to-Slack connections dead simple, and Google Calendar's trigger works reliably for event monitoring. Pick Make instead if you need sub-5-minute notifications β Zapier's free plan polls every 15 minutes while Make checks every 2 minutes.
This workflow uses 1 task per OOO event. A 20-person team averaging 2 OOO days per person monthly hits 40 tasks β well within Zapier's free 100-task limit. At 200+ events monthly, you'd need the $19.99 Starter plan. Make handles the same volume for $9/month, and N8N runs free if you self-host.
Make beats Zapier on instant notifications and complex date formatting β it can parse calendar data into custom date ranges like 'March 15-22' while Zapier shows raw ISO timestamps. N8N offers better message templating with HTML formatting and threaded replies. But Zapier wins on reliability β Google Calendar triggers fail less often than Make's webhook approach, and the error handling actually sends you useful debugging info.
You'll hit Google Calendar's pagination limits if anyone has 100+ events in their calendar view. Zapier sometimes pulls meeting room bookings instead of personal events if your workspace has complex calendar sharing. The trigger also fires on event updates, not just creation β someone editing their OOO dates sends duplicate Slack messages unless you add a 'Created' timestamp filter.
Ideas for what to build next
- βAdd return-to-office notifications β Create a second Zap that posts when OOO events end, welcoming people back to the team.
- βLog OOO data to spreadsheet β Track team time-off patterns by sending the same calendar data to Google Sheets for absence reporting and planning.
- βCreate Slack thread updates β Enhance notifications by posting follow-up messages in threads when OOO events are modified or cancelled.
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