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.
CLI Pro Required: APIs require a CLI Pro token or Platform Plan.
Setup
The following credentials are accepted:
Secrets:
api_token(required) -> Your Calendly Personal Access Token
Getting Your API Token
Log in to Calendly
Go to Integrations & apps in the left sidebar
Navigate to API & Webhooks
Click Get a token now under Personal Access Tokens
Enter a name for your token and click Create Token
Copy the generated token
Important: Personal Access Tokens grant full access to your Calendly account. Keep them secure and do not share them. Tokens are only shown once at creation time.
Using sling conns
sling connsHere 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
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], on discord or open a Github Issue here.
Last updated
Was this helpful?