How can we help you?

Appointment Booking Configuration Guide

Appointment Booking Configuration Guide

How appointment booking works

When a customer asks to book an appointment, the bot follows a two-layer decision:

Layer 1 — Does a booking integration exist for this site?

The bot automatically checks which integrations are configured. If any of these are active, the bot uses them directly:

  • VAST Retail (auto service) — books appointments inside the VAST system
  • Square Appointments — books via Square calendar
  • Calendly — sends the customer a Calendly booking link
  • Outlook Calendar — schedules directly in the company's calendar

When an integration is active, the bot uses it automatically. No extra configuration needed.

Layer 2 — No booking integration? Use the fallback mode.

When none of those integrations are configured, the bot uses the Appointment Booking setting on the bot config. Go to Admin → Bots → [Bot] → Settings (General tab) → Appointment Booking.

---

Appointment Booking fallback modes

None (default)

No special instruction is given. The bot handles appointment requests using its general knowledge.

Use when: The bot's prompt already addresses appointments explicitly, or a booking integration is active.

Risk: Without a booking integration or explicit instructions, the bot may collect appointment details it cannot use.

Direct to website URL

The bot directs customers to a booking website you specify.

  • On IVR (phone calls): Bot offers to text or email the link to the caller. It does NOT collect date/time/vehicle details first — it announces the URL option immediately.
  • In web chat: Bot sends the link directly in the conversation.
  • Requires: Enter the booking URL in the field that appears when you select this mode.

Transfer to live agent

The bot transfers the customer to a live agent for scheduling.

  • On IVR with transfer enabled: Bot uses the live transfer tool immediately, without collecting appointment details.
  • On IVR without transfer configured: Bot takes the caller's name and number for a callback.
  • In web chat: Bot offers to connect with a live agent.

Collect info and arrange callback

The bot gathers the customer's contact details and queues a callback.

  • On IVR: Bot collects name and best callback number, then queues the callback.
  • In web chat: Bot collects name and phone/email, then lets the customer know someone will follow up.

---

Channel-specific behavior

A single bot config works across all channels. The bot automatically adapts its response based on how the customer is contacting you:

Channel How "Direct to URL" works How "Transfer" works
Phone (IVR) Offers to text or email the link Uses live transfer tool or takes callback
Web chat Sends the link directly in chat Offers agent queue transfer
SMS Sends the link in the text message Takes contact info for follow-up
WhatsApp Sends the link in the message Takes contact info for follow-up

Important: A workflow that supports multiple channels (e.g. both IVR and webchat) uses the same bot config. The bot automatically picks the right behavior for each conversation based on how it came in.

---

How "text or email the link" works on IVR

When mode is Direct to website URL and the customer calls in, the bot delivers the link out-of-band (it cannot read a URL aloud on a phone call). Two gates must both be on for a delivery option to appear:

Gate 1 — Subscription channel (site-level):

  • SMS channel must be active on the site's subscription (EnableSms)
  • Email channel must be active on the site's subscription (EnableEmail)

Gate 2 — Bot toggle (per-bot):

  • Offer to send via SMS must be on in the bot's Link Delivery settings
  • Offer to send via email must be on in the bot's Link Delivery settings

Result matrix:

  • Both gates on for SMS → Bot says "I can text you the link"
  • Both gates on for email → Bot says "I can email you the link"
  • Both on for both → Bot says "I can text or email you the link"
  • Either gate off → that delivery option is suppressed; bot directs verbally if nothing is available

To configure the bot toggle: Admin → Bots → [Bot] → Settings → Link Delivery (IVR / Voice)

To check the subscription channel: Contact Velaro support or check Admin → Billing

---

When booking integrations ARE configured

If VAST, Square, Calendly, or Outlook are active for the site, the bot uses those tools directly. The fallback mode is still technically configured, but the bot's instructions say "if you don't have a booking tool available" — so the bot uses the integration tools and ignores the fallback.

You do not need to set the fallback mode to None when integrations are active. Both work simultaneously, with integration tools taking priority.

---

Common questions

Q: A customer called and the bot went through 4-5 questions about date, time, and vehicle — then said it couldn't book. Why?

A: The fallback mode was set to None (or not set), and no booking integration was configured. The bot had no instruction to immediately direct the caller to an alternative, so it collected details it couldn't use. Fix: set the fallback mode to "Direct to website URL" or "Transfer to live agent."

Q: The bot said "I can text you the link" but the customer never got a text. Why?

A: SMS sending requires EnableSms on the subscription AND the contact must have a phone number on file. Check the contact record and the site's SMS subscription flag.

Q: For IVR, does "Transfer to live agent" call the same number as the regular agent transfer?

A: Yes. It uses the bridge_call_to_agent tool, which connects to the transfer number configured in Integrations → Twilio → Transfer Number. If no transfer number is configured, the bot falls back to taking the caller's contact info.

Q: Can different bots have different appointment fallback settings?

A: Yes. Each bot (AIConfiguration) has its own Appointment Booking setting. One bot can use "Direct to website URL" and another can use "Transfer to live agent."

Q: Does this work if I use the same bot for both IVR and webchat?

A: Yes. The bot detects which channel the conversation is on and applies the appropriate behavior automatically.

Was this article helpful?