Lawtté
← Back to blog

Setting Up Two-Way Calendar Sync: AI Receptionist & Cal.com

Setting Up Two-Way Calendar Sync: AI Receptionist & Cal.com

TL;DR

Two-way calendar sync between an AI receptionist and Cal.com means the AI can both read your availability and write new bookings to your calendar, while changes made on either side stay in agreement. For law firms, this eliminates double-bookings, enables 24/7 scheduling, and connects to practice management systems like Clio or MyCase. The setup involves API key authentication, Cal.com event types, and webhooks that push booking changes back in real time.

Already evaluating an AI receptionist for your firm? Book a demo to see how two-way calendar sync works with your existing tools.

What Two-Way Calendar Sync Actually Means

One-way sync copies events from a source calendar to a destination. The destination reflects the source, but never the reverse. If someone books a meeting directly on your Google Calendar, the scheduling platform has no idea it happened.

Two-way sync copies in both directions. Events created, edited, or deleted on either side are reflected on the other. Both calendars accept changes, and the sync tool reconciles them so neither falls behind.

In the context of an AI virtual receptionist, two-way sync means the AI reads your Cal.com availability to find open slots, books appointments when callers request them, and then receives webhook notifications when you cancel or reschedule directly in your calendar. The AI’s picture of your availability stays current at all times.

Here’s a simple rule: ask which calendar someone might book a meeting on. If the answer is “only one of them,” one-way sync is enough. If the answer is “either one,” you need two-way.

One-Way vs. Two-Way: Quick Comparison

Feature One-Way Sync Two-Way Sync
AI reads your calendar availability Yes Yes
AI writes new bookings to your calendar No Yes
Calendar changes flow back to AI No Yes
Double-booking risk High Low
Manual re-entry required Yes No
Real-time availability accuracy Partial Full

Three Levels People Confuse

Practitioners on Reddit and Cal.com’s GitHub discussions often conflate three things when searching for “two-way sync”:

  1. Visibility both ways. Solvable with two read-only calendar subscriptions. Cheap but limited.
  2. Editing in either direction. Not available natively through simple subscription URLs. Requires API integration.
  3. Mirrored full state. Every create, update, and delete reflected on both sides in near-real-time. Requires webhooks and proper API wiring.

If you only want visibility, a native ICS subscription works, but it refreshes slowly (often an 8 to 24 hour delay). If you want options 2 or 3, you need an API-driven sync layer, which is exactly what setting up two-way calendar sync between an AI receptionist and Cal.com provides.

Why Two-Way Sync Matters for Law Firms

The Double-Booking Problem

Without two-way sync, a potential client might call and book a 2:00 PM consultation through your AI receptionist while an associate just filled that slot through Outlook. One-way sync means the scheduling platform can see when you’re busy but can’t write new appointments back, and it can’t learn about changes happening on the calendar side. The result is overlapping appointments, frustrated clients, and wasted attorney time.

Two-way sync eliminates this entirely. The AI checks real-time availability before offering a slot, books it instantly, and the event appears in your synced Google Calendar or Outlook immediately.

After-Hours Advantage

Research shows that 57% of law firm communications happen outside traditional business hours. Meanwhile, Clio’s 2024 mystery-shopper study found that a person answered only 40% of calls to law firms, down from 56% in 2019. That gap represents lost revenue.

An AI receptionist with proper two-way calendar sync can book consultations at 10 PM on a Saturday, and the booking is real. It shows up on the attorney’s calendar. No one needs to follow up Monday morning to confirm. For personal injury firms especially, where the first firm to respond wins the client 78% of the time, this speed matters.

No More Manual Data Entry

When sync is truly bidirectional, bookings flow from the AI receptionist into Cal.com, then into Google Calendar or Outlook, and from there into your practice management system. Each step happens automatically. Staff aren’t copying appointment details from a voicemail into Clio at 8 AM. The data is already there.

How It Works: The Technical Flow

Setting up two-way calendar sync between an AI receptionist and Cal.com follows a predictable pattern, regardless of which AI receptionist you use.

