Appointment Created
Overview
·Event key:appointment.createdWebhook triggered when a new appointment/tour is scheduled in Funnel Leasing. This event carries the same appointment fields as appointment.updated except status, since a brand-new appointment has no prior status transition to report.
This event fires once, at the moment a new appointment/tour is scheduled.
Appointment creation sends two separate webhooks. When an appointment is created, Funnel sends appointment.created and then immediately sends appointment.updated — two distinct POST requests for the same booking, not one. Your callback handler must be idempotent and treat both as describing the same appointment (matched by funnel_tour_id) rather than assuming each POST represents a different appointment. Later changes to an existing appointment (time, status, units, etc.) only ever send appointment.updated, never a second appointment.created.
Event Payload
Use unit_pms_ids, not pms_unit_ids, when you need to link the tour to specific units in your PMS — despite its name, pms_unit_ids actually contains Funnel unit ids.
What counts as a successful delivery: Funnel treats any 2xx HTTP status code as success — it does not check the response body at all, so returning any content (or none) with a 2xx status is sufficient. If your endpoint returns a non-2xx status or is unreachable, Funnel retries the delivery up to 2 more times (3 attempts total), waiting roughly 60 seconds and then 120 seconds before each retry, so your handler must be idempotent.
This legacy webhook is deprecated. For new integrations, we recommend using the modern webhooks v2 system, which provides:
- Better event structure with consistent formatting
- More granular events for different activities
- A dedicated delivery pipeline — see the Webhooks Walkthrough for what's documented about its delivery behavior
- Enhanced security features