LuriaDocs
Install

Count Calendly bookings

Connect Calendly with a personal access token so every booking, cancellation and no-show reaches Luria from Calendly itself and credits the page version the visitor saw.

plain textupdated 2026-09-30

About 5 minutes

Connect Calendly and each booked call reaches Luria from Calendly, not from a thank-you page. Cancellations, reschedules and no-shows update the same booking, so your booked-call numbers stay right.

Luria creates one webhook in your Calendly account and deletes it when you disconnect. It never books, cancels or edits anything.

What you'll need

  • The Luria tag on the page that shows your Calendly embed (Install on a custom site)
  • A Calendly Standard plan or above (Calendly only offers webhooks on paid plans)
  • Connections in the Luria dashboard. It is rolling out; if you do not see it, email hello@luriart.com

Steps

Step 1: Create a personal access token

In Calendly open Integrations → API & Webhooks, click Generate new token, name it Luria, and give it these scopes: users:read, webhooks:read, webhooks:write, scheduled_events:read. Copy the token; Calendly shows it once.

Step 2: Paste it into Luria

In luriart.com/app open Connections → Calendly and paste the token. Luria checks it, subscribes to bookings, cancellations and no-shows for your own Calendly user, and shows each check as it passes.

Step 3: Pass the visitor's Luria id into the embed

Calendly keeps utm_content with each booking, so put the visitor's Luria id there. For an inline embed:

<div id="calendly-embed" style="min-width:320px;height:700px"></div>
<script src="https://assets.calendly.com/assets/external/widget.js"></script>
<script>
  Calendly.initInlineWidget({
    url: "https://calendly.com/YOUR_LINK/30min",
    parentElement: document.getElementById("calendly-embed"),
    utm: { utmContent: localStorage.getItem("luria_sid") || "" }
  });
</script>

On a plain Calendly link, add ?utm_content= plus the same id. Without it Luria matches by the invitee's email when that email already reached Luria; otherwise the booking still counts in your numbers, just not toward a split test.

Step 4: Remove any booking thank-you line

If a thank-you or /booked page counts the booking with window.luria.convert("booked_call"), or you rely on the /booked path being auto-counted, remove it. Calendly is the record now, and keeping both counts the call twice.

Verify it worked

  1. Connections → Calendly shows Token accepted and Webhook active.
  2. Book a test call from your own page. Within a minute the card shows "Last booking event received", and if your goal is Booked calls, "Conversions this period" on Overview goes up by one.
  3. Cancel the test call. The booking changes to cancelled instead of adding a second row.

Full checklist: Verify your install.

Common failures

  • "It needs a Standard plan or above". The Calendly account is on the free plan, which has no webhooks.
  • "Webhook disabled" on the card. Calendly turns a webhook off after 24 hours of failed deliveries. Reconnect to create it again.
  • Bookings arrive but no test gets credit. utm_content is empty; check Step 3 runs after the Luria tag has loaded once on that browser.
  • Only your own bookings arrive. The connection covers the Calendly user who made the token. For a whole team, email hello@luriart.com.
  • Counted twice. A thank-you line is still active. See Step 4.

Next steps

On this page