Step 1: AI queries Cal.com for availability.
The AI receptionist calls Cal.com’s GET /v2/slots endpoint to check available time slots for a specific event type. This returns real-time openings based on your configured availability and any events already on your connected calendars.

Step 2: Caller picks a time; AI creates the booking.
When the caller selects a slot, the AI sends a POST /v2/bookings request with the required fields: event type ID, start time (in ISO 8601 format), and the attendee’s email. Cal.com processes the booking instantly.

Step 3: Cal.com writes the event to your calendar.
The confirmed booking appears on whichever calendar you’ve connected to Cal.com, whether that’s Google Calendar, Outlook, or iCloud. The caller receives an automatic confirmation email.

Step 4: Webhooks push changes back.
This is what makes the sync two-way. Cal.com fires webhook events (BOOKING_CREATED, BOOKING_CANCELLED, BOOKING_RESCHEDULED, and others) to a subscriber URL configured by your AI receptionist platform. If an attorney cancels directly in Google Calendar and that change syncs back to Cal.com, the webhook notifies the AI system, which updates its availability picture.

After a booking is created, many firms route the data into their AI intake workflow so the lead is qualified and tagged before anyone reviews it.

The entire cycle, from phone call to calendar event to intake record, can happen in under 60 seconds without a human touching anything.

Key Components Explained

API Key Authentication

Cal.com authenticates AI receptionist connections through API keys. You generate one in your Cal.com account settings, then provide it to your AI receptionist platform. The key goes in the request header for every API call. Cal.com’s rate limits are reasonable at 120 requests per minute with API key authentication, which is more than enough for even busy multi-attorney firms.

Event Types

Event types in Cal.com are your scheduling templates. Each one defines the duration, buffer time, location, and availability rules for a particular kind of meeting. For law firms, these map directly to consultation types: a 30-minute personal injury screening, a 60-minute family law consult, a 15-minute bankruptcy assessment.

When setting up for family law, for example, you’d create separate event types for initial consultations versus follow-up meetings, each with different intake questions and attorney assignments.

Webhooks

Webhooks are what make the “sync back” mechanism work. Instead of your AI receptionist constantly polling Cal.com to ask “did anything change?” (which wastes API calls and introduces lag), Cal.com proactively pushes notifications when events occur.

You can configure webhooks at the user level, event-type level, or team level. Cal.com currently supports triggers for booking created, cancelled, rescheduled, rejected, requested, paid, and several more. This granular control means you can, for instance, fire a different automation when a paid consultation is booked versus a free screening.

Connected Calendars

Cal.com acts as a bridge between your AI receptionist and whatever calendar your attorneys actually use day to day. It supports connections to Google Calendar, Outlook, and iCloud. When multiple calendars are connected, Cal.com checks all of them for conflicts before offering a slot, ensuring that a dentist appointment on your personal Google Calendar blocks out that time for client bookings too.

Common Setup Mistakes and How to Avoid Them

Setting up two-way calendar sync between an AI receptionist and Cal.com is straightforward when done correctly, but several pitfalls trip up first-time implementers.

Using Two One-Way Syncs Instead of One Two-Way Sync

Some administrators try to create bidirectional sync by layering two one-way connections. This creates duplicate events. One proper two-way sync connection handles both directions cleanly.

Stale Availability from ICS Subscription Delays

If you’re relying on ICS subscription URLs (the kind you get when you “subscribe” to a calendar), updates can take 8 to 24 hours to appear. That’s far too slow for appointment booking. Always use API-driven sync through Cal.com’s endpoints rather than passive calendar subscriptions.

Missing Required API Fields

Booking creation returns a 400 error when required fields are absent. At minimum, the API needs eventTypeId, start (in ISO 8601 format), and the attendee’s email. Timezone format errors are the most common culprit. Make sure your times include proper UTC offsets.

The “No Available Users” Ghost Error

Developers on Cal.com’s GitHub repository report a known and recurring issue where API calls return a no_available_users_found_error even when the Cal.com UI shows the slot as available. This typically stems from timezone mismatches between the API request and the event type configuration. Double-check that both use the same timezone identifier.

