WhatsApp leads,
delivered to your LMS
Agents spot an opportunity mid-conversation, tap once, pick a lead type, tick the relevant messages — and a structured lead lands in your system with full context.
How it works
Two URLs + an auth header, once
Your lead types load live from your API
Only the relevant parts of the chat — nothing more
Structured JSON with your system ID echoed
Leads are outbound only — ChatReach delivers to your system; it never becomes a second lead database you have to reconcile.
Step 1 — Register the integration
Dashboard → Lead Settings → Add LMS. You provide:
| Field | Purpose |
|---|---|
| Create Lead URL | We POST completed leads here (required) |
| Lead Types URL | GET endpoint we call live when an agent opens the lead form (optional but recommended) |
| System / Integration ID | Your identifier for this tenant — echoed in every payload so one endpoint can serve many clients |
| Auth header | Name + value (e.g. Authorization: Bearer …) attached to every call we make to you |
Step 2 — Expose lead types (optional)
Your Lead Types URL should return either shape:
[
{ "id": "lt_new_vehicle", "name": "New Vehicle Enquiry" },
{ "id": "lt_used", "name": "Used Vehicle Enquiry" },
{ "id": "lt_service", "name": "Service Booking" },
{ "id": "lt_parts", "name": "Parts" }
]
// or simply:
["Sales", "Support", "Partnerships"]No Lead Types URL? Tenants define internal lead types in ChatReach instead — those leads fire the lead.created webhook and email the configured recipients.
Step 3 — Receive the lead
{
"integrationId": "your-system-id-for-this-client",
"lead": {
"leadId": "3c9d…",
"leadType": "New Vehicle Enquiry",
"leadTypeExternalId": "lt_new_vehicle",
"contact": {
"id": "…",
"phone": "27821234567",
"name": "John Smith"
},
"notes": "Interested in the 2026 model, needs finance, trade-in available",
"conversationContext": [
{ "direction": "in", "body": "Hi, do you have the 2026 model in stock?" },
{ "direction": "out", "body": "We do! Blue and silver available this week." },
{ "direction": "in", "body": "Great — can I trade in my 2019?" }
],
"createdAt": "2026-07-11T11:20:00Z"
}
}Respond with your lead's ID and we store the reference against the conversation:
{ "id": "LMS-88412" }Non-2xx responses mark the lead failed with your response body captured — visible to the tenant on their Lead Settings page, so delivery issues surface immediately.
Privacy by design
Agents explicitly tick which messages to include — the whole conversation is never shipped by default. That keeps unrelated customer chatter out of your CRM and keeps POPIA reviewers happy.
Ten minutes to your first WhatsApp lead
Two URLs and an auth header. That's the whole integration.
Start Free Trial