Native webhook + FirstFiveMin
Any system that can POST JSON can send leads in.
If your form backend, CRM or custom script can make an HTTP POST, it can deliver leads to FirstFiveMin directly — no automation platform in between.
Endpoint
POST https://firstfivemin.com/api/speed-to-lead/channel-inbound.php
Steps
- In FirstFiveMin, open Integrations → Connections and create a connection key with "Send leads in". Copy it — it is shown once.
- POST JSON to the URL below with the header Authorization: Bearer <your key> (builders that cannot set an Authorization header may send X-STL-Channel-Token: <your key> instead).
- Send a per-submission idempotency_key (a delivery or event ID that is unique to THIS send — never a customer or record ID) so a retried delivery never creates a duplicate. A key that is stable per person makes every later inquiry from that person look like a replay of the first, and it vanishes behind a success response.
- Only include the consent block if your system genuinely records consent to be contacted — read the consent note below.
- Responses: 201 = lead created · 200 = idempotent replay (you already sent this one) · 401 = bad or revoked key · 400 = no usable identity or bad phone · 422 = a partial consent block (send all three fields or none).
About the consent block
Only fill in the consent block if the person actually agreed to be contacted, and you can produce the record that proves it. Leave it out and we still capture the lead — we just will not have the AI call them.
Sample payload
{
"source": "api",
"first_name": "Riley",
"last_name": "Sample",
"phone": "+15550170003",
"email": "riley.sample@example.invalid",
"property_ref": "Contact form message",
"language": "en",
"source_event_at": "2026-08-27T15:04:05Z",
"idempotency_key": "webhook-recipe-example",
"consent": {
"source": "Contact form with call-consent checkbox",
"reference": "submission id 9012",
"captured_at": "2026-08-27T15:04:05Z"
}
}