Integrations/Lead sources

HTTP POST / Webhook

Live

If a system can fire an HTTP request, it can feed lead2inbound. POST /v1/leads is the front door every other lead source ultimately writes to — a plain REST endpoint, authenticated by a per-org API key, that turns a raw form submission into a lead in the dial queue within milliseconds.

1 Lead in2 Dial3 Prequalify4 Route to buyer5 Track

What it does in the flow

This is step 1, lead in — the canonical entry point. Point your web form's submit handler, your CRM's outbound webhook, or any script at this endpoint and every lead lands in the same pipeline: phone normalized to E.164, checked against your suppression list and DNC provider (if one is connected), deduplicated against the last 30 days, and queued for calling if it's eligible. Everything downstream — dialing, qualification, routing, tracking — treats an API lead identically to one that arrived by CSV or Facebook.

How it works

Create a key in app.lead2inbound.com → Settings → API Keys. Keys start with l2i_, are shown once, and carry scopes (write to send leads, read to pull them back) plus their own per-minute rate limit. Then:

curl -X POST https://api.lead2inbound.com/v1/leads \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "source": "my-webform",
    "first_name": "Jane",
    "phone": "5551234567",
    "state": "TX",
    "consent": {
      "consent_timestamp": "2026-07-05T12:00:00Z",
      "consent_text_version": "webform-v2",
      "source_url": "https://example.com/quote"
    }
  }'

Only phone is required — a 10-digit US number or E.164 both normalize automatically — but the more you send (name, state, consent evidence, custom fields, ad-source attribution) the better the AI's script and your reporting. The full field reference, response shapes, and rate-limit headers are documented and auto-generated from the live schema at docs.lead2inbound.com, including a copy-paste 5-minute quickstart.

Send leads without a consent block and they're still stored — just marked ineligible and held out of the dial queue. TCPA requires prior express written consent for AI-voice calls, so this gate fails closed by design, not by accident.

FAQ

Do I need a special integration for my CRM or form builder?

No — if it can make an HTTP request (or you can route it through Zapier's generic Webhooks action), it can post to this endpoint. This is the same endpoint LeadRouter's outbound webhooks use to push unsold leads back into the queue.

What happens if I send a duplicate lead?

Any phone number already submitted to your account in the last 30 days is treated as a duplicate: nothing new is stored, and you get back the existing lead's ID instead of a second row.

Is there a rate limit?

Yes, per API key, per minute (120 requests/minute by default). Every response carries X-RateLimit-* headers so you can see your remaining allowance; going over returns 429 with a Retry-After header.

Related integrations

Send your first lead in five minutes.

Grab an API key and follow the quickstart — your first lead can be dialing before this page finishes loading.

Open the quickstart