đź’¬ Create a Calendly availability API endpoint for real-time scheduling data

⚡ 698 views · 💬 Support Chatbots

Description

This n8n template implements a Calendly Availability Checker that provides real-time availability information for your Calendly event types via a simple API endpoint

Who’s it for

This template is designed for developers, businesses, and service providers who need to programmatically check Calendly availability. It’s perfect for:

How it works / What it does

This workflow creates a RESTful API endpoint that returns real-time availability information from your Calendly account. The system:

  1. Accepts webhook requests via POST with optional parameters:

    • event_type_uri (optional) - Specific event type to check
    • days_ahead (optional, default: 7) - Number of days to check ahead
  2. Authenticates with Calendly API using OAuth2 credentials to access your account

  3. Retrieves user information to get your Calendly user URI and account details

  4. Lists all active event types from your Calendly account

  5. Selects the target event type:

    • Uses the event_type_uri from the request if provided
    • Otherwise defaults to the first active event type
  6. Fetches available time slots from Calendly’s availability API for the specified date range

  7. Formats the availability data into a structured response including:

    • Total number of available slots
    • Next available slot (formatted and ISO timestamp)
    • Array of all available slots with formatted times and booking URLs
    • Slots grouped by day for easy consumption
    • Complete list of all event types
  8. Returns a comprehensive JSON response with all availability information ready for integration

How to set up

1. Configure Calendly OAuth2 Credentials

2. Activate the Workflow

3. Test the Workflow

4. Customize (Optional)

Requirements

How to customize the workflow

Modify Date Range

Filter Specific Event Types

Customize Response Format

Add Caching

Add Error Handling

Integrate with Other Services

Key Features

Use Cases

Data Fields Returned

User Information

Event Type Information

Availability Summary

Available Slots Array

Each slot includes:

Slots by Day

Metadata

Workflow Architecture

The workflow uses a linear processing pattern with data transformation at each step:

  1. Webhook Trigger → Receives POST requests with optional parameters
  2. Set Configuration → Extracts and sets default values for event_type_uri and days_ahead
  3. Get Current User → Authenticates and retrieves Calendly user information
  4. Extract User Info → Parses user data to extract URIs and account details
  5. Get Event Types → Fetches all active event types for the user
  6. Select Event Type → Chooses target event type (from request or first available)
  7. Get Available Times → Queries Calendly API for available time slots
  8. Format Availability → Transforms raw API data into structured, formatted response
  9. Respond with Availability → Returns comprehensive JSON response to caller

Example Scenarios

Scenario 1: Check Default Availability

  1. Developer sends POST request to webhook endpoint with empty body
  2. Workflow uses default 7-day lookahead period
  3. Workflow selects first active event type automatically
  4. Returns availability for next 7 days with all slots formatted
  5. Developer displays slots in custom booking interface

Scenario 2: Check Specific Event Type

  1. Developer sends POST request with specific event_type_uri
  2. Workflow uses provided event type instead of default
  3. Checks availability for that specific event type only
  4. Returns slots grouped by day for easy calendar display
  5. Developer shows availability in day-by-day calendar view

Scenario 3: Extended Date Range

  1. Developer sends POST request with days_ahead: 30
  2. Workflow checks availability for next 30 days
  3. Returns comprehensive list of all available slots
  4. Developer uses data to show monthly availability view
  5. User can see all available times for the next month

Scenario 4: Chatbot Integration

  1. User asks chatbot “When are you available?”
  2. Chatbot calls webhook endpoint to get availability
  3. Workflow returns next available slot and total count
  4. Chatbot responds: “I have 15 slots available. Next available: Monday, Dec 2 at 10:00 AM”
  5. Chatbot offers to book the next available slot

This template provides a powerful API endpoint for checking Calendly availability, enabling developers to build custom scheduling experiences while leveraging Calendly’s robust scheduling infrastructure.

đź”— Nodes Used

HTTP Request, Webhook

📥 Import

Download workflow.json and import into n8n: Workflow menu → Import from File

📖 Importing guide · 🔑 Credential setup