Can an AI agent use Calendly?

As of 6 Oct 2026, an AI agent can't use Calendly on its own: reCAPTCHA on the sign-up form.

Level 1 · Needs a personAgents can't get in on their own.
  • Find: Docs for agents: llms.txt, an OpenAPI and an MCP server.
  • Access: Can't sign up.
  • Use: Work not reached.
  • Pay: Payment not reached.
  • Leave: Leaving not reached.

To reach L2 · Gets in: let an agent sign up on its own.

With an account set up by a person: not measured yet.

What the levels mean

Driven 6 Oct 2026Same level in 3 drives in a rowRules of 15 Oct 2026Claim this page

Written and checked by our agents from this drive's record. How we write.

Who gets in

  • Agents on a serverStopped by a CAPTCHA on the sign-up form.
  • Signed agentsThe sign-up page opens. The CAPTCHA on the form stops them too.
  • Agents in a person's browserNot measured yet.

Sign-up page checked 12 Oct 2026. Signed agents: the ones Cloudflare verifies. Where agents come from

What an agent can do in Calendly.

On its own

  • Read all of Calendly's developer documentation, including setup guides for its API and its AI-agent connector, without needing an account.

What it can't, and why

  • Create a Calendly accountA human verification checkbox appears after the sign-up form.
  • Get an API key or connect the AI-agent toolEvery way to get credentials requires a logged-in account first.
  • Book, manage, or cancel meetings; set availability; collect paymentAll of these require an account, which could not be created.
Needs a person

Can an AI agent sign up for Calendly on its own?

No. Sign-up: needs a human. Web form only (email, name, 12+ character password, terms). Submitting it shows a visible reCAPTCHA v2 'I'm not a robot' checkbox.

Official server · no call worked

Does Calendly have an MCP server, and can an agent connect to it?

Yes. Calendly has an official MCP server.

A new agent can't get in on its own: in the drive of 6 Oct 2026, our agent stopped at sign up (it needs a person). Through the MCP server, 0 of our agent's 11 attempts worked.

What the drive found

APIOpenAPIMCP · official–CLI–SDKllms.txtWebhooks–Sandbox

Not reached in this drive: the API key, deleting the account and paying. Every checkpoint, in detail

For the team behind Calendly.

Where agents stop in Calendly today, and the fixes that get them further, highest impact first.

Stops at sign up

The fixes, highest impact first

  1. Let verified agents sign up without reCAPTCHAStep-by-step guide
  2. Offer a headless token path for new accountsStep-by-step guide
  3. Support MCP (the 28 Jul 2026 spec) server/discover
1 more fix
  1. Add a billing API or agent payment rail Step-by-step guide
  • Claim it free and reply next to the result.
  • A Drive, $49: your private report, with where agents stop, the evidence and the fixes that move your level.
  • Fixed something? Order a Drive ($49) any time, or the Monthly drive ($29/month).
See the example report
Details

Your API, MCP server or CLI is the product? An Audit ($299) also checks every documented route, MCP tool and CLI command against your docs. Compare plans.

Already claimed it? Open it in your dashboard.

Rather not be driven? Block AgentDrivesAgent in robots.txt or write to us. We stop driving it ourselves; this page stays, with its date.

Embed the badge on your site

Driven · L1 · Needs a person badge

Behind the level.

Our agent couldn't get into Calendly, so the work, its reliability and the crash test aren't measured. The part scores are what it could judge from the outside.

Part scores · level history

Part scores

Agent-ready setup

  • llms.txt: found
  • OpenAPI: found
  • MCP server: found
  • CLI: not found

Not measured in this drive: Holds up, Docs match (part of an Audit).

Level history

  1. 1 Oct 20262 drivesL1Needs a person
  2. 6 Oct 2026L1Needs a person

For agents and builders.

The drive as data, every checkpoint and all 30 attempts.

How an agent connects · 3 tips
  • Use the MCP server at https://mcp.calendly.com once a human has an account: OAuth with DCR needs an https redirect URI (http loopback is refused).
  • Docs: append .md to any developer.calendly.com page; OpenAPI YAML at /openapi/calendly-api.yaml (the .json URL serves HTML).
  • Booking through the API (POST /invitees) needs a Standard plan or above; free accounts get the booking page only.
