Cal.com Integration

Connect Cal.com so your AI voice agents can check availability and book meetings during calls, with events landing on your real calendar.

Cal.com is open-source, self-hostable scheduling. Your dialnote AI voice agents can check your Cal.com availability and book meetings while they're on a call. A caller asks for an appointment, the agent finds open slots, offers times, and creates the booking in Cal.com.

There are two parts to this: connect your Cal.com account once, then add a calendar action to an agent.

What you'll need#

  • A Cal.com account on cal.com (self-hosted Cal.com instances can't be connected)
  • At least one Event Type set up in Cal.com
  • A Cal.com API key

Step 1: Connect Cal.com#

Go to Settings → Integrations and find the Scheduling section. Click Connect on the Cal.com card. You'll enter a label (so you can tell accounts apart) and paste your API key.

To get the key, click Where do I find my API key? in the modal, or follow these steps in Cal.com:

  1. Open Cal.com → Developer → API keys
  2. Click + Add and name the key (e.g. "dialnote")
  3. Turn the Never expires toggle on so the integration doesn't break later
  4. Click Save
  5. Copy the key right away — Cal.com only shows it once

You can connect more than one Cal.com account — use Connect Another to add a second. Each connected account can be renamed (pencil icon) or removed (trash icon, with a confirmation).

Connecting just stores your credentials. To actually use Cal.com on a call, add an action to an AI agent next.

Step 2: Add a calendar action to your agent#

Open an AI agent and go to the Actions step in the wizard. Click Add action, then pick one of these:

ActionWhat it does
Check AvailabilityLooks up open time slots so the agent can offer times
Book MeetingCreates a confirmed booking in Cal.com

Most agents use both. The agent checks what's open, then books the caller's pick.

For Book Meeting, you'll go through a short two-step setup (Basic Info, then Configuration):

  1. Choose Cal.com as the provider
  2. Pick the connected Cal.com account (or connect a new one right there)
  3. Select the Event Type the agent should book
  4. Choose a Meeting Location from the dropdown — it lists the locations configured on that Event Type and defaults to the first one

Test the connection#

Each calendar action has a Test connection panel so you can confirm it's wired up before going live. For Book Meeting, the test creates a real booking on your calendar and then cancels it automatically, so you can see the full flow without leaving a stray event behind. You'll confirm a Run a real test booking? dialog first, and you'll get an invite email and a cancellation email for the test. If the automatic cancellation fails, click Cancel the test booking to remove it yourself.

How a booking goes#

  1. Caller asks to schedule a meeting
  2. Agent uses Check Availability to find open slots
  3. Agent offers times and the caller picks one
  4. Agent collects the caller's name and email
  5. Agent uses Book Meeting to create the appointment
  6. Cal.com sends confirmation emails to both parties

The whole thing takes under a minute. Callers get instant confirmation with no callback.

Troubleshooting#

"Invalid Cal.com API key" — The key may have been deleted or, if you set an expiration, expired. Generate a new one in Cal.com's Developer settings and reconnect.

"Your Cal.com event type is missing or misconfigured" — The Event Type may have been deleted or turned off in Cal.com. Edit the action, click Change next to API Key, and pick a different one.

Team events don't show up — A personal API key only sees your own event types. For team scheduling, reconnect with a team-scoped key.

The slot was taken — Someone booked it between the check and the confirmation. The agent tells the caller that time isn't available anymore and asks if they'd like to pick a different one.

What's next#

The full list of tools dialnote connects to is on the integrations page.