Multi-channel Lead Intake
Capture every legitimate enquiry with source, consent and dedupe context (WF-01: capture → normalize/dedupe → consent/DND → score → route). Malformed or suspicious payloads are quarantined and retried safely — never silently dropped.
CRM-01
Enquiries today
47
▲ 9 vs yesterday, 8 channels
Leads created
40
5 auto-linked to existing parties
Quarantined
3
2 schema, 1 suspicious — retry queue
Duplicate ignored
4
Idempotency-key replays
Normalize latency p95
1.8s
Capture → routed lead, target ≤ 5s
Channel sources — 17 Jul 2026
1 degraded
1 paused
| Source | Type | Status | Today | Last event | Consent capture | Owner |
|---|---|---|---|---|---|---|
Website enquiry form almanara.ae · form v3 (double opt-in) |
Webhook | Connected | 14 | 14:02 | At source | Marketing |
Bayut leads API Portal · ORN 1203 listings |
Pull + webhook | Connected | 9 | 13:47 | Portal T&C basis | Listings |
Property Finder feed Portal · XML lead export |
Pull (15 min) | Degraded — 2 retries, backoff 8m | 6 | 12:31 | Portal T&C basis | Listings |
WhatsApp Business +971 4 330 ●●●● · template replies |
Webhook | Connected | 8 | 14:05 | Opt-in message | CRM |
Teams Phone / PBX Queue “Sales DXB” · telephony |
Call event | Connected | 5 | 13:58 | Verbal — script v2 | Call center |
Meta Lead Ads Campaign “Prototype Residences launch” |
Webhook | Paused — budget hold until 20 Jul | 0 | 15 Jul | Form consent | Marketing |
Email parser leads@almanara.ae |
IMAP parse | Connected | 3 | 13:12 | Implied — needs confirm | CRM |
Walk-in / manual Dubai HQ + Abu Dhabi Branch reception |
Manual entry | Available | 2 | 11:20 | Signed form scan | Reception |
| Total | 47 | |||||
Normalization preview — WA-90417 (WhatsApp)Step 2 of WF-01
Raw payload (as received, immutable):
{
"wa_id": "971501234472",
"profile": { "name": "aamina noor " },
"text": "مرحبا، أريد معاينة شقة غرفتين في المارينا",
"referral": { "source_url": "almanara.ae/l/PR-A-1103" },
"ts": "2026-07-17T05:42:11Z"
}
- Phone (E.164)
- +971501234472 Valid UAE mobile
- Name
- “Aamina Noor” (trimmed, case-normalized)
- Language
- AR (detected from message body)
- Related property
- PR-A-1103 · Prototype Residences A (from referral URL)
- Campaign
- — (organic WhatsApp)
- Timestamp
- 17 Jul 2026 09:42 GST (stored UTC)
- Consent context
- WhatsApp opt-in implied by inbound message · marketing consent NOT assumed
Dedupe candidates — WA-90417Governed fuzzy criteria v12
| Candidate party | Matched on | Score | Decision |
|---|---|---|---|
Open lead LD-2026-04512 |
Normalized phone exact + name fuzzy 0.84 | 0.92 | Linked to existing — new source event retained |
A. Noor · PTY-0038859 Inactive since 2024 · Abu Dhabi Branch |
Name fuzzy only | 0.61 | Below threshold 0.75 — ignored |
Aminah N. · PTY-0042210 Different mobile, same email domain |
Email domain + name fuzzy | 0.71 | Review — data steward queue (WF-12) |
Auto-link threshold ≥ 0.90 with phone exact match; merges are reversible and require evidence — see merge history. Acceptance (CRM-02/CRM-01): inbound matching an existing normalized phone links to the existing customer and retains the new source event.
Raw webhook payload log — last 2 hours
All ✕
Quarantined
Duplicates
| Received | Source | Event / idempotency key | HTTP | Result | Action |
|---|---|---|---|---|---|
| 14:05:12 | WA-90441 idem_wa_8842c1 |
202 | Accepted → LD-2026-04533 | View lead | |
| 14:02:37 | Website form | WEB-88291 idem_web_51f09a |
202 | Accepted → LD-2026-04532 | View lead |
| 13:58:44 | Bayut | BYT-33107 idem_byt_207bd4 (replay of 13:51) |
200 | Duplicate ignored — idempotent | — |
| 13:51:02 | Bayut | BYT-33107 idem_byt_207bd4 |
202 | Accepted → LD-2026-04531 | View lead |
| 13:44:19 | Property Finder | PF-71260 idem_pf_e3391c |
422 | Quarantined — ERR-INTAKE-422 SCHEMA_INVALID (missing contact.phone) | |
| 13:31:55 | Website form | WEB-88274 idem_web_9cc410 |
202 | Quarantined — SUSPICIOUS_CONTENT (spam score 0.97, URL payload) | |
| 13:18:03 | Meta Lead Ads | META-4471 signature header sha256=… |
401 | Rejected — ERR-INTAKE-401 SIGNATURE_MISMATCH (key rotated?) | Connector keys |
| 13:05:40 | Email parser | EML-20993 idem_eml_bb1276 |
202 | Accepted → LD-2026-04529 | View lead |
8 of 214 events today · retention 90 days (raw payloads)
Quarantined fixture — PF-71260 (invalid webhook)SCHEMA_INVALID
POST /api/v1/intake/property-finder HTTP/1.1 → 422 Unprocessable Entity
X-Idempotency-Key: idem_pf_e3391c X-PF-Signature: valid ✓
{
"lead_ref": "PF-71260",
"listing_ref": "PR-A-0904",
"contact": {
"name": "Chloe Bennett",
"phone": null, // ✗ required by schema intake.v3 — quarantined
"email": "c.bennett@example.co.uk"
},
"message": "Interested in the 2BR, is it still available?"
}
Static render mockup — no live data. Source: ERP Modern Development Specification v2.0 · Covers: CRM-01 (with WF-01 lead intake and assignment workflow).