Bookings integration

Calendly

Calendly integration overview
  • CategoryBookings
  • AuthPAT
  • Scopes4

Overview

Calendly connects on /integrations in the dashboard. Click the Calendly card and the 'Connect Calendly' modal opens with one field, the Personal Access Token. Create the token in Calendly under Integrations & Apps, API & Webhooks, then paste it below. New Calendly tokens only include the scopes you grant them, so select at least users:read, event_types:read, availability:read and scheduled_events:write, or the connection and bookings will fail. The first Integrate click fetches your Calendly event types; the dashboard then shows an event-type selector so you can pick which event types your AI agent can manage: checking availability, sending booking links, and creating bookings and returning available booking-management links. The second Integrate click saves the selection and enables the integration.

What MessageMind can do with it

  • Read your Calendly event types and surface them for the AI to offer as bookable slots.
  • Check live availability for a specific event type across a date window.
  • Send booking links in-thread for a chosen event type.
  • Create a confirmed booking after the customer picks a slot and provides the required details.
  • Return Calendly cancellation or rescheduling links when the booking response provides them.

Requirements

  • A Calendly account with permission to issue a Personal Access Token from Integrations & Apps, API & Webhooks.
  • The token must carry the four scopes listed under Authentication, granted explicitly in Calendly.
  • Available on the Professional and Enterprise plans.

How to connect

  1. In Calendly, open Integrations & Apps, then API & Webhooks, and create a Personal Access Token. Grant it at least users:read, event_types:read, availability:read and scheduled_events:write. Treat it like a password and never share it.
  2. In the MessageMind dashboard, open /integrations and click the Calendly card. The 'Connect Calendly' modal opens.
  3. Paste the token into the 'Personal Access Token' field (placeholder: 'Paste your Calendly Personal Access Token') and click Integrate.
  4. MessageMind calls Calendly with the token and lists the event types on the connected account. The modal switches to an event-type selector powered by CalendlyMultiDropdown.
  5. Tick the event types the AI should manage and click Integrate again to save. The connection is now enabled and the chosen event types are the slots the AI can offer and book.

Authentication and permissions

Mechanism
Personal Access Token issued by the connected Calendly user. No OAuth app, no refresh token.
Credentials
A single bearer token stored on your MessageMind tenant and sent as the Authorization header on every call to api.calendly.com.

Required scopes

  • users:read
  • event_types:read
  • availability:read
  • scheduled_events:write

Available data and actions

Reads

  • The connected Calendly user's profile, to identify which account the token belongs to.
  • The event types the user owns, used to populate the picker and the slots the AI can offer.
  • Live available times for a chosen event type across the requested date window.

Writes

  • New scheduled events on behalf of the connected user, created after the AI collects the required invitee fields.
  • Cancellation and rescheduling are handled through the returned Calendly management links; no separate AI cancellation write is exposed by this connector.

AI agent use cases

  • Quote a free slot inside a WhatsApp or Instagram thread and lock it in Calendly before the customer leaves the chat.
  • Send a booking link for a specific event type in-thread when the customer prefers to pick their own time.
  • Collect the required invitee details in-thread, create the booking, and share the confirmation link.
  • Share the Calendly cancellation or rescheduling link returned for an existing booking so the customer can manage it with Calendly.

Configuration

  • The event-type selector is the scoping surface: only the event types ticked at connect time are available to the AI. Reopen the connection to change the selection.
  • If Calendly returns no event types for the token, the connection cannot complete; the dashboard surfaces the message 'No event types found on your Calendly account.'.

Example workflows

Two-step connect from the Calendly card

  1. You click the Calendly card on /integrations. The 'Connect Calendly' modal opens with the Personal Access Token field and its tooltip pointing at Calendly, Integrations & Apps, API & Webhooks.
  2. You paste the token and click Integrate. MessageMind calls Calendly for the account's event types.
  3. If the call succeeds and returns at least one event type, the modal switches to the event-type selector (CalendlyMultiDropdown). If it returns none, the dashboard shows 'No event types found on your Calendly account.' and the connection stops.
  4. You tick the event types the AI should manage and click Integrate a second time. The selection is saved and the integration is enabled.

Hold-and-book inside a chat thread

  1. Customer asks for the next free slot on one of the selected event types.
  2. The AI checks live availability on Calendly for that event type.
  3. Calendly returns the open times; the AI quotes the first viable slot in the chat (or sends the booking link).
  4. Customer confirms. The AI collects the invitee fields the event type requires.
  5. The AI creates the booking on Calendly and posts the confirmation plus invite link into the thread.

Limitations

  • No OAuth means token rotation is manual. If you regenerate your Calendly token you need to update the connection in MessageMind.
  • New Calendly tokens have no API access until the four required scopes are granted. If scopes are missing, the fetch of event types or the booking call will fail.
  • A token on a Calendly account with zero event types cannot complete the connection; the UI surfaces 'No event types found on your Calendly account.'.
  • The event types the AI can offer are the ones ticked at connect time. New event types created later in Calendly are not picked up until you reopen the connection.

Troubleshooting

After pasting the token and clicking Integrate, the toast says 'Failed to fetch Calendly event types.'.

The token call to Calendly failed. Check the token is valid and that it was granted users:read, event_types:read, availability:read and scheduled_events:write in Calendly under Integrations & Apps, API & Webhooks, then paste the fresh token and click Integrate again.

The toast says 'No event types found on your Calendly account.'.

Calendly returned zero event types for this token. Create at least one event type on the connected Calendly user, or reissue the token on an account that owns event types, then retry.

The token connects but availability calls or bookings fail later with a scope error.

New Calendly tokens ship with zero scopes. Grant users:read, event_types:read, availability:read and scheduled_events:write in Calendly under Integrations & Apps, API & Webhooks, then re-save the token in MessageMind.

Some event types are missing from the event-type selector.

Only event types owned by the connected Calendly user are listed. Confirm the token belongs to the user that owns the missing event types, then reconnect.

Disconnect and reconnect

  • In the MessageMind dashboard, open /integrations and the Calendly card, then choose Disconnect. The stored token and the selected event-type list are removed from your tenant.
  • To reconnect, generate a fresh token in Calendly and paste it into the connection form, then pick the event types again. Previously booked events stay on Calendly; disconnecting does not cancel them.