Skip to main content

Overview

Outlit automatically detects when visitors complete bookings through embedded calendar widgets from Cal.com and Calendly. No extra code required—just install the tracking snippet and booking events are captured.

Supported Platforms

PlatformDetection Method
Cal.comCal.com embed API
CalendlyCalendly postMessage events

What Gets Tracked

When a visitor books a meeting, Outlit captures:
PropertyDescription
provider"cal.com" or "calendly"
eventTypeMeeting title (e.g., “30 Minute Demo”)
startTimeScheduled start time (ISO format)
endTimeScheduled end time (ISO format)
durationMeeting length in minutes
Calendar booking events appear in your timeline as “Meeting Requested” activities—distinct from calendar sync events, so you won’t see duplicates.

Configuration

Calendar embed tracking is enabled by default. To disable it:
<script
  src="https://cdn.outlit.ai/stable/outlit.js"
  data-public-key="pk_your_public_key"
  data-track-calendar-embeds="false"
  async
></script>
data-track-calendar-embeds
string
Set to "false" to disable automatic calendar booking detection.

Limitations

Auto-identify is not available for calendar embed bookings. Cal.com and Calendly do not expose attendee email or name in their client-side events for privacy reasons.
To identify visitors who book meetings, use webhooks from your calendar provider:
  1. Set up a webhook in Cal.com or Calendly
  2. Receive the booking details (including email) on your server
  3. Call the Outlit API to identify the visitor
// Server-side: after receiving webhook
await outlit.identify({
  email: webhookData.attendee.email,
  traits: {
    name: webhookData.attendee.name,
    bookedMeeting: webhookData.eventType
  }
})

Example Timeline

A typical visitor journey with calendar booking:
  1. Pageview — Visitor lands on /demo
  2. Calendar Booking — Visitor books “30 Minute Demo” via Cal.com embed
  3. Identify — Your webhook handler identifies the visitor with their email
All three events are linked to the same visitor, giving you full context.