Skip to main content

Calendly Data Source

Calendly is a scheduling automation platform for meetings, demos, interviews, and customer appointments. Follow the instructions below to create a new data flow that ingests data from a Calendly source in Nexla.
calendly_api.png

Calendly

Create a New Data Flow

  1. To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Then, select the desired flow type from the list, and click the Create button.

  2. Select the Calendly connector tile from the list of available connectors. Then, select the credential that will be used to connect to the Calendly instance, and click Next; or, create a new Calendly credential for use in this flow.

  3. In Nexla, Calendly data sources can be created using pre-built endpoint templates, which expedite source setup for common Calendly endpoints. Each template is designed specifically for the corresponding Calendly endpoint, making source configuration easy and efficient.
    • To configure this source using a template, follow the instructions in Configure Using a Template.

    Calendly sources can also be configured manually, allowing you to ingest data from Calendly endpoints not included in the pre-built templates or apply further customizations to exactly suit your needs.
    • To configure this source manually, follow the instructions in Configure Manually.

Configure Using a Template

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Calendly endpoints. Each template is designed specifically for the corresponding Calendly endpoint, making data source setup easy and efficient.

Endpoint Settings

  • Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below. Click on an endpoint to see more information about it and how to configure your data source for this endpoint.

    List Event Types

    This endpoint returns all event types configured within the organization. In Calendly, an event type is the bookable meeting template (such as "30-minute intro call") that an invitee schedules against. Use this endpoint to sync your catalog of meeting templates into a warehouse or to obtain event-type URIs for use with the single-use scheduling link destination endpoint.

    • No configuration is required for this endpoint beyond selecting it. The organization is taken from the credential's Organization URI, and Nexla automatically paginates through all available event types using Calendly's next_page_token pagination.

    Each event type record includes its own uri field — for example, https://api.calendly.com/event_types/AAAAAAAAAAAAAAAA. This is the value to use as the owner when creating a single-use scheduling link with the corresponding destination endpoint.

    Get Current User

    This endpoint returns the profile information of the user whose personal access token is on the credential. Use it to verify the credential, capture the authenticated user's URI, or obtain the current_organization value used to populate the Organization URI on the credential.

    • No configuration is required for this endpoint beyond selecting it. The endpoint always returns a single record describing the authenticated user.

    The resource.current_organization field on the response is the value to enter in the Organization URI field of the Calendly credential.

    List Groups

    This endpoint returns all groups within the organization. Groups in Calendly are used by Admins and Owners to organize members by team, department, or function for the purpose of permissions and reporting. Use this endpoint to sync your Calendly group structure into a warehouse or identity system.

    • No configuration is required for this endpoint beyond selecting it. The organization is taken from the credential's Organization URI, and Nexla automatically paginates through all available groups.

    List Organization Memberships

    This endpoint returns the membership records that link users to the organization. Each membership record contains the user's URI, name, email, and role (Owner, Admin, or User). Use this endpoint to sync your Calendly user roster, drive provisioning workflows, or identify the membership UUIDs needed to remove users from the organization.

    • No configuration is required for this endpoint beyond selecting it. The organization is taken from the credential's Organization URI, and Nexla automatically paginates through all available memberships.

    The trailing segment of each membership uri is the membership UUID required by the Remove User From Organization destination endpoint.

    List Scheduled Events

    This endpoint returns the scheduled events (booked meetings) for the organization. Each record includes start and end times, status, the associated event type, and the host(s). Use this endpoint to ingest booking activity into a warehouse, BI tool, or CRM for reporting on demos, customer meetings, or interview pipelines.

    • No configuration is required for this endpoint beyond selecting it. The organization is taken from the credential's Organization URI, and Nexla automatically paginates through all available scheduled events.

    Each scheduled event's URI ends in the event UUID (for example, https://api.calendly.com/scheduled_events/AAAA-BBBB-CCCC). This UUID is the value to use when configuring the List Event Invitees source endpoint and the Cancel Scheduled Event destination endpoint.

    List Event Invitees

    This endpoint returns the invitees associated with a single scheduled event. Each invitee record includes email, name, status (active or canceled), responses to event-type questions, and tracking parameters. Use this endpoint to enrich a scheduled event with invitee detail or to ingest invitee responses for downstream CRM or marketing systems.

    • Enter the UUID of the scheduled event in the Event UUID field. This field is required and is the trailing segment of the scheduled event's URI — for example, AAAA-BBBB-CCCC from https://api.calendly.com/scheduled_events/AAAA-BBBB-CCCC. Event UUIDs can be obtained from the List Scheduled Events endpoint or from upstream Nexla data flows.

    List Routing Forms

    This endpoint returns the routing forms configured in the organization. Routing forms qualify visitors with custom questions and route them to the appropriate event type, owner, or external URL based on their responses. Use this endpoint to sync your routing form catalog or to obtain routing form URIs for use with the List Routing Form Submissions endpoint.

    • No configuration is required for this endpoint beyond selecting it. The organization is taken from the credential's Organization URI, and Nexla automatically paginates through all available routing forms.

    List Routing Form Submissions

    This endpoint returns the submissions received for a single routing form. Each submission includes the visitor's answers, the routing outcome (event type booked, owner assigned, or external URL redirect), and tracking metadata. Use this endpoint to ingest lead qualification data into a warehouse, CRM, or marketing automation tool.

    • Enter the full URI of the routing form in the Routing Form URI field. This field is required and must be the complete URI returned by the List Routing Forms endpoint — for example, https://api.calendly.com/routing_forms/AAAAAAAAAAAAAAAA. Submissions are filtered by the routing form, not by the organization, so the full URI is required even though the credential is organization-scoped.

    List Activity Log Entries

    This endpoint returns the activity log entries for the organization — the audit trail of administrative actions such as user invitations, role changes, removals, and event-type modifications. Use this endpoint to ingest the audit trail into a SIEM, a compliance store, or a security data warehouse.

    • No configuration is required for this endpoint beyond selecting it. The organization is taken from the credential's Organization URI, and Nexla automatically paginates through all available activity log entries.

    Activity log access is available on the Enterprise plan. Calls from accounts on lower-tier plans will return an authorization error from Calendly.

    List Group Relationships

    This endpoint returns the group-relationship records that link organization members to groups. Use it to materialize the many-to-many mapping between members and groups for downstream reporting, access reviews, or HR system synchronization.

    • No configuration is required for this endpoint beyond selecting it. The organization is taken from the credential's Organization URI, and Nexla automatically paginates through all available group relationships.

    List Webhook Subscriptions

    This endpoint returns the webhook subscriptions registered at the organization scope. Each subscription includes the destination URL, the subscribed events (such as invitee.created, invitee.canceled, or routing_form_submission.created), state (active or disabled), and creation metadata. Use this endpoint to audit existing webhook subscriptions or to obtain subscription UUIDs for use with the Delete Webhook Subscription destination endpoint.

    • No configuration is required for this endpoint beyond selecting it. The organization is taken from the credential's Organization URI, and the scope is fixed to organization. Nexla automatically paginates through all available subscriptions.

    Webhook subscriptions are available on the Standard, Teams, and Enterprise plans. For complete information, see Receive data from scheduled events in real time with webhook subscriptions.

