Skip to content
Last updated

Calendly integration

Calendly is a scheduling platform that lets people book meetings from shared availability, event types, and scheduling links.

It can be connected to Agen.co two ways, matching the Official / In-house filter in the connector picker:

  • Official — Agen.co connects through Calendly's own hosted MCP server. Each user authorizes with their own Calendly account, and no app needs to be created in the Calendly Developer Console.
  • In-house — Agen.co wraps the Calendly REST API directly through its own integration layer, using an OAuth app you create in the Calendly Developer Console, with the scopes you choose.

Pick Official for the broader tool set, including availability, scheduling links, and routing forms. Fall back to In-house if your agents need webhook subscriptions, or if you want your own OAuth app.


Connect via the official MCP server

Prerequisites

  • A Calendly account. No app needs to be created in the Calendly Developer Console — the MCP server registers Agen.co as a client automatically, so there is no Client ID or Client Secret to copy.

Connect Calendly in Agen.co

  1. In the Agen.co portal, go to Connectors → My connectors and click Add connector.

  2. In the Select connector drawer, search for Calendly and select it. The Add Calendly panel opens with Official selected at the top.

  3. Fill in the field:

    FieldRequiredDescription
    Instance SlugYesPrefixes each imported tool as slug__tool, so several instances of the connector can coexist. Prefilled with calendly. Use lowercase kebab-case, at most 11 characters: each tool name, including the slug__ prefix, is limited to 64 characters, and the longest Calendly tool name is 51. A longer slug makes Add fail with Tool name ... exceeds 64 characters. Use a shorter instance id (slug). You can change it later from the connector's settings.
  4. Click Connect. Calendly opens in a new tab, and the panel shows Waiting for authorization — complete it in the opened tab…

  5. In the Calendly tab, on the Connect MCP OAuth Client to Calendly screen, click Approve. Agen.co requests the mcp:scheduling:read and mcp:scheduling:write scopes. If you weren't logged in to Calendly, it asks you to log in first and may then open the Calendly app instead of the consent screen. In that case, close the tab, click Cancel in the waiting panel, and click Connect again.

  6. Back in Agen.co, the panel switches to Select the tools to import from Calendly. Every tool is toggled on; turn off any you don't want to import, then click Add.

The connector is created and its tools imported only when you click Add. If you close the panel before that, nothing is saved, even though the Calendly tab reported success.

Authorize each user

Adding the connector doesn't authorize anyone's tool calls yet. The first time each user's agent calls a Calendly tool, the call returns an authorization link instead of a result. The user opens the link and clicks Approve on Calendly's consent screen. If Calendly opens its app after the login instead, the user opens the link again. After that, the user's tool calls run with their own Calendly account.

Once connected, Calendly appears under My connectors with tools spanning:

AreaWhat it covers
Event typesListing, reading, creating, and updating event types, their available times, and their availability schedules
AvailabilityReading the user's availability schedules and busy times, and listing meeting locations
MeetingsListing, reading, and canceling scheduled events, reading invitees, creating bookings, and managing no-shows
Scheduling linksCreating single-use scheduling links and customized shares
Routing formsListing and reading routing forms and their submissions
Users and organizationReading users, the organization, and its memberships, and creating or revoking invitations
SkillsListing and loading Calendly skills

Some tools, such as routing forms and creating bookings, return an error if the Calendly account doesn't include that feature. The Official server has no webhook tools — use the In-house tab if your agents need to manage webhook subscriptions.

Enabling the Calendly connector isn't enough on its own. Tool calls remain denied until you create a policy that grants access to the specific tools you want to expose.

Connect via the Calendly API

Integrating Calendly with Frontegg allows your application to authenticate users via OAuth 2.0 and interact with their Calendly accounts — reading event types, listing scheduled events, managing invitees, and creating webhook subscriptions on their behalf.

Prerequisites

Connect Calendly

Step 1: Open the Calendly developer portal

Navigate to developer.calendly.com. Click Log in / Sign up in the top navigation bar.

Calendly developer portal

Step 2: Access My Apps

After signing in, you are redirected to the My Apps page at developer.calendly.com/console/apps. This page lists all your existing OAuth applications.

Calendly My Apps page

Step 3: Create a new app

Click Create new app.

Create new app button

Step 4: Fill in the app details

On the Provide OAuth app details form (Step 1 of 2), fill in the following fields:

  • Name of app: Enter a name (for example, Frontegg Integration).
  • Redirect URI: Enter the following URI: https://YOUR_MCP_GATEWAY_URL/integration-callback
  • Kind of app: Select Web.
  • Environment type: Select Production.

Click Next.

Calendly app details form

Step 5: Review the available scopes

On the Choose scopes step (Step 2 of 2), you see scopes grouped by category. Each scope controls what your app can access in the user's Calendly account.

Calendly scopes selection

Step 6: Select required scopes

Enable the following scopes for the Frontegg integration:

ScopeDescription
event_types:readRetrieve event type details and available times
scheduled_events:readRetrieve scheduled events and event invitee information
scheduled_events:writeCreate event invitees, cancel events, or mark invitees as no-show
users:readRetrieve user information
webhooks:readRetrieve webhook subscriptions and sample payloads
webhooks:writeCreate or delete webhook subscriptions

Click Create.

Calendly scopes selected

Step 7: Copy your credentials

After the app is created, you land on the credentials page. Copy the Client ID and Client Secret for use in the Frontegg portal.

Keep your credentials secure

The Client Secret is shown only once. Store it immediately in a secure location. Never share or commit it to version control.

Calendly app credentials

Configure the Frontegg portal

Once you have your Client ID and Client Secret, configure the integration in the Frontegg portal:

  1. Open the Frontegg portal and navigate to [ENVIRONMENT] → Integrations → Calendly.
  2. Enter the Client ID and Client Secret in the corresponding fields.
  3. Select the required scopes.
  4. Click Save.

Additional resources