πŸ“…Appointment Booking

Appointment booking β€” Calendly and Google Calendar

Let customers book appointments directly from the chat using Calendly, Google Calendar, or any scheduling tool.

Updated 2 Mar 2026

How it works

Pivra embeds a booking link inside the chat conversation. When a visitor says something like "I'd like to book an appointment", the chatbot responds with your scheduling link. You can also receive webhook notifications when a booking is confirmed or cancelled, and those events can trigger automations.

Supported providers: Calendly, Google Calendar appointment scheduling, Cal.com, Acuity, and any URL-based booking tool.

Step 1 β€” Enable booking on your chatbot

  1. Go to Settings β†’ General on your chatbot
  2. Find the Appointment booking section
  3. Toggle on Enable booking
  4. Paste your booking URL (e.g. https://calendly.com/your-name/30min)
  5. Optionally set a booking prompt β€” the text the bot uses to offer the link (e.g. "Click here to book a time with us:")
  6. Save

The chatbot now offers your booking link when visitors ask about appointments, meetings, or booking.

Step 2 β€” Test it locally

Start your local stack (pnpm dev), then open a test chat on your chatbot's preview page:

  1. Type something like: "I'd like to book a meeting"
  2. The bot should respond with your booking URL as a clickable link
  3. Clicking the link opens your Calendly/Google Calendar page

If the booking link doesn't appear, check that Enable booking is on and the URL is saved correctly.

Step 3 β€” Set up Calendly webhooks (optional)

Webhooks let Pivra receive events when someone books or cancels, so you can trigger automations (email alerts, CRM updates, etc.).

In Calendly

  1. Go to Calendly Developer Portal β†’ Webhooks
  2. Create a new webhook subscription
  3. Set the URL to: https://your-api-domain.com/api/booking/webhooks/calendly
  4. Select events: invitee.created, invitee.canceled
  5. Copy the signing key Calendly generates

In Pivra Dashboard β†’ Booking

  1. Go to Dashboard β†’ Booking (under Integrations in the sidebar)
  2. Click New booking integration
  3. Fill in:
    • Name β€” e.g. "Calendly β€” 30 min consult"
    • Provider β€” Calendly
    • Booking URL β€” your Calendly link
    • Webhook secret β€” the signing key from step above
  4. Save

Verify the webhook is working

In the Booking dashboard, click the integration row to expand it. You'll see the Webhook URL to paste into Calendly. After your next booking, the status shows Confirmed and the booking appears in the list.

Step 4 β€” Google Calendar appointment scheduling

Google Calendar's appointment scheduling feature generates a booking URL like: https://calendar.google.com/calendar/appointments/schedules/...

Add this URL exactly as your Booking URL in step 1 β€” no webhook setup required. Google Calendar doesn't send webhook notifications to third-party services, so you won't receive booking confirmation events in Pivra, but the booking link itself works perfectly.

Testing the full flow end-to-end

  1. Paste your Calendly link into a test booking integration in the Booking dashboard
  2. Send a Calendly test webhook from the Calendly developer portal (Webhooks β†’ Send test)
  3. Check the Pivra Booking dashboard β€” the test booking should appear with status Confirmed
  4. If you have an Action set up for booking.confirmed, check the Actions β†’ Logs to verify the event fired

Troubleshooting

IssueFix
Bot doesn't show booking linkCheck Enable booking is on and URL is saved
Webhook not receivedVerify the URL in Calendly matches exactly; check Calendly developer portal for delivery errors
Signature verification failedRe-copy the signing key from Calendly and update the Webhook secret in Pivra
Booking shows as "pending"The webhook was received but not yet processed β€” refresh in 30 seconds

Was this helpful?

If you have questions or suggestions, email us at support@pivra.ai .