Calendly Trigger
The Calendly Trigger listens for scheduling activity on your Calendly account and automatically starts your workflow the moment someone books, cancels, or submits a routing form — in real time, with no manual checking required.
Scheduling Automation: Connect your Calendly account to indite.io and instantly react to new bookings, cancellations, and form submissions — no polling, no delays.
Key Features
- Real-Time Webhooks: Your workflow fires the instant Calendly registers an event — no delay
- Three Event Types: React to new bookings, cancellations, or routing form submissions
- Multi-Event Support: Listen to multiple event types with a single trigger block
- Variable Mapping: Map any field from the Calendly payload directly to your workflow variables
- Secure Authentication: Uses Calendly Personal Access Tokens for safe, revokable access
- No-Code Setup: Connect and configure entirely from the Indite workflow editor
Supported Events
| Event | Description |
|---|---|
invitee.created | Fires when a new meeting is booked by an invitee |
invitee.canceled | Fires when an existing booking is canceled |
routing_form_submission.created | Fires when someone submits a Calendly routing form |
You can select multiple events in the same trigger. For example, listen for both invitee.created and invitee.canceled to handle the full booking lifecycle without adding extra trigger blocks.
Configuration
| Parameter | Type | Required | Description |
|---|---|---|---|
| Calendly Account | Credential | Yes | Your connected Calendly Personal Access Token |
| Events | Multi-select | Yes | One or more event types to listen for (defaults to invitee.created) |
| Response Variable Mapping | Array | No | Maps fields from the Calendly payload to your workflow variables |
Response Variable Mapping Fields
Each mapping entry has the following fields:
| Field | Description |
|---|---|
id | Unique identifier for this mapping entry |
variableId | The workflow variable that will receive the value |
bodyPath | Dot-notation path to the field in the Calendly payload (e.g. payload.invitee.name) |
When to Use the Calendly Trigger
Great for:
- Sending a confirmation email or Slack message right after a meeting is booked
- Adding new invitees to a CRM or database automatically
- Notifying your team when a meeting is canceled
- Kicking off an onboarding workflow when a discovery call is scheduled
- Collecting routing form responses into a spreadsheet or CRM
Not ideal for:
- One-time manual tasks (use the Manual Trigger)
- Time-based reminders (use the Schedule Trigger)
- Receiving data from non-Calendly sources (use the Webhook Trigger)
How It Works
- Connect Your Account: Provide your Calendly Personal Access Token in the credential settings
- Choose Events: Select which Calendly events should start your workflow
- Map Variables: Optionally extract specific fields (like invitee name or email) into workflow variables
- Automatic Listening: Indite registers a webhook with Calendly on your behalf — your workflow runs instantly when a matching event occurs
Payload data available in your workflow includes:
- Invitee name, email, and timezone
- Event type name and scheduled time
- Meeting location / conference link
- Cancellation reason (for canceled events)
- Routing form answers (for form submission events)
Setting Up the Calendly Credential
Before configuring the trigger, you need to generate a Personal Access Token from your Calendly account.
Step 1: Generate a Personal Access Token
- Log in to your Calendly (opens in a new tab) account
- Go to Integrations & apps from the top navigation or account menu
- Select API & Webhooks from the integrations list
- Under Your Personal Access Tokens, click Generate new token
- Enter a descriptive name for the token — for example,
Indite integration - Click Create token
- Click Copy token to copy it to your clipboard
Save your token now. Calendly only shows the token once. If you close the dialog without copying, you will need to generate a new one.
For more details on Calendly API authentication, refer to the Calendly API authentication documentation (opens in a new tab).
Step 2: Add the Credential in Indite
- Open your workflow in the Indite editor
- Add or click the Calendly Trigger block
- In the block settings panel, click Connect Calendly or Add Credential
- Select Calendly as the credential type
- Paste your Personal Access Token into the Access Token field
- Click Save — Indite will verify the token
Setup Guide
Step 1: Add the Calendly Trigger Block
- Open your workflow in the editor
- Navigate to the Triggers section of the block palette
- Drag the Calendly Trigger block onto your canvas
- Place it at the starting point of your workflow
Step 2: Connect Your Calendly Account
- Click the Calendly Trigger block to open its settings
- Under Calendly Account, click Connect
- Enter your Personal Access Token (see Setting Up the Calendly Credential above)
- Click Save — the block will confirm authentication
Step 3: Select Events to Listen For
- In the Events field, select one or more event types:
invitee.created— new bookinginvitee.canceled— booking canceledrouting_form_submission.created— form submitted
- Default is
invitee.createdif nothing is changed
Step 4: Map Response Variables (Optional)
-
Click Add Mapping in the Response Variable Mapping section
-
Set the Body Path using dot notation to navigate the Calendly payload
Common paths:
Field Body Path Invitee name payload.invitee.nameInvitee email payload.invitee.emailEvent start time payload.event.start_timeEvent end time payload.event.end_timeCancellation reason payload.cancellation.reasonRouting form answers payload.questions_and_answers -
Select a Workflow Variable where the extracted value will be stored
-
Repeat for each field you need
Step 5: Connect to Downstream Blocks
- Click the output handle of the Calendly Trigger
- Drag a connection to your next workflow block (e.g., Send Email, Update CRM, Send Slack Message)
- Use the mapped variables in downstream blocks as needed
Example Workflows
Booking Confirmation Email
Calendly Trigger (invitee.created)
→ Extract name & email via Variable Mapping
→ Send Email Block (send confirmation to invitee)
→ Slack Block (notify your team)CRM Entry on New Booking
Calendly Trigger (invitee.created)
→ HTTP Request Block (POST to CRM API with invitee data)
→ Conditional Block (check if contact already exists)
→ Create or Update ContactCancellation Follow-Up
Calendly Trigger (invitee.canceled)
→ Extract cancellation reason & email
→ Send Email Block (offer to reschedule)
→ Update CRM Block (mark meeting as canceled)Routing Form Lead Capture
Calendly Trigger (routing_form_submission.created)
→ Extract form answers via Variable Mapping
→ Google Sheets Block (add row with lead data)
→ Send Email Block (notify sales team)Troubleshooting
| Problem | Solution |
|---|---|
| Trigger not firing | Verify your Access Token is valid and not expired |
| Missing payload fields | Double-check the body path against Calendly's webhook payload docs |
| Token rejected | Regenerate a new Personal Access Token in Calendly and update the credential |
| Wrong events firing | Ensure only the intended events are selected in the trigger block |
| Variables empty after mapping | Confirm the body path matches the actual payload structure using a test booking |
You can test your trigger by making a real test booking on your Calendly event link, or by using Calendly's built-in webhook testing tools in your developer settings.