Reference · Tools

Calendly Trigger

Starts workflow when Calendly scheduling events occur

Webhook trigger Productivity v1

Calendly Trigger fires a workflow the moment someone books or cancels on a Calendly scheduling link, delivering the full event payload — invitee details, scheduled time, and metadata — to whatever nodes come next. Use it to build things like automatic CRM contact creation on every new booking, or a cancellation email that includes a direct reschedule link.

Node type
Webhook trigger
Parameters
2
Outputs
Output
Credentials
Calendly API

Calendly Trigger

Triggers on Calendly booking or cancellation events

Overview

Receives webhook notifications from Calendly when scheduling events occur, such as new invitee bookings or cancellations. Outputs the full Calendly webhook payload including invitee details, scheduled event info, and event metadata. Supports scoping to a single user or an entire organization. Useful for automating follow-ups, CRM updates, calendar syncs, and notification workflows triggered by Calendly activity.

Category: Productivity
Tool Name: calendly_trigger
Version: 1

Appearance: Icon: si-calendly | Color: #006bff

Node Type

Trigger — webhook (receives incoming HTTP callbacks)

Input / Output

DirectionPort(s)
InputNone (trigger node)
OutputOutput

Credentials

This tool requires Calendly API credentials. See the Credentials Guide for setup instructions.

Parameters

ParameterTypeRequiredDefaultDescription
ScopeoptionsYesuserWhether to receive events for the current user only or the entire organization.
Options: organization (all subscribed events within the organization), user (subscribed events belonging to the current user)
EventsmultiOptionsYes[]Which Calendly events to listen for.
Options: invitee.created (a new Calendly event is booked), invitee.canceled (a Calendly event is canceled), invitee_no_show.created (an invitee is marked as a no-show), invitee_no_show.deleted (an invitee no-show is reverted), routing_form_submission.created (a routing form is submitted)

Output Data

Each delivered event produces one output item carrying the Calendly payload exactly as sent:

  • event — the Calendly event, e.g. invitee.created
  • created_at, created_by — when the event was recorded and by whom
  • payload — the invitee record: name, first_name, last_name, email, status, timezone, cancel_url, reschedule_url, rescheduled, questions_and_answers[], tracking (UTM fields), new_invitee / old_invitee for reschedules, routing_form_submission, uri, and scheduled_event (name, start_time, end_time, status, location, event_type, event_guests[], event_memberships[], invitees_counter, uri)
  • signingKey<set> when the subscription has a signing key, otherwise null
  • _trigger — always calendly_webhook
  • _timestamp — ISO 8601 timestamp of when the request arrived
  • _webhookEvent — the same value as event

Reference the payload downstream by expression, e.g. {{ $json.payload.email }} or {{ $json.payload.scheduled_event.start_time }}.

Usage Examples

  • Start a workflow when someone books a Calendly meeting
  • Trigger a follow-up email when a Calendly event is canceled
  • Sync new Calendly bookings to a CRM automatically
  • Send a Slack notification when a meeting is scheduled via Calendly

Example Configuration

React to your own bookings and cancellations:

{
  "type": "calendly_trigger",
  "parameters": {
    "scope": "user",
    "events": ["invitee.created", "invitee.canceled"]
  }
}

Watch every booking across the organization:

{
  "type": "calendly_trigger",
  "parameters": {
    "scope": "organization",
    "events": ["invitee.created"]
  }
}

Track no-shows and routing form submissions:

{
  "type": "calendly_trigger",
  "parameters": {
    "scope": "organization",
    "events": [
      "invitee_no_show.created",
      "invitee_no_show.deleted",
      "routing_form_submission.created"
    ]
  }
}

Trigger Behavior

  • Activation: When the workflow is activated, a webhook endpoint is registered with the service.
  • Deactivation: The webhook is automatically unregistered when the workflow is deactivated.
  • Payload: The incoming webhook payload is parsed and output as workflow items.
  • Verification: Supports signature verification where applicable.

Tips

Calendly Trigger listens for webhook events from Calendly. Configure which events to listen for (invitee created or canceled) and the scope (user or organization). When an event occurs, the full Calendly payload is passed to the workflow.

  • Webhooks require a Calendly Standard plan or higher. On a lower plan Calendly refuses the subscription and the workflow will not activate.
  • Scope changes who fires the workflow. user covers only bookings on your own scheduling links; organization covers everyone in the Calendly organization the token belongs to.
  • Every delivery is signature-checked, including a freshness check on the timestamp, so replayed or unsigned requests are rejected.
  • Repeat deliveries are ignored. If Calendly re-sends an event it has already delivered, the workflow does not run a second time.
  • The invitee’s cancel_url and reschedule_url are safe to pass on to the attendee in a follow-up message.

Frequently asked questions

Do I need a specific Calendly plan for this node to work?

Yes. Calendly only allows webhook subscriptions on Standard plans and above. If your account is on a lower tier, Calendly will refuse the subscription when BusyBot tries to register it, and the trigger will never fire. Upgrade your Calendly plan before activating any workflow that uses this node.

What is the difference between the 'user' and 'organization' scope options?

Setting scope to 'user' means the workflow only triggers on bookings and cancellations made through your own Calendly scheduling links. Setting it to 'organization' expands coverage to every member of the Calendly organization associated with the API token, so a single workflow can react to activity across your whole team.

What exactly does the node pass to the rest of the workflow?

The node outputs the complete Calendly webhook payload, which includes invitee details (name, email), scheduled event information, event metadata, and both a cancel URL and a reschedule URL for the invitee. Those two URLs are safe to include directly in follow-up emails or messages you send to the attendee.

Will the workflow run twice if Calendly delivers the same event more than once?

No. The node detects duplicate deliveries and ignores them, so your workflow runs exactly once per real scheduling event even if Calendly retransmits.

How does the node handle potentially forged or replayed webhook requests?

Every incoming request is signature-checked against the Calendly webhook signature, and the request timestamp is verified for freshness. Any request that is unsigned, incorrectly signed, or outside the acceptable time window is rejected before your workflow runs.

Build with the Calendly Trigger node

Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need Calendly API credentials first.

Open BusyBot

Last updated . Spotted something wrong? Tell us.