Not Testing Webhook Accessibility

Your webhook subscriber URL must be publicly accessible for Cal.com to reach it. Firewalls, VPNs, and localhost URLs during development are common blockers. Test with a tool like Webhook.site before going live.

Double-Booking Race Conditions

One voice agent developer shared a practical solution on a forum: give Google Calendar a deterministic event ID derived from the caller and the slot. That way, if a retried API call inserts the same ID, Google returns a 409 conflict (which you treat as success) instead of creating a second event. This kind of idempotency guard matters when handling concurrent callers.

If you want to see how these issues are handled in a purpose-built legal context, explore the complete intake solution to understand how scheduling connects to lead qualification.

Cal.com vs. Calendly for AI Receptionist Integration

This comparison comes up constantly, and the answer is clear for AI receptionist use cases: Cal.com wins on technical flexibility.

Before adopting Cal.com, AI voice platform Retell AI found that integrating Calendly was cumbersome due to limited developer support and an inflexible API. Handling real-time slot availability and timezone complexities required extensive custom work. After switching to Cal.com, Retell AI reported saving 2+ days of development time per customer by using Cal.com’s pre-built scheduling capabilities.

Cal.com’s advantages for AI receptionist integration:

  • Open-source flexibility. You can audit the code, extend functionality, and self-host the entire platform. For law firms with strict confidentiality obligations, this matters. You control where your data lives.
  • API-first design. Cal.com’s REST API follows clean conventions with a base URL, API key headers, standard HTTP methods, and JSON everywhere. The three endpoints AI agents use most (/v2/slots, /v2/bookings, /v2/availability) cover the full scheduling lifecycle.
  • Webhook granularity. User-level, event-type-level, and team-level webhook configuration gives precise control that Calendly doesn’t match.
  • Rate limits. Cal.com allows 120 requests per minute. For comparison, Calendly’s API limits are more restrictive for high-volume use cases.

Calendly remains a fine tool for individuals sharing booking links. But for programmatic scheduling where an AI agent needs to check slots and create bookings through API calls dozens or hundreds of times per day, Cal.com is the better foundation.

How This Fits Into a Law Firm’s Tech Stack

The calendar sync between your AI receptionist and Cal.com isn’t the end of the chain. It’s the middle.

The full integration path looks like this:

AI Receptionist → Cal.com → Google Calendar/Outlook → PMS (Clio, MyCase, Filevine)

Each link serves a purpose. The AI receptionist handles the client-facing interaction. Cal.com manages scheduling logic, availability, and booking confirmation. Your calendar gives attorneys visibility into their day. And your practice management system becomes the system of record where the matter lives.

An AI scheduling tool is only as good as its ability to sync with the rest of your tech stack. If the AI agent operates in a silo, it risks double-booking attorneys or creating fragmented data that your staff must manually clean up. The firms that get the most value from two-way calendar sync are the ones who connect it all the way through to their PMS.

Lawtté’s platform, for example, integrates with Clio, Filevine, MyCase, CasePeer, Lawmatics, PracticePanther, and Litify, so booking data flows from the initial call through intake and into the matter record without manual re-entry. You can see how scheduling fits into the full product suite alongside case management and lead nurture tools.

For firms in specific jurisdictions, the integration chain can also account for local requirements. California law firms often have particular needs around data residency and client communication documentation that a properly configured two-way sync supports.

Multi-Attorney Calendar Routing

For firms with multiple attorneys, Cal.com supports team-based scheduling. The typical setup:

  1. Create a master Cal.com account for the firm. This generates the API key your AI receptionist uses.
  2. Create individual Cal.com accounts for each attorney. These can use Cal.com’s free individual plan.
  3. Configure event types with round-robin or collective scheduling rules.

When a caller asks the AI receptionist for a personal injury consultation, the system checks availability across all PI attorneys and offers the first open slot. The booking routes to the specific attorney whose calendar had availability.

