Calendly

Connect & Ingest data from Calendly

Calendly is an online scheduling platform that helps individuals and teams automate meeting scheduling, event types, and calendar management. The Sling Calendly connector extracts data from the Calendly API v2, supporting users, event types, scheduled events, organization memberships, routing forms, and routing form submissions.

circle-check

Setup

The following credentials are accepted:

Secrets:

  • api_token (required) -> Your Calendly Personal Access Token

Getting Your API Token

  1. Go to Integrations & apps in the left sidebar

  2. Navigate to API & Webhooks

  3. Click Get a token now under Personal Access Tokens

  4. Enter a name for your token and click Create Token

  5. Copy the generated token

circle-exclamation

Using sling conns

Here are examples of setting a connection named CALENDLY. We must provide the type=api property:

Environment Variable

See here to learn more about the .env.sling file.

Sling Env File YAML

See here to learn more about the sling env.yaml file.

Replication

Here's an example replication configuration to sync Calendly data to a PostgreSQL database:

Sync specific endpoints:

Endpoints

Endpoint
Description
Incremental
Depends On

current_user

The authenticated user's profile

No

β€”

event_types

All event types for the authenticated user

No

β€”

scheduled_events

All scheduled events for the organization

Yes

β€”

organization_memberships

Organization membership records

No

β€”

routing_forms

Routing forms for the organization

No

β€”

routing_form_submissions

Submissions for each routing form

No

routing_forms

The connector uses a queue-based architecture for hierarchical data. The routing_forms endpoint populates routing form URIs used by routing_form_submissions to fetch submissions per form.

To discover available endpoints:

Endpoint Details

current_user β€” Returns the authenticated user's profile, including name, email, scheduling URL, organization URI, and timezone.

event_types β€” Returns all event types created by the authenticated user, including event name, duration, color, scheduling URL, and availability settings.

scheduled_events β€” Returns all scheduled events across the organization. Supports incremental sync using start_time as the update key, so subsequent runs only fetch events newer than the last sync. Includes event name, start/end times, status, location, guests, and calendar event details.

organization_memberships β€” Returns all memberships in the user's organization, including member roles, creation timestamps, and user details.

routing_forms β€” Returns all routing forms configured for the organization, including form name, questions, and routing rules.

routing_form_submissions β€” Returns all submissions for each routing form. Iterates over routing form URIs collected from the routing_forms endpoint. Includes submitted answers, tracking parameters, and submission timestamps.

Incremental Sync

The scheduled_events endpoint supports incremental sync using the start_time field. On the first run, it fetches events from the past year (or from a custom anchor_date input). On subsequent runs, it only fetches events with a start time newer than the last synced value.

To customize the starting date for the first sync, pass the anchor_date input:

Rate Limiting

The Calendly API enforces rate limits:

  • Standard limit: 5 requests per second

The connector automatically:

  • Uses conservative rate limiting (5 requests/second with concurrency of 3)

  • Retries with exponential backoff on 429 (rate limit) responses, up to 5 attempts

Common Use Cases

Sync All Calendly Data

Incremental Event Sync

Export Event Types and Scheduled Events

If you are facing issues connecting, please reach out to us at [email protected]envelope, on discordarrow-up-right or open a Github Issue herearrow-up-right.

Last updated

Was this helpful?