Endpoint Testing

Once the selected endpoint template has been configured, Nexla can retrieve a sample of the data that will be fetched according to the current settings. This allows users to verify that the source is configured correctly before saving.

  • To test the current endpoint configuration, click the Test button to the right of the endpoint selection menu. Sample data will be fetched & displayed in the Endpoint Test Result panel on the right.

  • If the sample data is not as expected, review the selected endpoint and associated settings, and make any necessary adjustments. Then, click the Test button again, and check the sample data to ensure that the correct information is displayed.

Configure Manually

Calendly data sources can be manually configured to ingest data from any valid Calendly API endpoint. Manual configuration provides maximum flexibility for accessing endpoints not covered by pre-built templates or when you need custom API configurations.

With manual configuration, you can also create more complex Calendly sources, such as sources that use chained API calls to fetch data from multiple endpoints or sources that require custom query parameters or filtering.

API Method

  1. To manually configure this source, select the Advanced tab at the top of the configuration screen.

  2. Select the API method that will be used for calls to the Calendly API from the Method pulldown menu. Calendly read endpoints exclusively use the GET method:

    • GET: For retrieving data from the API

API Endpoint URL

  1. Enter the URL of the Calendly API endpoint from which this source will fetch data in the Set API URL field. This should be the complete URL including the protocol (https://) and any required query parameters. All Calendly v2 endpoints are served from https://api.calendly.com/<resource> — for example, https://api.calendly.com/scheduled_events?organization=https://api.calendly.com/organizations/AAAAAAAAAAAAAAAA.

Most Calendly list endpoints require an organization (or user) query parameter set to the full URI of the scoping resource. Ensure the URL includes this parameter for organization-scoped reads. You can test the endpoint using the Test button after configuring the URL.

Date/Time Macros (API URL)

Optional

Optionally, the API URL can be customized using macros—all macros added to the API URL will be converted into values when Nexla executes the API call. Macros are dynamic placeholders that allow you to create flexible API endpoints that can adapt to different time periods or data requirements. This is especially useful for Calendly's scheduled_events endpoint, which accepts min_start_time and max_start_time query parameters to ingest only events within a rolling window.

Macros are particularly useful for APIs that require date ranges, pagination parameters, or other dynamic values that change between data ingestion runs.

  1. To add a macro, type { at the appropriate position in the API URL (within the Set API URL field), and select the desired macro from the dropdown list.

    • {now} – The current datetime
    • {now-1} – The datetime one time unit before the current datetime
    • {now+1} – The datetime one time unit after the current datetime
    • custom – Datetime macros can reference any number of time units before or after the current datetime—for example, enter (now-4) to indicate the datetime four time units before the current datetime
  2. Select the format that will be applied to datetime macros from the Date Format for Date/Time Macro pulldown menu. Calendly accepts ISO 8601 timestamps (for example, yyyy-MM-dd'T'HH:mm:ssXXX) for the min_start_time and max_start_time parameters on the scheduled events endpoint.

  3. Select the datetime unit that will be used to perform mathematical operations in the included macro(s) from the Time Unit for Operations pulldown menu—for example, for the macro {now-1}, when Day is selected, {now-1} will be converted to the datetime one day before the current datetime.

Lookup-Based Macros (API URL)

Optional

Column values from existing lookups can also be included as macros in the API URL. Lookup-based macros allow you to reference data from previously configured data sources or lookups, enabling dynamic API endpoints that can adapt based on existing data. For Calendly, this is useful for driving record-level endpoints — for example, fanning out the List Event Invitees endpoint over a lookup of scheduled-event UUIDs.

Lookup-based macros are useful when you need to create API endpoints that reference specific IDs, values, or parameters from other data sources in your Nexla environment.

  1. To include a lookup column value macro, select the relevant lookup from the Add Lookups to Supported Macros pulldown menu.

  2. Type { at the appropriate position in the API URL, and select the lookup column-based macro from the dropdown list. Lookup-based macros are automatically populated into the macro list when a lookup is selected in the Add Lookups to Supported Macros pulldown menu.

Path to Data

Optional

If only a subset of the data that will be returned by the API endpoint is needed, you can designate the part(s) of the response that should be included in the Nexset(s) produced from this source by specifying the path to the relevant data within the response. This is particularly useful for Calendly list endpoints, which wrap the records in a top-level collection array alongside a pagination object.

For example, when a request call is used to fetch a list of items, the API will typically return an array of records, along with metadata, in the response. By entering the path to the relevant data, you can configure Nexla to treat each element of the returned array as a record.

Path to Data is essential when API responses have nested structures. Without specifying the correct path, Nexla might not be able to properly parse and organize your data into usable records.

  • To specify which data should be treated as relevant in responses from this source, enter the path to the relevant data in the Set Path to Data in Response field.

    • For responses in JSON format enter the JSON path that points to the object or array that should be treated as relevant data. JSON paths use dot notation (e.g., $.data.items[*] to access an array of items within a data object).

    • For responses in XML format, enter the XPath that points to the object/array containing relevant data. XPath uses slash notation (e.g., /response/data/item to access item elements within a data element).

    Path to Data Example:

    Calendly list responses wrap records in a top-level array named collection. For any list endpoint such as /scheduled_events or /event_types, the path to the response would be entered as $.collection[*]. Single-resource endpoints (such as /users/me) return a single resource object — use $.resource in that case.

Autogenerate Path Suggestions

Nexla can also autogenerate data path suggestions based on the response from the API endpoint. These suggested paths can be used as-is or modified to exactly suit your needs.

  • To use this feature, click the Test button next to the Set API URL field to fetch a sample response from the API endpoint. Suggested data paths generated based on the content & format of the response will be displayed in the Suggestions box below the Set Path to Data in Response field.

  • Click on a suggestion to automatically populate the Set Path to Data in Response field with the corresponding path. The populated path can be modified directly within the field if further customization is needed.

    PathSuggestions.png

Metadata

If metadata is included in the response but is located outside of the defined path to relevant data, you can configure Nexla to include this data as common metadata in each record. This is useful when you want to preserve important contextual information that applies to all records but isn't part of the main data array.

For example, Calendly list responses include a pagination object alongside the collection array. If you have specified the path to the relevant records but want to retain pagination details such as the page count or the next-page token, you can specify a path to this metadata to include it with each record in the generated Nexset(s).

Metadata paths are particularly useful for preserving API response context like request IDs, timestamps, or summary statistics that apply to all records in the response.

  • To specify the location of metadata that should be included with each record, enter the path to the relevant metadata in the Path to Metadata in Response field.

    • For responses in JSON format, enter the JSON path to the object or array that contains the metadata, and for responses in XML format, enter the XPath.

Request Headers

Optional
  • If Nexla should include any additional request headers in API calls to this source, enter the headers & corresponding values as comma-separated pairs in the Request Headers field (e.g., header1:value1,header2:value2). Additional headers are rarely required for Calendly read endpoints but can be useful for tracing requests through internal proxies.

    You do not need to include any headers already present in the credentials. The Calendly Authorization: Bearer header is handled automatically by Nexla based on your credential configuration.

Endpoint Testing

After configuring all settings for the selected endpoint, Nexla can retrieve a sample of the data that will be fetched according to the current configuration. This allows users to verify that the source is configured correctly before saving.

  • To test the current endpoint configuration, click the Test button to the right of the endpoint selection menu. Sample data will be fetched & displayed in the Endpoint Test Result panel on the right.

  • If the sample data is not as expected, review the selected endpoint and associated settings, and make any necessary adjustments. Then, click the Test button again, and check the sample data to ensure that the correct information is displayed.

Save & Activate the Source

  1. Once all of the relevant steps in the above sections have been completed, click the Create button in the upper right corner of the screen to save and create the new Calendly data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.