Calendly

Connect Calendly and the agent can offer open slots and confirm bookings during the call. The invite email goes out the moment the caller agrees — no follow-up required.

What it does

  • Real-time slot lookup — agent fetches your live availability before suggesting a time.
  • Three suggested slots — agent offers spread-out options ("Tuesday 2pm, Wednesday 10am, or Friday 4pm — which works?") so the caller picks.
  • Letter-by-letter email confirmation — agent reads the email back to confirm the spelling before sending. Stops typos becoming bounces.
  • Books server-side — uses Calendly's POST /invitees endpoint (paid Calendly plan required). The booking lands in Calendly with the same metadata as a normal booking.

Setting it up

  1. Connect Calendly in /dashboard/integrations. OAuth flow.
  2. Pick the default event type — typically your "Discovery call" or "Initial consultation". Agents will book into this by default; you can change it any time.
  3. Save.

The agent now has booking access. Next inbound call where the caller wants to schedule — booked.

What happens on a call

Caller: "Can I book a call with someone?"

Agent: "Of course — let me check the diary. Tuesday at 2pm, Wednesday morning at 10, or Friday at 4 — any of those work?"

Caller: "Tuesday's perfect."

Agent: "Great. I'll send the invite to your email — what's the best one?"

Caller: "alex.w@example.com."

Agent: "Just to confirm — A-L-E-X dot W at example dot com. Right?"

Caller: "Yep."

Agent: "Booked. You'll have the invite in a moment. Anything else?"

The booking lands in Calendly within 2-3 seconds. Customer gets the email. Done.

Pricing requirements

Calendly's API allows server-side bookings only on paid plans. If you're on the free Calendly tier, the agent can still send the booking link as an SMS — but you don't get on-call confirmation.

Common questions

What if no slots in the next 7 days? The agent extends the search to 14 days, then offers a manual scheduling link if still nothing.

Multiple event types? The agent uses the default you picked. To use multiple, create separate Foan agents — each with its own event type — and route different inbound numbers to each.

Buffer time? Configured in Calendly itself. Foan respects whatever you've set there.

Last updated 5 May 2026