Skip to content

Lead intake

POST https://app.dialdozer.com/hooks/lead_intake.php

The dedicated intake endpoint accepts JSON or form data and requires leads:write.

Terminal window
curl -X POST 'https://app.dialdozer.com/hooks/lead_intake.php' \
-H "X-Api-Key: $DIALDOZER_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"first_name": "Alice",
"last_name": "Johnson",
"phone": "+1 555 123 4567",
"email": "alice@example.com",
"list_id": 1001,
"source": "website",
"hopper": true
}'
FieldTypeRequiredNotes
phonestringyesAt least 10 digits; normalized to last 10
list_idintegerconditionalMust exist; falls back to configured inbound list
first_name, last_namestringnoTruncated to safe storage lengths
emailstringnoInvalid addresses are discarded
address1, city, state, postal_codestringnoContact location
sourcestringnoAttribution label
hopperbooleannoEnqueue a new lead for dialing

Intake deduplicates by the last 10 phone digits inside the selected list. A duplicate is successful and returns the existing ID:

{ "ok": true, "lead_id": 42, "deduped": true }

A new lead syncs contact channels, fires the new_lead workflow trigger, emits lead.created, and enters the dial hopper when requested.