Bland + Cal.com

Bland's 200ms voice agents check Cal.com availability and book the meeting before the call ends, then read back the time and link to the caller.

Cal.com

What Bland does inside Cal.com.

Books at conversation speed.

Bland agents respond in 200 milliseconds, so checking Cal.com and confirming a time feels like talking to a well-organized front desk.

Checks open times live.

The Get Available Times action reads open slots from Cal.com when the caller asks, so the agent only offers times that exist.

Books before hanging up.

The Schedule Meeting action creates the booking with the attendee's name, email, and timezone, collected in the conversation.

Confirms with real booking data.

The response returns meeting_url, booking_id, status, start_time, end_time, and attendee fields as variables the agent can read back or pass on.

Fixed where it should be.

Set the calendar once in Manual mode, let the agent fill caller details in Agent mode, and link system values like the caller's number.

Branches on the result.

Route on ok: a confirmation node when the booking lands, a recovery path that offers other times when it does not.

How it deploys.

  1. Generate a Cal.com API key.

    Create an API key in your Cal.com settings.

  2. Connect Cal.com in Bland.

    Open Integrations, choose Cal.com, click Add Connection, name it, and paste the API key.

  3. Build the booking tool.

    From the Actions panel, choose Create Booking, set each parameter to Manual, Agent, or Linked, and pick the response variables to keep.

  4. Attach and test.

    Add the tool to a persona or a Custom Tool node, then book a test meeting on a live call.

Our FDE team scopes the integration, maps Bland to your stack, and stays on through go-live. Enterprise deployments go live in 30 days.

Drop Bland into your editor.

MCP server runs in Claude Code, Cursor, and any MCP-aware editor. Or hit the REST API directly.

curl -X POST https://api.bland.ai/v1/calls \
-H "Authorization: $BLAND_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"phone_number": "+14155552120",
"task": "Qualify refi lead",
"voice": "june"
}'

Frequently asked questions.

Can an AI phone agent book meetings in Cal.com?

Yes. Connect Cal.com to Bland with an API key, then build tools on the Get Available Times and Schedule Meeting actions. The agent checks open slots and creates the booking during the call, then confirms the time with the caller.

What booking details does the agent get back from Cal.com?

The Schedule Meeting action returns the meeting URL, booking ID and UID, status, start and end times, and the attendee's name, email, and timezone, along with ok and message fields you can route on.

What happens if the time is taken or the booking fails?

The tool returns ok as false. Route that result to a node that offers other times or a callback, so every booking the agent confirms is a real one.

Should I use Cal.com or the Scheduling node?

Use the Cal.com integration if your calendar is in Cal.com. The Scheduling node is for other systems: it calls your own webhook for available slots and returns the caller's chosen time as a variable for you to book.

Who actually wires this up?

Our FDE team scopes the booking flow, connects your calendars, and stays on through go-live. Enterprise deployments go live in 30 days.

Related integrations.

See every integration on the integrations hub.

With our team

Our FDE team scopes the integration with you.

They map Bland to your stack, design the rollout, and stay on through go-live. Enterprise deployments go live in 30 days.

On your own

Or drop Bland into your editor.

The Bland MCP server runs in Claude Code, Cursor, and any MCP-aware editor. Or hit the REST API directly. Free sandbox, no credit card.