This approach scales from a two-partner firm to a multi-office practice without changing the underlying architecture. The AI receptionist doesn’t need to know which attorney is available. Cal.com handles that logic.

Putting It All Together

Setting up two-way calendar sync between an AI receptionist and Cal.com transforms how law firms handle inbound scheduling. The technical pieces (API keys, event types, webhooks, connected calendars) work together to create a system where a caller can book a real consultation during a single phone call, at any hour, without a human intermediary.

The numbers support it: real-time calendar sync can boost bookings by up to 30%, automation reduces manual scheduling work by up to 80%, and automated reminders decrease no-shows by 30 to 45%.

For law firms losing potential clients to voicemail every evening and weekend, two-way sync isn’t a nice-to-have. It’s the infrastructure that turns missed calls into booked consultations.

Ready to stop losing after-hours leads? Book a demo with Lawtté to see two-way calendar sync working with your firm’s calendar and PMS.

FAQ

What is the difference between one-way and two-way calendar sync for an AI receptionist?

One-way sync lets the AI read your calendar to see when you’re busy, but it can’t write new bookings back. Two-way sync works in both directions: the AI reads availability and creates bookings, while changes you make directly in your calendar (cancellations, reschedules) flow back to update the AI’s availability picture. Two-way sync is what prevents double-bookings.

Do I need a paid Cal.com plan to set up two-way calendar sync with an AI receptionist?

For a single user, Cal.com’s free plan supports calendar connections and API access. For multi-attorney routing, the master account typically needs a paid plan, but individual attorney accounts can often use the free tier. Check Cal.com’s current pricing for team features.

How fast does two-way sync update availability?

API-driven sync through Cal.com is near-instant. When a booking is created or cancelled, webhooks fire immediately. This is dramatically faster than ICS subscription-based sync, which can take 8 to 24 hours to reflect changes.

Can I connect multiple attorneys’ calendars to one AI receptionist through Cal.com?

Yes. Cal.com supports team-based scheduling with round-robin and collective booking rules. You create a master account, add individual attorney calendars, and the AI receptionist uses a single API key to query availability across all of them.

What happens if the AI receptionist and an attorney try to book the same slot simultaneously?

Cal.com checks availability at the moment of booking. If two requests arrive for the same slot, the first one succeeds and the second returns an error. Well-built AI receptionist platforms handle this gracefully by offering the caller an alternative time. Some developers also implement idempotency guards using deterministic event IDs to prevent duplicate bookings from retried API calls.

Does two-way calendar sync work with practice management systems like Clio or MyCase?

The sync chain typically runs AI Receptionist to Cal.com to Google Calendar/Outlook to PMS. Cal.com doesn’t connect directly to Clio or MyCase, but your calendar does. Some AI receptionist platforms (including Lawtté) also offer direct PMS integrations that push booking data into your matter records without relying solely on the calendar as an intermediary.

What are the most common reasons two-way calendar sync fails?

The top causes are: timezone mismatches in API requests, missing required fields (event type ID, start time, attendee email), webhook URLs blocked by firewalls, stale ICS subscriptions used instead of API sync, and the known Cal.com issue where the API returns “no available users found” despite slots showing as open in the UI. Most of these are configuration problems, not fundamental limitations.

Is Cal.com secure enough for law firm scheduling data?

Cal.com’s open-source nature means you can audit the code and, if needed, self-host it on your own infrastructure. This gives firms with strict confidentiality obligations control over where scheduling data lives. For cloud-hosted Cal.com, review their security documentation and ensure it meets your firm’s requirements for client data handling.

See it in action

Bring Lawtté to your firm.

Walk us through your intake and case workflow — we'll have your AI live in 14 days.

Book a Demo →
Put Lawtté on a real call

Your intake rules. Your systems. One live scenario.

Bring a call your firm handles every week. We'll show how Lawtté answers it, captures the right information, completes the next step, and sends the result into your workflow.

  • 30 minutes
  • Built around your practice
  • No generic slide deck
Book a workflow demo
Setting Up Two-Way Calendar Sync: AI Receptionist & Cal.com | Lawtté