Your Calendar, Controlled by Agents.
Book meetings. Generate booking links. Check availability. Pull intake form answers. Full Calendly control in under 60 seconds.
Calendly has no official CLI built for autonomous agents. Agents can’t book meetings, surface intake data, or manage webhooks without custom API wrappers.
So we built calendly-cli — the missing CLI for agents on Calendly.

Why calendly-cli Exists
Without calendly-cli
- No official CLI — Calendly only offers a REST API and dashboard UI
- Agents can’t book meetings or surface intake data without custom API wrappers
- Booking links must be created manually one-at-a-time in the dashboard
- Webhook configuration requires dashboard access — slow and manual
- Intake form answers are locked behind the dashboard — no programmatic access
With calendly-cli
- Full calendar visibility in one command — past, present, and future events with invitee data
- Agents book meetings directly — find open slot, create booking with name + email, done
- Booking links generated on-demand — personalized, one-time or multi-use, any event type
- Webhooks created programmatically — pipe bookings to Slack, n8n, or FranConnect in seconds
- Intake form answers surfaced instantly — MRR, challenges, timeline pulled for every prospect
Quick Start
1. Install
npm install -g calendly-cli2. Authenticate
# Personal access token from Calendly → Account → Integrations → API & Webhooks
calendly login --token YOUR_PERSONAL_ACCESS_TOKEN
# Or set as environment variable (recommended for agents)
export CALENDLY_TOKEN=YOUR_PERSONAL_ACCESS_TOKEN3. Verify
# List your upcoming scheduled events
calendly events list --status active --count 10
# Check today's availability
calendly availability list --start-time 2026-03-18T09:00:00Z --end-time 2026-03-18T17:00:00Z
# View your event types
calendly event-types listWhat Your Agent Can See and Do
Events
List all scheduled events — past, present, and future. Filter by status, date range, invitee email, or sort order. Get complete event details including invitee answers.
Availability
Check real-time open slots for any date range. See busy times from Calendly plus external calendar blocks. Query working hours and availability schedules.
Bookings
Book meetings directly — find an open slot, create the booking with name + email. No scheduling link required. Your agent handles the full booking flow autonomously.
Booking Links
Generate one-time or multi-use booking links for any event type. Send personalized scheduling links to prospects without touching the dashboard.
Event Types
View your event types with settings, durations, and custom questions. Create one-off event types with custom name, duration, and date range for specific sessions.
Webhooks
Create webhooks that fire notifications to any URL when someone books or cancels. Configure new automations in seconds — pipe straight to Slack, n8n, or FranConnect.
No-Shows
Mark meetings as no-shows programmatically — or undo them. Keep your pipeline data clean without manual dashboard work after every missed call.
Organization
Manage org membership — invite or remove members, view pending invitations, and inspect org-level scheduling settings. Full admin access from the terminal.
Agent Workflows — Real Use Cases
Your agent has full Calendly access from the terminal. These are real use cases — each one completes in under 10 seconds.
Morning Calendar Brief
Agent Prompt
“What's on my calendar today and tomorrow? Any new bookings overnight?”
Your agent lists all scheduled events for the next 48 hours, flags new bookings that came in overnight, and surfaces invitee intake form answers — a complete scheduling brief before the day starts.
calendly events list --status active --count 25List all active upcoming events
calendly events list --min-start-time 2026-03-18T00:00:00Z --max-start-time 2026-03-20T00:00:00ZFilter to today and tomorrow
calendly events get <event-uuid> --include-inviteesPull invitee details and intake answers
Pre-Call Intelligence — Intake Answers on Demand
Agent Prompt
“Awesome. What do I have on my calendar for tomorrow?”
Your agent surfaces the full scheduled event with time, Zoom link, invitee name — then pulls their intake form answers without being asked. B2B focus, MRR range, main challenge, timeline, and their own words in the notes field. Complete pre-call brief, zero dashboard.
calendly events list --min-start-time 2026-03-19T00:00:00Z --max-start-time 2026-03-20T00:00:00ZList all events scheduled for tomorrow
calendly event-invitees list <event-uuid>Pull invitee details for each event
calendly event-invitees get <invitee-uuid>Extract intake answers: B2B/B2C, MRR, challenge, timeline, notes
Top of Funnel Introductory Call
Time: 7:00 AM PT (30 min)
With: Marcus Chen — marcus@streamvault.io
His intake answers:
- •B2B focused
- •MRR: $50K–250K/mo
- •Main challenge: needs more qualified leads
- •Timeline: ASAP
- •Notes: "I'm looking to get leads and customers for myself and also learn cold outreach for myself."
Sounds like a solid prospect — streamvault.io, B2B, good MRR, and ready to move. Want me to do any prep or research on his company before the call?
Send a Personalized Booking Link
Agent Prompt
“Send Alex Torres a booking link for a 30-minute Priority Discovery Call.”
Agent generates a one-time booking link for the specified event type and returns it ready to embed in an outreach sequence or paste directly into a message — in seconds, no dashboard needed.
calendly event-types listList available event types and their UUIDs
calendly scheduling-links create --max-event-count 1 --owner <event-type-uuid>Generate a one-time booking link
calendly scheduling-links create --max-event-count 5 --owner <event-type-uuid>Or generate a multi-use link for sequences
Find an Open Slot and Book a Meeting
Agent Prompt
“Find me an open slot Thursday afternoon and book a call with Jane at jane@company.com.”
Agent checks real-time availability for Thursday afternoon, selects an open slot, and creates the booking with Jane's details — the full scheduling flow completed autonomously without any human touchpoint.
calendly availability list --start-time 2026-03-19T12:00:00Z --end-time 2026-03-19T18:00:00ZCheck Thursday afternoon open slots
calendly invitees create --start-time <slot> --event-type-uuid <uuid> --name "Jane Smith" --email jane@company.comBook the meeting directly
calendly events list --invitee-email jane@company.comConfirm booking was created successfully
Intake Form Intelligence — Weekly Pipeline Review
Agent Prompt
“Who booked this week and what did they say on the intake form? Pull MRR, challenges, and timeline.”
Agent lists all bookings for the week, fetches each event's invitee data, and extracts intake form answers — MRR, biggest challenges, timeline to close — a complete pipeline readout without a CRM.
calendly events list --min-start-time 2026-03-16T00:00:00Z --max-start-time 2026-03-23T00:00:00ZList all bookings this week
calendly event-invitees list <event-uuid>Get invitee details for each event
calendly event-invitees get <invitee-uuid>Pull full intake form answers (MRR, challenges, timeline)
Webhook Setup — Slack Notification on Booking
Agent Prompt
“Set up a webhook to ping Slack when someone books a Discovery Call.”
Agent creates a Calendly webhook targeting your Slack endpoint that fires on every booking event — instant Slack notification the moment a prospect schedules, without polling or manual checks.
calendly webhooks listCheck existing webhooks (FranConnect, n8n already live)
calendly webhooks create --url https://hooks.slack.com/... --events invitee.created --scope organizationCreate webhook for new bookings
calendly webhooks create --url https://your-n8n.com/webhook/... --events invitee.created,invitee.canceledOr route to n8n for multi-step automation
Pipeline Cleanup — Cancel and Mark No-Shows
Agent Prompt
“The 2pm prospect didn't show and the Thursday call needs to be cancelled — handle both.”
Agent marks the no-show event with the correct status and cancels the upcoming meeting — keeping pipeline data clean and accurate without manual dashboard work.
calendly invitees mark-no-show <invitee-uuid>Mark the missed call as a no-show
calendly events cancel <event-uuid> --reason "Prospect requested reschedule"Cancel the upcoming meeting with a reason
calendly events list --status canceled --count 5Verify cancellations are reflected
Commands Reference
calendly events listList all scheduled eventscalendly events list --status active --count 25Filter by status (active, canceled)calendly events list --invitee-email prospect@company.comFilter by invitee emailcalendly events list --min-start-time <iso> --max-start-time <iso>Filter by date rangecalendly events get <event-uuid>Get details for a specific eventcalendly events cancel <event-uuid> --reason "..."Cancel an event with a reasoncalendly availability listList open time slots (real-time)calendly availability list --start-time <iso> --end-time <iso>Check availability for a specific windowcalendly busy-times list --start-time <iso> --end-time <iso>See all busy blocks (Calendly + external calendars)calendly event-invitees list <event-uuid>List all invitees for an eventcalendly event-invitees get <invitee-uuid>Get full invitee data including intake form answerscalendly invitees create --start-time <iso> --event-type-uuid <uuid> --name "..." --email "..."Book a meeting directly for an inviteecalendly invitees mark-no-show <invitee-uuid>Mark an invitee as a no-showcalendly invitees unmark-no-show <invitee-uuid>Undo a no-show markingcalendly event-types listList all event types with UUIDs and settingscalendly event-types get <uuid>Get full details for an event typecalendly scheduling-links create --max-event-count 1 --owner <event-type-uuid>Generate a one-time booking linkcalendly scheduling-links create --max-event-count 5 --owner <event-type-uuid>Generate a multi-use booking link (5 uses)calendly webhooks listList all active webhookscalendly webhooks create --url <url> --events invitee.created --scope organizationCreate webhook for new bookings (org-level)calendly webhooks create --url <url> --events invitee.created,invitee.canceledWebhook for bookings and cancellationscalendly webhooks delete <webhook-uuid>Delete a webhookcalendly org-membership listList all org members and rolescalendly org-invitations listView pending member invitationscalendly org-invitations create --email member@company.comInvite a new member to the organizationcalendly org-membership remove <membership-uuid>Remove a member from the organizationHow We Integrate It
Calendly CLI is the scheduling layer in our agent stack. Here’s where it fits across GTM operations.
EVE — Executive AI Assistant
EVE has full Calendly access via this CLI. She handles calendar queries, books meetings, generates booking links, and surfaces intake form data — all triggered from Slack messages in natural language.
n8n Automation Pipelines
Booking webhooks route into n8n for multi-step automations — triggering CRM updates, Slack notifications, and follow-up email sequences the moment a prospect books.
Intake Form Intelligence
Every booking includes intake form answers. Our agents surface MRR, biggest challenges, timeline, and tech stack from prospect answers — giving sales full context before the first call.
OpenClaw Agent
OpenClaw uses Calendly CLI to send personalized booking links as part of outbound sequences — replacing generic Calendly links with contextual, one-time links tied to specific call types.
Want us to set this up for your business?
We build and manage OpenClaw agents for B2B teams — fully wired into your Calendly, CRM, and outbound stack.
Your agent handles scheduling, books meetings, surfaces intake intelligence, and fires notifications automatically. Book a Discovery Call and we’ll scope it for your business.
OpenClaw agent setup
Built and configured for your stack
Calendly integration
Full scheduling control wired in
n8n automation
Bookings trigger your entire pipeline
Free 30-minute call · No commitment · We’ll scope the build for your specific stack