Journey Events

Journey-native webhooks use the flat sanitized payload (api_version: "2026-08-17"). Deduplicate on event_id. Money is integer cents. Name slugs and template_display_name neutrally. landing_url and referrer_url follow the Attribution Passthrough validation and sanitization rules.

EventFunnel meaningFires once?
Journey Contact CapturedLead — contact persisted on the journey patient. No money fields, no first_purchase, no raw email/phone.Yes, per journey
Journey Checkout StartedPatient entered checkout.Per checkout start
Journey CompletedIntake finished for this journey. Deduplicate deliveries on event_id. Per-patient aggregation is a separate business rule, not delivery idempotency.Per journey
Journey Abandoned6-hour inactivity. Gate recovery on had_cart. first_purchase only when had_cart is true.Yes, per journey
Custom Intake Form CompletedAn affiliate custom intake form instance becomes valid (required questions answered), including flows completed before login (webhook after patient link). Includes a responses snapshot and intake form ids; journey_id when present. No money or template fields.Yes, per intake form instance

See Attribution Passthrough for landing_url / referrer_url and the params bag.