Every checkpoint, in detail · 9 checkpoints
  1. DocsHeadlessdeveloper.calendly.com/llms.txt, Markdown pages (.md and Accept: text/markdown), OpenAPI 3.1.0 YAML with 65 operations, api-catalog linkset, and a docs-search MCP server, all fetched headless.
  2. Sign upNeeds a humanWeb form only (email, name, 12+ character password, terms). Submitting it shows a visible reCAPTCHA v2 'I'm not a robot' checkbox.
  3. VerifyNot reachedNot reached: the sign-up stopped at the reCAPTCHA before any verification mail was due.
  4. KeyNot reachedPersonal access tokens are made in the web app after login; OAuth and the MCP server use DCR plus a browser consent page for a signed-in user. No device flow, no CIMD, no agent registration. All need an account.
  5. First callNot reachedNo credentials: api.calendly.com and mcp.calendly.com answer 401.
  6. First actionNot reachedNo credentials.
  7. PayNot reachedNo 402 anywhere, no x402/MPP/UCP, no Bazaar or mpp.dev listing, no billing API. The pricing FAQ says upgrades happen on the billing page in the account; the checkout itself was not seen because creating the account needs a human (reCAPTCHA). Free plan plus a 14-day Teams trial without a card.
  8. CancelNot reachedNo plan was started. Help centre: cancel by switching to Free on the billing page (web UI); no billing API.
  9. DeleteNot reachedNo account was created. The API has no account delete operation; only Enterprise data-compliance deletion of invitee and event data.
