Appointment Updated
Overview
·Event key:appointment.updatedWebhook triggered when an appointment is created or updated in Funnel Leasing. This event provides information about tour appointments, including scheduling details and status updates.
This event is triggered when:
- Appointment creation: When a new appointment/tour is scheduled
- Appointment updates: When appointment details are modified (time, units, etc.)
- Status changes: When the appointment status changes (completed, cancelled, no show, etc.)
Appointment creation sends two separate webhooks. When an appointment is created, Funnel sends appointment.created and then immediately sends appointment.updated (this event) — two distinct POST requests for a single 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.
Event Payload
Appointment Status Values
The status field can have one of the following values:
completed- The appointment was successfully completedno show- The renter did not show up for the appointment (note: a space, not a hyphen)cancelled- The appointment was cancelled (note: double-l spelling)unknown- The stored appointment status is explicitly empty/unsetnull- The appointment is in a status this webhook doesn't map to one of the strings above (for example scheduled or confirmed)
Usage Notes
When you receive this event, you can use it to:
- Sync appointment schedules with your calendar system
- Track tour completion rates and no-show statistics
- Update appointment status in your CRM or Property Management System
- Link appointments to specific units using the
unit_pms_idsarray - Trigger follow-up workflows based on appointment status (e.g., send feedback survey after completed tours)
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