How to Set Up Virtual Consultations with Auto-Generated Google Meet Links

Customers pick "virtual" on your booking page. Botline calls Google Calendar, generates a Meet link, and ships it on WhatsApp.

·5 min read

What you get

Service-based businesses increasingly run hybrid: some sessions in-person, some over video. Botline lets you offer both from the same booking page without two separate setups. Per-service you pick the allowed modes — in-person only, virtual only, or customer chooses. When the customer picks virtual, Botline calls the Google Calendar API to create the event AND generates a Meet link via conferenceDataVersion=1 — the same flow Calendar uses internally.

The link lands in:

  • The customer's WhatsApp confirmation message.
  • The 24-hour reminder.
  • The 2-hour reminder.
  • The 15-minute "join now" reminder (new in v5.2.116).
  • The Google Calendar event invite both sides receive by email.

No copy-pasting. No "wait, where's the link?" five minutes before the call.

Step 1 — Connect Google Calendar

  1. Open Settings → Integrations → Google Calendar.
  2. Click Connect Google Calendar. You'll be redirected to Google's OAuth consent screen.
  3. Sign in with the Google account whose calendar you want bookings to land on (typically your business email).
  4. Grant Manage events permission. Botline does NOT request read access to your existing events — it can only create / update events it owns.
  5. You'll be returned to the dashboard with a green Connected badge.

Tip: if you have a shared "Bookings" calendar separate from your personal one, switch to that account before connecting. The integration writes to the primary calendar of whichever account you connected.

Step 2 — Mark services as virtual-capable

Each service can independently be in-person, virtual, or hybrid. The picker lives in the service editor:

Consultation · 60 min
How can customers attend?
Virtual settings
Virtual duration
45 min
Virtual price
PKR 4,500

Virtual sessions can have a different duration and price than in-person — many tenants charge less for virtual since there's no room overhead. The booking page renders both options and lets the customer pick at submit time.

Step 3 — Test with one booking

  1. Open your booking page in an incognito window.
  2. Pick a virtual-enabled service.
  3. Choose Virtual when prompted.
  4. Enter your own phone number and email, submit.
  5. Confirm the WhatsApp YES (or click Confirm now in dashboard if you're in Manual mode).

Within ~5 seconds you should see:

  • An event in your Google Calendar with a Meet link in the location field.
  • A WhatsApp message to your phone containing the Meet URL.
  • A Google Calendar invite email with the same link.

If any of these are missing, check Settings → Integrations → Google Calendar for a red error chip — usually it means the OAuth scope expired (re-connect) or your Calendar account hit a quota (rare).

Step 4 — Customize the WhatsApp message templates

Each reminder type has its own template under Settings → Templates. The virtual template includes a {{meetLink}} placeholder — keep it in there. The 15-minute reminder also includes Click to join 👉 language by default; you can soften this for less-tech-comfortable audiences (e.g. clinic patients).

The dashboard shows a 🎥 Up Next — Virtual sticky panel on the appointments page when a virtual session is starting in <60 minutes, with a one-click Join Call button for you. No need to dig through the calendar.

Best practices

  • Match the price to the value. If virtual is materially shorter or simpler, charge less and say so on the booking page. Customers respond to fair pricing.
  • Set a buffer. Add a 10-15 minute buffer between consecutive virtual sessions in your service settings. Back-to-back Meet calls always need a coffee break.
  • Test the 15-min reminder. The "join now" reminder is the highest-impact message in the chain — verify it lands on time on a clean test number.
  • Pair with deposits. Virtual sessions have a higher no-show rate than in-person. Soft 24h confirm + a small deposit (PKR 500-1000 / AED 50) drops no-shows to near zero.
  • Don't charge separately for the link. The Meet link is automatic and free; framing it as a feature ("includes secure video link") is fine, but don't add a line-item charge for it.

Ready to automate your WhatsApp?