The Calendly MCP integration connects your AI Voice Agent with Calendly, allowing AI agents to turn live conversations into booked meetings, appointments, interviews, consultations, and follow-ups without sending the customer to a booking page.
When a caller or prospect wants to speak with someone, the agent can identify the right event type, check availability in the caller's timezone, book the selected time, and confirm the final details back to the customer.
Typical uses include sales demos, support appointments, recruiting interviews, healthcare consultations, property viewings, financial advisory sessions, customer success meetings, onboarding sessions, and renewal reviews.
How it works on inbound and outbound calls
Whoever starts the conversation, the aim is the same: turn scheduling intent into confirmed calendar events.
- Inbound calls: a customer calls. The agent understands the scheduling need, checks the available Calendly slots, and books the meeting.
- Outbound calls: the agent follows up with a lead, customer, candidate, or patient, and proposes or confirms a time. The Calendly invitation is created automatically.
The same Calendly integration and actions work for both. To set up an agent that makes outbound calls, see the Outbound AI Voice Agent setup guide.
Important: The agent books real meetings. Anything it books is created on the connected Calendly account. Booking should only happen when the caller has given a specific date and time and the required details, such as name, email, and timezone. Use your instructions to make clear when the agent can only check availability and when it can book.
Before you begin
- A Calendly account.
- At least one AI Voice Agent created. If you don't have one yet, see Configuring your AI Voice Agent first, then come back to this guide.
- Admin permissions on the Aircall Dashboard.
Actions and use cases
Aircall <> Calendly agentic integration gives you three building blocks. You can combine them to create different agents.
| Building block | What it defines | Examples |
|---|---|---|
| Use cases | Who the agent is, and the appointment outcome it supports | Sales demos, support appointments, recruiting interviews |
| Action groups | What the agent can do in a scheduling workflow | Selecting a meeting type, checking available slots, booking a meeting |
| Actions | What the agent can access and create in Calendly | Listing meeting types, listing available times, creating a meeting |
AI actions
These are the individual tools available to your agent through the Calendly MCP integration. They give the agent access to specific scheduling workflows: resolving the connected host, finding event types, checking available slots, creating a meeting invitee, and confirming the scheduled event after booking.
Calendly actions fall into three types:
- Discovery actions resolve the connected host and find the correct event type.
- Availability actions retrieve bookable slots for a specific event type and time window.
- Booking actions create the invitee and optionally fetch the final scheduled event details.
| Action | Type | What it does | Good to know |
|---|---|---|---|
| Get User Details | Discovery | Identifies the connected Calendly host account and returns its user URI. | Runs once at the start of a scheduling, event type, or availability check. The agent uses the URI exactly as returned. |
| List Event Types | Discovery | Lists the Calendly meeting types (event types) for the connected user or a specified organization. | Used after Get User Details, to match a meeting type by name or duration. The agent passes the exact user URI from Get User Details, not an email, name, slug, or made-up value. |
| List Available Times | Availability | Returns the open booking slots for a meeting type within a requested time window. | Always used before the agent says what's available. The agent takes the meeting type from the selected event type, converts the caller's local time window into ISO timestamps, and reports only returned times that match the request. |
| Create Meeting | Booking | Books the caller as an invitee for a specific meeting type and start time. | Used when the caller asks for a specific date and time and gives the required invitee details. The agent tries the exact start time requested, sends it in UTC ISO 8601 format, copies any required location configured on the meeting type, and leaves out optional fields it wasn't given. |
| Get Event | Booking | Fetches the details of the meeting that was just created. | Used only after Create Meeting succeeds, with the event URI returned by the booking. The agent doesn't ask the caller for a Calendly URI or read out raw URIs. |
Common action combinations
- Find a demo meeting type before checking availability: Get User Details, then List Event Types.
- Answer "What times are available Thursday afternoon?": Get User Details, then List Event Types, then List Available Times.
- Book an exact requested time: Create Meeting, then Get Event.
Action groups
An action group combines Calendly actions to handle one scheduling task. Because Calendly can create live meetings, make the allowed outcome clear for each group: identify the host, select a meeting type, check availability, book a meeting, or confirm the final details.
| Action group | What the agent does | Actions used | Example caller request |
|---|---|---|---|
| Resolve the Calendly host | Identifies the connected host account before listing meeting types or checking availability. | Get User Details | "Can you check what meeting types I can book with the connected Calendly account?" |
| Select the right event type | Lists your meeting types and picks the one that matches by name, duration, or caller intent. | Get User Details, then List Event Types | "I'd like to book a 30-minute product demo." |
| Check available times | Checks open slots for the chosen meeting type and returns only the times that match the caller's window. | Get User Details, then List Event Types, then List Available Times | "What times are available Thursday afternoon?" |
| Book a meeting | Books the meeting when the caller gives a specific date and time and the required details. | Create Meeting | "Book the 2pm slot tomorrow Pacific time with jane@acme.com. My name is Jane Doe." |
| Confirm booked meeting details | Fetches and confirms the final details after a successful booking. | Create Meeting, then Get Event | "Can you confirm the final time and location for the meeting we just booked?" |
| Complete scheduling flow | Combines meeting type selection, availability, booking, and confirmation in one conversation. | All five actions | "Find me a 30-minute demo slot Thursday afternoon, then book the 3pm option with Alex at alex@example.com." |
Use cases
A use case defines who your agent is and the appointment outcome it supports. Each one combines the same action groups: select the right meeting type, check available times, book a meeting, and confirm the details.
| Use case | What the agent does | Keep in mind |
|---|---|---|
| Meeting scheduling | When a customer or prospect wants to speak with someone, checks availability and books a meeting directly in Calendly, with no human intervention or booking page required. | Ask short questions only when needed: meeting type, date, time, timezone, and the caller's name and email. |
| Sales demo booking | When a prospect asks to see the product, compare plans, or speak with sales, finds the right demo meeting type, offers times, and books while they're still engaged. | Don't book until you have the required details. If several demo types match, ask a short question. |
| Support appointments | When a customer needs help that requires a live session, finds the correct support appointment type, checks available times, and books them with the support team. | Don't guarantee support outcomes while scheduling. Keep the support context short. |
| Recruiting interviews | When a candidate is ready for a screening call or interview, matches the right interview type, offers slots, and books it. | Don't ask for unnecessary personal information. If the role or interview type is unclear, ask one question. |
| Consultations (healthcare, financial advisory, legal, education) | Captures the scheduling request, chooses the right consultation type, and books a confirmed appointment. | Don't give medical, legal, financial, or regulated advice unless your workflow allows it. Don't collect unnecessary sensitive information. |
| Property viewings | When a buyer, tenant, or lead asks to see a property, selects the right viewing type, checks slots, and books it, capturing basic visit details. | Don't make up viewing availability, property details, or locations. Don't collect unnecessary financial or identity information. |
| Customer success meetings (onboarding, QBRs, renewals, account reviews) | Picks the right meeting type, offers available times, and books the meeting with the customer. | Don't make up availability, account details, or renewal terms. Ask a question if several meeting types match. |
Setting up Calendly AI Actions
Step 1: Install Calendly AI Actions
Steps
- Go to Aircall Dashboard > Integrations > Apps.
- Install the Calendly integration if it isn't there yet, then open it.
- Select the AI Actions tab.
- Install the Calendly AI Actions.
Next, configure your agent with the actions, action groups, and use cases that fit the scheduling workflow you want to automate. Step 2 and the sections below show how.
Note: Installing the AI Actions only makes them available. An agent uses them once you add them in Step 2.
Step 2: Add Calendly actions to your AI Voice Agent
Steps
- Go to Aircall Dashboard > AI Agents > AI Voice Agents and open the agent you want to configure.
- Under Functional abilities, click AI actions.
- Click + Add action.
- In Select from integrations list, search Calendly and pick an action.
- Review the preset instructions and required inputs, then click Add action. Repeat for each action you want the agent to use.
- Click Save.
- Click Activate agent to start using it for your calls.
Note: If a Calendly action is missing from the dropdown, the Calendly AI Actions aren't installed yet. Go back to Step 1.
Starter prompt
Here's a starting prompt for a complete scheduling conversation. Paste it into your Conversation guidelines and adapt it to your agent.
COMPLETE AN END-TO-END CALENDLY SCHEDULING FLOW
Turn a scheduling conversation into a confirmed Calendly meeting.
1. Use 'Get User Details' to resolve the connected host.
2. Use 'List Event Types' to select the correct active/bookable event type when needed.
3. Use 'List Available Times' whenever the caller asks what slots are available.
4. When the caller chooses a slot or requests an exact time and provides required invitee details, use 'Create Meeting'.
5. After booking succeeds, use 'Get Event' with the returned resource.event URI if final details are needed.
6. Confirm the final appointment in natural language.
Never guess URIs, slots, locations, invitee details, or timezone. Keep availability-checking separate from booking unless the caller explicitly asks to book.
Step 3: Testing your setup
Test in two stages before you go live.
AI Actions Testing tab (MCP Playground)
- Go to Aircall Dashboard > Integrations > Apps.
- Open your Calendly integration and go to the AI Actions Testing tab, which opens the MCP Playground.
- Select an action from the dropdown and fill in its parameters.
- Click Execute to check the connection. The result appears in the Output panel.
Tip: To test List Event Types, run Get User Details first, then copy the uri value from its response into the user field.
Test call
- Go to Aircall Dashboard > AI Agents > AI Voice Agents and open the agent you want to test.
- Click Test Call to simulate a real conversation from start to finish.
Important: Test calls use AI Voice Agent minutes and can create real Calendly meetings. Create Meeting is a write action, so anything it books during testing is a real meeting.
Tip: If an action fails in the MCP Playground, check the Calendly connection. If it works there but the agent didn't use it on a call, check that the action is added to the agent and that your Conversation guidelines say when to use it. After each change to your rules, make a new test call.
Guidelines for every Calendly agent
- Check availability before offering times, and report only the times Calendly returns.
- Book only when the caller has given a specific date and time and the required details.
- For an exact-time request, book that exact time. Otherwise, keep checking availability and booking separate.
- Never guess or make up Calendly URIs, links, IDs, meeting types, slots, locations, emails, names, or timezones. Use the exact details Calendly returns.
- Use the caller's timezone for relative dates and local times.
- Confirm human-readable details only, such as meeting type, date, time, timezone, location, and status. Never read out raw Calendly links or URIs.
FAQs
Does the agent book real meetings in my Calendly?
Yes. Create Meeting books a real meeting on the connected Calendly account.
Can the agent check availability without booking?
Yes. Checking availability and booking are separate actions. Unless the caller explicitly asks to book, the agent keeps them separate.
What does the agent need to book a meeting?
A specific date and time, plus the required details, such as the caller's name, email, and timezone.
What if I have several meeting types in Calendly?
In the starter prompt, the agent matches the meeting type by name, purpose, duration, or context. If only one meeting type is available, it uses that one. If several could match, it asks a short question first.
Will the agent read out Calendly links?
No. It confirms human-readable details such as the meeting type, date, time, timezone, location, and status.