Lead Webhook
Overview
·Event key:lead.webhook⚠️
Legacy Webhook - DeprecatedThis webhook is part of the legacy webhook system. For new integrations, we recommend using the modern webhooks v2 system.
Funnel will submit a POST request to your specified webhook each time a lead is created, as well as whenever the lead is updated, such as if they contact another listing.
This webhook is triggered in the following scenarios:
- Lead creation: When a new lead is created in Funnel Leasing
- Lead updates: When an existing lead is updated, such as when they contact another listing
- Contact activity: When a lead interacts with listings, sends messages, or is assigned to agents
Event Payload
When you receive this webhook, you can use it to:
- Create or update lead records in your CRM or Property Management System (PMS)
- Track lead sources and discovery channels for marketing analytics
- Sync contact information (people, phone numbers, emails) with your systems
- Monitor lead interest in specific listings and units
- Track messages and communication history
- Assign leads to agents in your system based on Funnel assignments
Important notes
- Unlike the
renter.*webhooks, this payload is not wrapped in an{ event, data }envelope — the fields shown above are sent directly at the top level of the POST body. peopleon this webhook only ever includesfirst_name,last_name,email,phone_1, andphone_2— it never includesidorsms_opt_in, even though those fields exist on the newerrenter.*webhooks' person objects.- If a client was already pushed successfully within the previous 30 seconds, Funnel skips sending this webhook entirely for the new push — it is not queued or delayed, just dropped. Don't assume every underlying change to a lead results in a webhook call.
- What counts as a successful delivery: this webhook's delivery mechanism is more lenient than the
renter.*/appointment.*webhooks — any status code below400counts as success, so a3xxredirect response also counts as delivered, not just2xx. The response body is not checked either way. If the push fails, Funnel retries it 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. - The
lead_sourcefield should match values from the Discovery Sources API - The
unit_numberfield in listings may benullif the ILS has only provided a Property and not a unit - The
peoplearray can contain multiple people associated with a single lead (e.g., co-applicants)
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