The attempt log · 30 attempts
Attempt log
CapabilityRouteResultEvidence
llms.txt: Fetch llms.txtapidone ✓https://calendly.com/llms.txt 200 text/plain 11913B; https://developer.calendly.com/llms.txt 200 16651B, lists MCP server, .md pages, OpenAPI 3.1
OpenAPI: Fetch OpenAPIapidone ✓https://developer.calendly.com/openapi/calendly-api.yaml 200 application/x-yaml, openapi: 3.1.0, 65 operationIds; /.well-known/api-catalog linkset 200; /openapi.json returns HTML (200 text/html), not JSON; no x-payment-info
MCP discover: POST server/discover to https://mcp.calendly.com/mcpblocked ✓401 WWW-Authenticate Bearer resource_metadata=https://mcp.calendly.com/.well-known/oauth-protected-resource; response also sets mcp-session-id header; PRM 200 application/json
Cards: ai-catalog, agent-card, agent.json, mcp server-cardapifailed ✓calendly.com/.well-known/ai-catalog.json 404 JSON; agent-card.json 404; agent.json 404; .well-known/mcp/server-card.json 404; https://mcp.calendly.com/server-card 404 text/plain
robots/aipref: robots.txt Content-Usageapidone ✓robots.txt 200: no Content-Usage or Content-signal lines; User-Agent * Disallow /*?* and /app/; no Content-Usage response header on /
OAuth AS metadata: AS metadataapidone ✓calendly.com/.well-known/oauth-authorization-server: registration_endpoint https://calendly.com/oauth/register, token_endpoint_auth_methods none, S256; no client_id_metadata_document_supported, no device_authorization_endpoint, no agent_auth
docs MCP: server/discover on https://developer.calendly.com/_mcp/server, then initializemcpdone ✓server/discover: HTTP 400 JSON-RPC -32000 'Unsupported protocol version: 2026-07-28 (supported versions: 2025-11-25, 2025-06-18, 2025-03-26, 2024-11-05, 2024-10-07)'; initialize answered protocolVersion 2025-11-25, serverInfo fern-docs-mcp-server 1.0.0; tools/list: searchDocs only
Markdown docs: Accept: text/markdown and .md URLapidone ✓Accept: text/markdown on /docs/getting-started/introduction -> content-type text/markdown, vary: accept-encoding, Cookie (no Vary: Accept); .md URL 200 text/markdown
Docs: Find developer docsapidone ✓developer.calendly.com/llms.txt 200, OpenAPI 3.1.0 yaml 200, .md pages 200 text/markdown, docs MCP (fern) searchDocs
Sign up: Create a free account with our test emailbrowserblockedcalendly.com/signup (no CAPTCHA on first step) -> /app/signup?email=… form (email, full name 'AgentDrives Test', 12+ char password, terms checkbox) -> Continue -> 'Please confirm you’re human to continue.' with a visible reCAPTCHA v2 'I'm not a robot' checkbox (screenshot browser/shots/003.png). No signup API documented; Google/Microsoft OAuth sign-in needs accounts we do not have.
Create an event type (meeting template): Try via mcp: event_types-create_event_typemcpblockedhttps://api.calendly.com/* -> 401 {"title":"Unauthenticated","message":"The access token is invalid"}; https://mcp.calendly.com/ -> 401 Bearer resource_metadata
Share a booking link and let an invitee book a time: Try via mcp: meetings-create_inviteemcpblockedhttps://api.calendly.com/* -> 401 {"title":"Unauthenticated","message":"The access token is invalid"}; https://mcp.calendly.com/ -> 401 Bearer resource_metadata
Connect a calendar so availability reflects busy times: Try via mcp: availability-list_user_busy_timesmcpblockedhttps://api.calendly.com/* -> 401 {"title":"Unauthenticated","message":"The access token is invalid"}; https://mcp.calendly.com/ -> 401 Bearer resource_metadata
Set availability (hours, buffers, daily limits, schedules): Try via mcp: availability-update_event_type_availability_schedulemcpblockedhttps://api.calendly.com/* -> 401 {"title":"Unauthenticated","message":"The access token is invalid"}; https://mcp.calendly.com/ -> 401 Bearer resource_metadata
Reschedule or cancel a scheduled meeting: Try via mcp: meetings-cancel_eventmcpblockedhttps://api.calendly.com/* -> 401 {"title":"Unauthenticated","message":"The access token is invalid"}; https://mcp.calendly.com/ -> 401 Bearer resource_metadata
Run group, round-robin, or multi-host (collective) meeting types: Try via mcp: event_types-list_event_typesmcpblockedhttps://api.calendly.com/* -> 401 {"title":"Unauthenticated","message":"The access token is invalid"}; https://mcp.calendly.com/ -> 401 Bearer resource_metadata
Embed the booking page on a website (inline/popup/button): Try via browser: Embed code snippet in event type settingsbrowserblockedFeature lives in the web app, which needs an account
Qualify and route inbound leads with a routing form: Try via mcp: routing_forms-list_routing_formsmcpblockedhttps://api.calendly.com/* -> 401 {"title":"Unauthenticated","message":"The access token is invalid"}; https://mcp.calendly.com/ -> 401 Bearer resource_metadata
Collect payment at time of booking: Try via browser: Event type > Payments (Stripe/PayPal)browserblockedFeature lives in the web app, which needs an account
Delegate scheduling to Callie, an AI assistant that negotiates times over email: Try via browser: Callie (beta) assistant in account settingsbrowserblockedFeature lives in the web app, which needs an account
Create, view, update, and delete a contact: Try via api: POST /contacts; GET /contacts/{uuid}; PATCH /contacts/{uuid}; DELETE /contacts/{uuid}apiblockedhttps://api.calendly.com/* -> 401 {"title":"Unauthenticated","message":"The access token is invalid"}; https://mcp.calendly.com/ -> 401 Bearer resource_metadata
Subscribe to scheduling events via webhooks: Try via api: POST /webhook_subscriptions; GET /webhook_subscriptions; DELETE /webhook_subscriptions/{uuid}apiblockedhttps://api.calendly.com/* -> 401 {"title":"Unauthenticated","message":"The access token is invalid"}; https://mcp.calendly.com/ -> 401 Bearer resource_metadata
Generate a single-use or custom scheduling link for sharing outside the booking page: Try via mcp: scheduling_links-create_single_use_scheduling_linkmcpblockedhttps://api.calendly.com/* -> 401 {"title":"Unauthenticated","message":"The access token is invalid"}; https://mcp.calendly.com/ -> 401 Bearer resource_metadata
List and inspect scheduled events and their invitees: Try via mcp: meetings-list_eventsmcpblockedhttps://api.calendly.com/* -> 401 {"title":"Unauthenticated","message":"The access token is invalid"}; https://mcp.calendly.com/ -> 401 Bearer resource_metadata
Mark/unmark an invitee as a no-show: Try via mcp: meetings-create_invitee_no_showmcpblockedhttps://api.calendly.com/* -> 401 {"title":"Unauthenticated","message":"The access token is invalid"}; https://mcp.calendly.com/ -> 401 Bearer resource_metadata
Verify email: Verify the sign-up emailnoneblockedSign-up never submitted past the reCAPTCHA, so no verification mail was due
API credentials: Get a personal access token or OAuth/MCP tokennoneblockedDocs: PATs are created in the web app (calendly.com/integrations > API & Webhooks tile > Get a token now, after logging in); OAuth/MCP use DCR (https://calendly.com/oauth/register, live, answered 400 invalid_client_metadata 'redirect_uri must start with https in Production' to an http loopback URI) plus a browser consent page for a signed-in user. AS metadata has no device_authorization_endpoint and no CIMD flag.
Pay step: Find an agent purchase pathapiblockedNo 402 on api.calendly.com (401 JSON on /, /invitees, /scheduling/invitees); x402./mpp./agents.calendly.com do not resolve (curl 000); no calendly entries in x402 Bazaar or mpp.dev/api/services; no x-payment-info in OpenAPI; no /.well-known/ucp (404 HTML); no billing endpoints in OpenAPI. Pricing FAQ: upgrade 'from the billing page in your account'; signup page: 'No credit card required', 14-day Teams trial that auto-downgrades to Free.
Cancel plan: Cancel a paid plannoneskippedNo plan started. Help centre: 'How to cancel your Calendly subscription ... by switching to th[e Free plan]' on the billing page (web UI); no billing API in OpenAPI.
Delete account: Delete the accountnoneblockedNo account was created. OpenAPI (65 operations) has no user/account delete; only Enterprise data_compliance deletion of invitee/event data.

Also in Scheduling.