Skip to main content

Track Calendly schedule changes with Google Sheets & Slack notifications

Workflow preview

Workflow preview
100%
Track Calendly schedule changes with Google Sheets & Slack notifications preview
Open on n8n.io

Important notice

This workflow is provided as-is. Please review and test before using in production.

1. Workflow Overview

This n8n template implements a Calendly Booking & Cancellation Automation Hub that automatically processes Calendly webhook events, logs data to Google Sheets, and sends intelligent Slack notificat...

Best for

  • Project Management automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

n8n-nodes-base.stickynote, n8n-nodes-base.switch, n8n-nodes-base.set, n8n-nodes-base.if, n8n-nodes-base.merge, n8n-nodes-base.slack, n8n-nodes-base.googlesheets, n8n-nodes-base.calendlytrigger

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Omer Fayyaz.

Original n8n.io source

1.1 Workflow description

Title
Track Calendly schedule changes with Google Sheets & Slack notifications
Workflow name
Track Calendly schedule changes with Google Sheets & Slack notifications

This n8n template implements a Calendly Booking & Cancellation Automation Hub that automatically processes Calendly webhook events, logs data to Google Sheets, and sends intelligent Slack notifications

Who's it for

This template is designed for professionals, teams, and businesses who use Calendly for scheduling and want to automate their booking management workflow. It's perfect for:

  • Sales teams who need instant notifications about new bookings and cancellations
  • Service providers (consultants, coaches, therapists) who want to track appointments automatically
  • Businesses that need centralized logging of all booking events for analytics
  • Teams that want smart categorization of urgent bookings and last-minute cancellations
  • Organizations requiring automated follow-up workflows based on booking status

How it works / What it does

This workflow creates a comprehensive Calendly automation system that automatically processes booking confirmations and cancellations. The system:

  1. Listens for Calendly events via webhook trigger for:

    • invitee.created - New booking confirmations
    • invitee.canceled - Booking cancellations
  2. Routes events intelligently using a Switch node to separate booking and cancellation processing

  3. For Bookings:

    • Extracts and transforms all booking data (invitee info, event details, timing, location, guests)
    • Calculates computed fields (formatted dates/times, duration, days until event, urgency flags)
    • Detects urgent bookings (same-day or next-day appointments) for priority handling
    • Logs complete booking information to Google Sheets
    • Sends formatted Slack notifications with meeting links, reschedule/cancel options
  4. For Cancellations:

    • Extracts cancellation details (reason, who canceled, timing)
    • Categorizes cancellations into three types:
      • Last Minute (within 24 hours of event) - High priority follow-up
      • Standard (upcoming events) - Normal priority
      • Past Event (already occurred) - Low priority
    • Calculates hours before event for timing analysis
    • Logs cancellation data to Google Sheets
    • Sends categorized Slack alerts with follow-up priority indicators
  5. Data Management:

    • Stores all bookings in a dedicated Google Sheets tab
    • Stores all cancellations in a separate Google Sheets tab
    • Maintains complete event history for analytics and reporting

How to set up

1. Configure Calendly Webhook Trigger

  • Go to developer.calendly.com
  • Create an OAuth2 application or use Personal Access Token
  • In n8n, add Calendly OAuth2 credentials
  • The workflow automatically registers webhooks for invitee.created and invitee.canceled events
  • Ensure your Calendly account has the necessary permissions

2. Set up Google Sheets

  • Create a Google Sheets spreadsheet with two tabs:
    • Bookings - For logging new booking confirmations
    • Cancellations - For logging cancelled appointments
  • Configure Google Sheets OAuth2 credentials in n8n
  • Update the document ID in both Google Sheets nodes:
    • "Log to Bookings Sheet1" node
    • "Log to Cancellations Sheet" node
  • The workflow uses auto-mapping, so ensure your sheet headers match the data fields

3. Configure Slack Notifications

  • Create a Slack app at api.slack.com
  • Add Bot Token Scopes: chat:write, channels:read
  • Install the app to your workspace
  • Add Slack OAuth2 credentials in n8n
  • Update the channel name in both Slack nodes (default: "general")
  • Customize notification messages if needed

4. Test the Workflow

  • Activate the workflow in n8n
  • Create a test booking in Calendly
  • Verify that:
    • Data appears in Google Sheets
    • Slack notification is received
    • All fields are correctly populated
  • Test cancellation flow by canceling a booking

5. Customize (Optional)

  • Adjust urgency detection logic (currently same-day or next-day)
  • Modify Slack notification formatting
  • Add email notifications using Email nodes
  • Integrate with CRM systems (HubSpot, Salesforce, etc.)
  • Add follow-up email automation

Requirements

  • Calendly account with active scheduling links
  • Google Sheets account with a spreadsheet set up
  • Slack workspace with app installation permissions
  • n8n instance (self-hosted or cloud)
  • OAuth2 credentials for Calendly, Google Sheets, and Slack

How to customize the workflow

Modify Urgency Detection

  • Edit the "Check Urgency" IF node to change what constitutes an urgent booking
  • Currently flags same-day or next-day bookings
  • Adjust the days_until_event threshold as needed

Enhance Slack Notifications

  • Customize message formatting in Slack nodes
  • Add emoji or formatting to match your team's style
  • Include additional fields from the booking data
  • Add @mentions for urgent bookings

Add Email Notifications

  • Insert Email nodes after Slack notifications
  • Send confirmation emails to invitees
  • Notify team members via email
  • Create email templates for different event types

Integrate with CRM

  • Add HTTP Request nodes to sync bookings to your CRM
  • Update contact records when bookings are created
  • Create opportunities or deals from booking data
  • Sync cancellation reasons for analysis

Add Analytics

  • Create additional Google Sheets tabs for analytics
  • Use formulas to calculate booking rates, cancellation rates
  • Track popular time slots and event types
  • Monitor team member availability

