> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lovable.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Connect your app to Calendly

> Connect your app to Calendly, a scheduling automation platform, to build booking flows, event dashboards, and meeting workflows.

export const connector_0 = "Calendly"

[Calendly](https://calendly.com/) is a scheduling automation platform for booking meetings and managing appointment workflows. The Calendly connector lets your Lovable app read scheduled events, list event types, fetch invitee details, create single-use scheduling links, and cancel scheduled events from a connected Calendly account.

With Calendly, your app can:

* Read the connected user and organization profile
* List event types and scheduled events with filters and pagination
* Fetch invitee details for scheduled events
* Create single-use scheduling links for embedded booking flows
* Cancel scheduled events on behalf of the connected user

The Calendly connector is a good fit for booking portals, sales handoff tools, customer success dashboards, recruiting workflows, and internal scheduling apps that need to use Calendly account data inside a custom product.

## Common use cases and example apps

| Example app              | Example prompt                                                                                                               | Description                                                                                                                                                                                             |
| :----------------------- | :--------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Booking portal           | *Use Calendly and build a booking portal that creates a single-use scheduling link when a visitor chooses an event type.*    | **Create a custom booking entry point backed by Calendly.**<br />The app lists available event types, creates a single-use scheduling link, and sends the visitor into the right Calendly booking flow. |
| Meeting dashboard        | *Use Calendly and build a dashboard that shows upcoming scheduled events for our team.*                                      | **Track scheduled meetings from a connected Calendly account.**<br />The app reads the connected user, lists scheduled events, and displays upcoming meetings with invitee details.                     |
| Sales handoff tracker    | *Use Calendly and build a sales handoff tool that shows booked demos and lets our team mark follow-up status.*               | **Turn Calendly demos into a structured sales workflow.**<br />The app pulls scheduled events and invitees, links them to internal follow-up records, and helps the team track next steps.              |
| Recruiting scheduler     | *Use Calendly and build a recruiting dashboard that lists candidate interviews by event type and date.*                      | **Organize candidate interviews from Calendly.**<br />The app filters scheduled events by event type, shows interview details, and gives recruiters a focused view of upcoming conversations.           |
| Customer success planner | *Use Calendly and build a customer success planner that shows renewal calls, kickoff meetings, and invitee contact details.* | **Give account teams one place to review customer meetings.**<br />The app fetches scheduled events and invitees, groups meetings by account, and keeps customer touchpoints visible.                   |
| Cancellation workflow    | *Use Calendly and build an admin tool that lets our operations team cancel selected scheduled events with a reason.*         | **Manage selected Calendly events from an internal tool.**<br />The app lists scheduled events, lets approved teammates choose an event, and sends a cancellation request through Calendly.             |

## How to connect Calendly

Workspace **admins** and **owners** can connect Calendly. You can create multiple Calendly connections using different accounts, which is useful for separating environments or managing different teams.

When the connection is created, Calendly becomes available across all projects in the workspace. Anyone building in a project can ask Lovable in chat to link their project to it.

### Prerequisites

Before connecting Calendly, make sure you have:

* A Calendly account
* Lovable workspace **owner** or **admin** role

<Note>
  All API requests made through this connector count against Calendly API limits according to your Calendly plan. Billing and quota are handled directly by Calendly, not Lovable.
</Note>

### Set up your Calendly connection

<Steps>
  <Step title="Open Calendly in Connectors">
    Go to **Connectors**, then **App connectors**, and select **Calendly**.
  </Step>

  <Step title="Add a connection">
    Click **Add connection**.
  </Step>

  <Step title="Name the connection">
    In **Display name**, name the connection (for example, `Calendly Prod`). This name is only used inside Lovable to identify the connection.
  </Step>

  <Step title="Choose scopes">
    Expand **Advanced settings** to choose the permissions your app requests. Lovable pre-selects default scopes that cover common scheduling, booking, and event management use cases. You can enable additional scopes for more advanced workflows or turn off defaults you don't need.

    The `users:read` scope is required and cannot be disabled. Only the scopes you select are sent to Calendly during authorization, and Lovable exposes the approved scopes to the agent so it knows which Calendly capabilities your app can use.

    **Default scopes (pre-selected):**

    | Scope                                              | Description                                                  |
    | :------------------------------------------------- | :----------------------------------------------------------- |
    | Users: read (`users:read`)                         | Read the connected Calendly user profile. *(Required)*       |
    | Organizations: read (`organizations:read`)         | Read organization details, memberships, and invitations.     |
    | Event types: read (`event_types:read`)             | Read event type details and available times.                 |
    | Scheduled events: read (`scheduled_events:read`)   | Read scheduled events, invitees, and no-show data.           |
    | Availability: read (`availability:read`)           | Read user and event-type availability.                       |
    | Scheduling links: write (`scheduling_links:write`) | Create single-use scheduling links from event types.         |
    | Shares: write (`shares:write`)                     | Create and customize single-use scheduling links.            |
    | Scheduled events: write (`scheduled_events:write`) | Create invitees, cancel events, and manage invitee no-shows. |

    **Additional scopes (off by default):**

    | Scope                                                          | Description                                            |
    | :------------------------------------------------------------- | :----------------------------------------------------- |
    | Event types: write (`event_types:write`)                       | Create or update event types.                          |
    | Availability: write (`availability:write`)                     | Update event type availability.                        |
    | Locations: read (`locations:read`)                             | Read configured meeting locations.                     |
    | Routing forms: read (`routing_forms:read`)                     | Read routing forms and submissions.                    |
    | Groups: read (`groups:read`)                                   | Read group details and relationships.                  |
    | Organizations: write (`organizations:write`)                   | Invite or remove organization users.                   |
    | Webhooks: read (`webhooks:read`)                               | Read webhook subscriptions and sample payloads.        |
    | Webhooks: write (`webhooks:write`)                             | Create or delete webhook subscriptions.                |
    | Activity log: read (`activity_log:read`)                       | Read organization activity logs.                       |
    | Data compliance: write (`data_compliance:write`)               | Delete invitee or event data for compliance workflows. |
    | Outgoing communications: read (`outgoing_communications:read`) | Read outgoing SMS and email communications.            |
    | Contacts: read (`contacts:read`)                               | Read Calendly contacts.                                |
    | Contacts: write (`contacts:write`)                             | Create, update, and delete Calendly contacts.          |

    **Pick scopes for common use cases:**

    * **Booking portals and meeting dashboards**: the defaults are enough. They cover reading event types, scheduled events, and invitees, and creating single-use scheduling links.
    * **Managing event types or availability from your app**: add `event_types:write` and `availability:write`.
    * **Routing form integrations**: add `routing_forms:read` to read form submissions and route invitees.
    * **Webhook automation**: add `webhooks:read` and `webhooks:write` to manage Calendly webhook subscriptions from your app.
    * **CRM-style contact sync**: add `contacts:read` and `contacts:write` to read or update Calendly contacts.
    * **Admin and compliance tooling**: add `organizations:write`, `activity_log:read`, and `data_compliance:write` for user management, audit views, or GDPR-style data deletion flows.

    For full scope documentation, see [Calendly's scope reference](https://developer.calendly.com/scopes).
  </Step>

  <Step title="Choose who can access this connection">
    Under **Who can access this connection**, decide who in your workspace can use the connection:

    * **Only you** (default): only the person creating the connection can use it and its associated data.
    * **Invite specific people**: only you and explicitly added workspace members can use the connection and its associated data.
    * **Invite entire workspace**: click **Invite entire workspace** to make the connection available to everyone in your Lovable workspace.

    See [Connection-level access](/integrations/introduction#connection-level-access) for more information.
  </Step>

  <Step title="Connect to Calendly and authorize">
    Click **Connect**. The Calendly authorization window opens, so make sure your browser does not block pop-ups. If it does, Lovable redirects you instead.

    Sign in to Calendly if prompted, review the requested permissions, and click **Allow**.

    Lovable redirects you back with a confirmation.
  </Step>
</Steps>

When connected, anyone building in a project can ask Lovable in chat to link their project to Calendly (based on configured connection-level access). Your Lovable apps can then read Calendly data and perform Calendly actions allowed by the scopes you approved.

## Limitations

The Calendly connector cannot:

* Access Calendly resources that are outside the scopes approved for the connection.
* Use a Calendly endpoint that is unavailable on the connected Calendly plan.
* Call Calendly directly from browser code. Apps should use server-side requests through the Lovable connector gateway.
* Support per-end-user Calendly login. Each connection represents a single Calendly account shared across all projects linked to it.

If Calendly authorization is revoked from the Calendly side, you need to reconnect the integration in Lovable before API calls can succeed again.

## How to unlink projects from a {connector_0} connection

Editors and above can remove specific projects from a connection without deleting the connection entirely. The connection will remain available for other projects.

To unlink projects:

<Steps>
  <Step title="Open Connectors">
    Open **Connectors**, then go to **App connectors**, and select **{connector_0}**.
  </Step>

  <Step title="Open the connection">
    Open the connection you want to manage.
  </Step>

  <Step title="Select projects">
    Under **Linked projects**, check the projects you want to unlink.
  </Step>

  <Step title="Confirm">
    Click **Unlink projects** and confirm.
  </Step>
</Steps>

When unlinked, those projects will no longer have access to {connector_0} through this connection. If a project needs {connector_0} again, you can link it to any available connection.

## How to delete a {connector_0} connection

Workspace admins and owners can delete {connector_0} connections. Other members can delete a connection if they created it, or if they have been explicitly granted access to it.

<Warning>
  Deleting a connection is permanent and cannot be undone. It will remove the credentials from all linked projects, and any apps using this connection will stop working until a new connection is added.
</Warning>

Before deleting, review the **Linked projects** section to see which projects are currently using the connection.

To delete a connection:

<Steps>
  <Step title="Open Connectors">
    Open **Connectors**, then go to **App connectors**, and select **{connector_0}**.
  </Step>

  <Step title="Open the connection">
    Open the connection you want to remove.
  </Step>

  <Step title="Review linked projects">
    Review the **Linked projects** section.
  </Step>

  <Step title="Delete">
    Under **Delete this connection**, click **Delete** and confirm.
  </Step>
</Steps>
