Calendly

Sync scheduling events, invitees, availability schedules, and audit activity from Calendly into your data warehouse.

Authentication

The Calendly connector uses OAuth 2.0 with PKCE (Proof Key for Code Exchange, S256 method). Weld initiates the OAuth flow and exchanges an authorization code for access and refresh tokens on your behalf. No manual token management is required.


Available Streams

All streams run as full syncs โ€” the entire dataset is re-fetched on every sync run. Incremental syncing is not currently supported for any Calendly stream.

StreamTable NamePrimary KeySync ModeRequires Enterprise
List Eventslist_eventsuriFullNo
List Event Inviteeslist_event_inviteesuriFullNo
List User Availability Scheduleslist_user_availability_schedulesuriFullNo
List Activity Log Entrieslist_activity_log_entriesuriFullYes

List Events

Fetches all scheduled events for the authenticated user, ordered by start_time ascending.

Endpoint: GET /scheduled_events

ColumnTypeDescription
uristringUnique resource identifier for the event
namestringEvent name
statusstringactive or canceled
start_timestringISO 8601 start time
end_timestringISO 8601 end time
event_typestringURI of the event type definition
locationobjectLocation details (type, join URL, etc.)
invitees_counterobjectTotal, active, and limit counts
event_membershipsarrayHosts associated with the event
event_guestsarrayAdditional guests added to the event
cancellationobjectCancellation reason and actor, if canceled
calendar_eventobjectLinked calendar event metadata
meeting_notes_plainstringPlain-text meeting notes
meeting_notes_htmlstringHTML meeting notes
created_atstringISO 8601 creation timestamp
updated_atstringISO 8601 last-updated timestamp

List Event Invitees

Fetches all invitees across every scheduled event for the authenticated user. Weld first paginates through all events, then fetches invitees per event.

Endpoint: GET /scheduled_events/{event_uuid}/invitees

ColumnTypeDescription
uristringUnique resource identifier for the invitee
emailstringInvitee email address
namestringInvitee display name
statusstringactive or canceled
timezonestringInvitee's timezone
eventstringURI of the parent event
rescheduledbooleanWhether the invitee rescheduled
old_inviteestringURI of the previous invitee record before rescheduling
new_inviteestringURI of the new invitee record after rescheduling
cancel_urlstringURL for the invitee to cancel
reschedule_urlstringURL for the invitee to reschedule
scheduling_methodstringHow the event was scheduled
invitee_scheduled_bystringWho booked on behalf of the invitee
text_reminder_numberstringPhone number used for SMS reminders
routing_form_submissionstringURI of the routing form submission, if applicable
questions_and_answersarrayIntake form responses
trackingobjectUTM and attribution tracking data
paymentobjectPayment details, if payments are enabled
no_showobjectNo-show marker details
reconfirmationobjectReconfirmation status and timestamp
created_atstringISO 8601 creation timestamp
updated_atstringISO 8601 last-updated timestamp

List User Availability Schedules

Fetches all availability schedules configured by the authenticated user.

Endpoint: GET /user_availability_schedules

ColumnTypeDescription
uristringUnique resource identifier for the schedule
namestringDisplay name of the schedule
userstringURI of the owning user
timezonestringTimezone the schedule rules apply to
defaultbooleanWhether this is the user's default schedule
rulesarrayArray of availability rules (days, intervals)

List Activity Log Entries

Requires Calendly Enterprise plan. This stream will fail with a permissions error if the authenticated user's organization is on a Standard or Teams plan.

Fetches the organization-wide audit log, ordered by occurred_at ascending. Useful for compliance reporting and auditing user actions across the organization.

Endpoint: GET /activity_log_entries

ColumnTypeDescription
uristringUnique resource identifier for the log entry
occurred_atstringISO 8601 timestamp of when the action occurred
namespacestringCategory of the action (e.g. event_type, user)
actionstringThe specific action taken (e.g. created, deleted)
fully_qualified_namestringNamespaced action name (e.g. event_type.created)
organizationstringURI of the organization the entry belongs to
actorobjectWho performed the action (URI, display name, type)
detailsobjectAdditional context about the action

Known Limitations

No incremental syncs

All four streams use full sync mode only. Every sync run re-fetches the complete dataset from Calendly's API. For accounts with large event histories this can result in long sync durations and higher API usage. Incremental sync support is not currently implemented.

Invitees sync performance scales with event volume

The list_event_invitees stream fetches invitees by iterating over every event returned by list_events and making a separate API call per event. For accounts with thousands of historical events, this results in a large number of sequential API requests and significantly longer sync times.

Scoped to the authenticated user only

The connector authenticates as an individual Calendly user. Streams like list_events and list_user_availability_schedules are scoped to that user's data only โ€” they do not return organization-wide data across all team members. To sync data for multiple users, separate connections would be needed per user.

The list_activity_log_entries stream is the exception: it is scoped to the entire organization, which is why it requires an Enterprise plan.

Activity log requires Enterprise

The list_activity_log_entries stream requires a Calendly Enterprise subscription. Attempting to sync this stream on a Standard or Teams plan will result in a 403 Forbidden error from the Calendly API, and the sync job will fail.

Was this page helpful?