Overview
The Speed-to-Lead intake webhook is the endpoint partners and lead providers POST leads to. Each accepted lead is recorded, matched against your configured field mappings, and queued for outbound AI outreach according to your team’s scheduling rules.Authentication
Authenticate with your Avoca API key using either header:Request
Send any JSON object — field names are resolved through your team’s configured field mappings, so you can point most lead sources at Avoca without reshaping their payloads. Standard target fields include:| Field | Description |
|---|---|
customer_name (or first_name / last_name) | Customer name |
phone_number | Customer phone (required for call outreach) |
email | Customer email |
address / street / city / state / zip / country | Location |
service_type | Requested service |
lead_source | Source label — mapped to a configured Avoca lead source |
external_id | Your reference ID, echoed on webhooks and the leads feed |
notes | Free-form notes; can be configured to combine multiple payload fields into one JSON object |
appointment_datetime | Requested appointment time, if any |
utm_source / utm_medium / utm_campaign / utm_term / utm_content | Attribution |
phone_number ← phone, Phone, contact.phone), configured per team by the Avoca team.
Response
Success:| Status | Meaning |
|---|---|
| 400 | Invalid payload shape or validation error |
| 401 | Missing or invalid API key |
| 409 | Duplicate lead |
Scheduling Behavior
When the AI calls the lead is governed by your team’s configured scheduling mode:always— call as soon as the lead arrivesbusiness_hours— call immediately during business hours; queue otherwiseafter_hours— only outside business hourscustom— custom windows configured with the Avoca team
Enterprise Routing
enterprise_all_teams keys can ingest leads for multiple brands through one endpoint. Routing rules on the anchor team’s configuration map a payload field value to the target team; unmatched leads are rejected by default or routed to a configured default team. Target teams are validated against the enterprise’s membership.
Tracking Leads Downstream
- Subscribe to
lead.created,lead.booking_created, andlead.completedwebhooks for real-time lifecycle updates. - Pull historical records (including your original raw payload) from the v1 leads feed:
GET /api/v1/teams/{teamId}/leads. Join onexternal_idor the returnedlead_id.