Customize Data Fields

  • Modify the "Transform Booking Data" and "Transform Cancellation Data" Set nodes
  • Add custom fields based on your Calendly form questions
  • Extract additional metadata from the webhook payload
  • Calculate business-specific metrics

Key Features

  • Automatic event processing - No manual intervention required
  • Smart urgency detection - Identifies same-day and next-day bookings automatically
  • Intelligent cancellation categorization - Classifies cancellations by timing and priority
  • Comprehensive data extraction - Captures all booking details including guests, questions, and metadata
  • Dual logging system - Separate sheets for bookings and cancellations
  • Rich Slack notifications - Formatted messages with meeting links and action buttons
  • Computed fields - Automatically calculates duration, days until event, formatted dates/times
  • Error handling - Nodes configured with continueRegularOutput to prevent workflow failures
  • Scalable architecture - Handles high-volume booking scenarios

Use Cases

  • Sales team automation - Instant notifications when prospects book demos
  • Consultant scheduling - Track all client appointments in one place
  • Service business management - Monitor bookings and cancellations for service providers
  • Team calendar coordination - Keep team members informed about schedule changes
  • Analytics and reporting - Build dashboards from logged booking data
  • Customer relationship management - Sync booking data with CRM systems
  • Follow-up automation - Trigger email sequences based on booking status
  • Resource planning - Analyze booking patterns to optimize scheduling

Data Fields Captured

Booking Data

  • Event ID, invitee name, email, first name
  • Event name, start/end times (ISO format)
  • Formatted date and time (human-readable)
  • Timezone, duration in minutes
  • Meeting URL (Google Meet, Zoom, etc.)
  • Reschedule and cancel URLs
  • Location type (virtual, in-person, etc.)
  • Guest count and guest emails
  • Questions and answers (JSON format)
  • Days until event, same-day flag
  • Urgency status and label
  • Processing timestamp

Cancellation Data

  • Event ID, invitee name, email
  • Original scheduled date and time
  • Cancellation reason
  • Who canceled (invitee/host)
  • Canceler type
  • Hours before event
  • Last-minute flag (< 24 hours)
  • Cancellation category and priority
  • Cancellation timestamp

Workflow Architecture

The workflow uses a routing pattern to handle different event types:

  1. Calendly Webhook Trigger → Receives all events
  2. Route Event Type (Switch) → Separates bookings from cancellations
  3. Parallel Processing → Each path processes independently
  4. Data Transformation → Set nodes extract and format data
  5. Intelligent Routing → IF/Switch nodes categorize by urgency/type
  6. Data Logging → Google Sheets stores all events
  7. Notifications → Slack alerts team members

Example Scenarios

Scenario 1: New Booking

  1. Customer books a 30-minute consultation for tomorrow
  2. Workflow detects it's a next-day booking (urgent)
  3. Data logged to "Bookings" sheet with urgency flag
  4. Slack notification sent with 🚨 URGENT label
  5. Team member receives instant alert

Scenario 2: Last-Minute Cancellation

  1. Customer cancels meeting 2 hours before scheduled time
  2. Workflow categorizes as "last-minute" cancellation
  3. Data logged to "Cancellations" sheet with high priority
  4. Slack alert sent with 🚨 LAST MINUTE label
  5. Team can immediately follow up or fill the slot

Scenario 3: Standard Cancellation

  1. Customer cancels meeting 3 days in advance
  2. Workflow categorizes as "standard" cancellation
  3. Data logged with normal priority
  4. Slack notification sent with standard formatting
  5. Team can plan accordingly

This template transforms your Calendly scheduling into a fully automated booking management system, ensuring no booking goes unnoticed and providing valuable insights into your scheduling patterns and customer behavior.

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - 📋 WORKFLOW OVERVIEW

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 2 - Route Event Type

Type / Role
n8n-nodes-base.switch - switch
Config choices
Version 3.2

Block 3 - Transform Booking Data

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 4 - Check Urgency

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.2

Block 5 - Mark as Urgent

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 6 - Mark as Normal

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 7 - Merge Booking Data

Type / Role
n8n-nodes-base.merge - merge
Config choices
Version 3

Block 8 - Slack Booking Notification

Type / Role
n8n-nodes-base.slack - slack
Config choices
Version 2.3

Block 9 - Transform Cancellation Data

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 10 - Categorize Cancellation

Type / Role
n8n-nodes-base.switch - switch
Config choices
Version 3.2

Block 11 - Label: Last Minute

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 12 - Label: Standard

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 13 - Label: Past Event

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 14 - Merge Cancellation Data

Type / Role
n8n-nodes-base.merge - merge
Config choices
Version 3

Block 15 - Log to Cancellations Sheet

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.7

Block 16 - Slack Cancellation Alert

Type / Role
n8n-nodes-base.slack - slack
Config choices
Version 2.3

Block 17 - Calendly Webhook Trigger1

Type / Role
n8n-nodes-base.calendlyTrigger - calendlyTrigger
Config choices
Version 1

Block 18 - Log to Bookings Sheet1

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.7

Block 19 - Sticky Note

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 20 - Sticky Note1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 21 - Sticky Note2

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 22 - Sticky Note3

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 23 - Sticky Note4

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

3. Summary Table

Workflow Track Calendly schedule changes with Google Sheets & Slack notifications
Complexity advanced
Nodes 23
Categories Project Management
Author Omer Fayyaz
Published 26 Nov 2025

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/11247/11247.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Track Calendly schedule changes with Google Sheets & Slack notifications do?

This n8n template implements a Calendly Booking & Cancellation Automation Hub that automatically processes Calendly webhook events, logs data to Google Sheets, and sends intelligent Slack notificat...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your Project Management use case.