LeadBind Docs

Lead webhook

Push leads in from any form, vendor, or Facebook Lead Ads. One required field.

Push leads into LeadBind from any system that can send an HTTP request. A form builder, a lead vendor, Facebook Lead Ads, or your own code.

Your endpoint

Get your personal URL from Connections, in the Menu under Lead sources. The Lead webhook row there shows it. It looks like:

https://leadbind.org/api/ingest/lead?token=YOUR_TOKEN

POST only. The token identifies your account and is the only credential, so treat the URL like a password. Anyone holding it can create leads in your book. If it leaks, ask support to rotate it.

You can also send the token as a header instead of a query parameter, which keeps it out of server logs:

x-leadbind-token: YOUR_TOKEN

The required field

A phone number or an email address. Send either one, or both. Everything else is optional.

A request with neither returns:

{ "error": "phone or email required" }

with HTTP 400.

A lead that arrives with an email and no phone is saved like any other, and you are notified. It cannot be dialed, so speed to lead cannot call it until it has a number.

Fields it understands

Field names are matched against the list below, so most systems work without remapping anything. Case does not matter. Use the spelling shown, because a name that is not on the list is kept as an extra field rather than read as that meaning.

Meaning Names accepted
Full name name, full name, fullname, full_name, lead name, contact
First name first name, first_name, firstname, first
Last name last name, last_name, lastname, last
Phone (phone or email required) phone, phone number, phone_number, mobile, cell, number
Email (phone or email required) email, email address, email_address, e-mail
State state, st
Age age
Date of birth dob, date of birth, birthday, birthdate
Beneficiary (insurance accounts) beneficiary, bene
Lead source source, lead source, lead_source, campaign
Vendor vendor, lead vendor, lead_vendor
Lead date lead date, lead_date, received on, date

Send source. It is optional and it is the field you will wish you had, because it is the only way to tell which campaign is worth the money. See Leads.

If you send dob without age, the age is calculated for you.

The beneficiary is stored on the lead for insurance accounts. On any other kind of account it is kept as an extra field on the lead.

Anything else you send is kept

Unrecognized fields are not discarded. They are matched against your industry's own field list where they fit, and preserved as-is where they do not. So a roofer sending roof_age and an insurance agent sending coverage_amount both work without configuration.

Example

curl -X POST "https://leadbind.org/api/ingest/lead?token=YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Maria Lopez",
    "phone": "8325550134",
    "email": "maria@example.com",
    "source": "facebook-roofing-march",
    "message": "Roof leaking after the storm"
  }'

What happens next

  1. Deduplicated within your account, by phone first (matched on the last ten digits), then by email. The same person submitting twice updates one lead rather than creating two. This is what stops one person receiving two follow-up sequences. A name is never used to match, because two different people share names.
  2. Grouped into your Inbound Leads list.
  3. Speed to lead fires, if you have it on and it is inside your calling hours. The assistant calls immediately.
  4. Follow-up picks up anyone who did not answer.

Opt-out flags

If your form or vendor marks someone as do-not-call, send it and LeadBind will respect it. Recognized as truthy: dnc, do not call, do_not_call set to 1, true, yes, or y.

Important: Consent is your responsibility, not the webhook's. Pushing a purchased list through this endpoint is the same risk as importing one, and it will start dialing within seconds. Read Consent and opt-outs first.

Facebook Lead Ads

Point your Lead Ads webhook at your URL. Facebook's field names match the aliases above closely enough that most forms need no mapping.

Troubleshooting

400 phone or email required: no recognized phone or email field. Check the column names against the table above.

Lead arrives, no call: speed to lead is off, or it is outside your calling window.

Duplicates: different phone formatting will still dedupe, since matching is on the last ten digits. Two genuinely different numbers for one person are two leads; merge them in Leads.

Nothing arrives at all: test with the curl above. If that works, the problem is in the sending system.

Was this page helpful?