Introduction
Connect Calendly to Convocore so your customers can check availability and book meetings through your AI agent. Calendly uses bring-your-own (BYO) OAuth (same idea as Shopify): you create an app in the Calendly Developer Portal, register your dashboard’s redirect URI, then paste Client ID + Client Secret into Integrations → Calendly.What the agent can do
Once connected, customers can:- View your meeting types and durations
- Check availability for dates/times
- Book meetings directly via Calendly’s Scheduling API (
POST /invitees) - See upcoming events and cancel bookings (if configured)
Direct API booking requires a paid Calendly plan and the
scheduled_events:write OAuth scope. If booking fails (e.g. free plan), the
agent falls back to sharing a Calendly booking link.Prerequisites
- A Calendly account with at least one published event type
- Access to developer.calendly.com (Calendly OAuth app)
- Dashboard access to Integrations → Calendly (agency workspace or whitelabel client dashboard)
1. Create a Calendly OAuth app (required)
Step 1 — Open the Developer Portal and create the app
- Go to https://developer.calendly.com
- Sign in
- Create a new OAuth application (or open an existing one)
- During creation:
- App type: leave Web selected (the default — do not change it)
- Environment: set the app to Production (not sandbox / development-only). Live dashboard OAuth needs a production app.
Step 2 — Register the Redirect URI
In the Calendly app settings, set Redirect URI to exactly what your dashboard shows under Calendly → Connect modal.Step 3 — Choose scopes (required)
In the Calendly app Scopes screen, enable only these:
Leave everything else off (including
availability:write, event_types:write, locations, routing forms, shares / scheduling links, User management, Contacts, Notetaker, Security & Compliance, and Webhooks). They are not used by the integration.
Step 4 — Copy Client ID & Client Secret
From the Calendly Developer Portal app settings, copy:- Client ID
- Client Secret
2. Connect from the dashboard (modal flow)
Setup and docs live in a Connect modal, not on the main Integrations card.- Open Integrations → Calendly
- Click Connect (or Manage → Add Account)
- In the modal:
- Confirm your Calendly app is Web (default) and Production
- Copy the shown Redirect URI into your Calendly app
- Confirm the five scopes above are enabled
- Paste Client ID and Client Secret
- Click Save & Connect to Calendly
- Authorize in Calendly
- You return to the same Integrations page (platform or whitelabel)
- Select which event types the agent may use
Whitelabel clients: credentials are stored on the agency workspace and
scoped to the client org. Agency-level apps and client-level apps do not
overwrite each other.
3. Whitelabel setup (agencies)
Use this when clients use your custom domain (not the platform host).Agency checklist
- Point the client dashboard to your custom domain (agency whitelabel DNS / domain settings)
- On that domain, open Integrations → Calendly → Connect
- In the modal, copy the Redirect URI (
https://your-domain/api/calendly/callback) - Create a Calendly OAuth app: type Web (leave default), environment Production, with that Redirect URI and the five scopes above
- Paste Client ID / Secret → Save & Connect to Calendly
- Finish event-type selection
Why BYO is required on whitelabel
Calendly validatesredirect_uri against the app you created. A platform-only
callback (https://app.convocore.ai/api/calendly/callback) cannot complete OAuth
started on https://app.youragency.com. Each brand/domain needs its URI
registered (or one Calendly app with every domain’s callback listed, if Calendly
allows multiple redirect URIs on your plan).
After connect
- Users land back on
{customDomain}/app/{region}/agents/{agentId}/integrations(or your integrations path) - Event types load via the API (
calendly.listEventTypes) using the org-scoped connection
5. Agent configuration
Enable the Calendly tool
- Open your agent
- Edit a node (e.g. Start)
- In Tools, enable calendly
- Save
Prompt example
6. Customer examples
Availability
- “What meeting types are available?”
- “When are you available this week?”
- “Can I schedule a 30-minute call for tomorrow?”
Booking
The agent returns a Calendly booking URL for the chosen slot; the customer completes booking on Calendly.7. Available Calendly methods
8. Troubleshooting
“redirect uri is malformed or doesn’t match”
- Copy the Redirect URI from Integrations → Calendly on the same host you use to Connect
- Paste it unchanged into the Calendly Developer Portal
- Save the Calendly app, then try Connect again
“Calendly OAuth app not configured”
- Save Client ID + Client Secret in the OAuth App panel before Connect
- Whitelabel: configure under the client org’s Integrations view if you use org-scoped apps
“Failed to load Calendly event types”
- Reconnect Calendly and select event types
- Confirm the connection appears under Integrations for that workspace/org
- Ensure you finished OAuth on the same domain where you manage the agent
No event types found
- Publish at least one event type in Calendly
- Select event types in the post-connect picker
Agent ignores scheduling questions
- Enable the calendly tool on the agent node
- Confirm the Calendly connection is active
- Add scheduling instructions to the prompt
Support checklist
- Calendly OAuth app created at developer.calendly.com
- Redirect URI matches dashboard host (
…/api/calendly/callback) - Client ID + Secret saved in Integrations → Calendly
- Calendly account connected + event types selected
- Calendly tool enabled on the agent
- (Whitelabel) Connect performed on the custom domain, not the platform host
