<!-- BusyBot node reference — https://busybot.net/tools/calendly-trigger/ -->

> Node: Calendly Trigger (`calendly_trigger`) · Webhook trigger · v1
> Category: Productivity · Credentials: Calendly API (`calendlyApi`)
> Updated: 2026-08-16

# 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

| Direction | Port(s) |
|-----------|--------|
| Input | None (trigger node) |
| Output | `Output` |

## Credentials

This tool requires **Calendly API** credentials.
See the [Credentials Guide](https://busybot.net/credentials/calendly-api/) for setup instructions.

### Parameters

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| Scope | `options` | Yes | `user` | Whether 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) |
| Events | `multiOptions` | Yes | `[]` | 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:

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

Watch every booking across the organization:

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

Track no-shows and routing form submissions:

```json
{
  "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.