OH

WF-01 — Lead Intake & Assignment

Owner: Sales Manager — Rashid Al Farsi · Trigger: new enquiry from any connector or channel · Captures, normalizes, checks consent, scores and routes every lead to one accountable agent with an SLA task.

WF-01 CRM-01 CRM-04
Intake monitor Routing rules
Instances (30d)
1,412
1,388 completed · 24 in flight
Quarantined payloads
17
Schema or spam — held for review
Unassigned pool now
6
3 within routing SLA · 3 waiting on skills
Median route time
42s
Target ≤ 10m (policy SLA-CRM-01)
Manager overrides (30d)
21
All with reason + rule snapshot
Happy path — process mapDefinition v5 · active since 12 May 2026
New enquiry (portal / web form / WhatsApp / PBX / walk-in) Capture (idempotency key per source event) Normalize & dedupe (phone/email + fuzzy match) Gate: consent / DND check Score (fit + intent) Route (rule engine — branch, skills, language, capacity) Agent notified · SLA task created with decision explanation

Dedupe links to the existing customer and retains the new source event (CRM-02). Every automated or manual assignment stores rule, reason and override (CRM-04); duplicate suspects are held from routing until reviewed.

Exception paths3 controlled exits
Connector delivers payload Schema / spam validation fails Quarantine — held on intake monitor, no lead created until steward review
Route (rule engine) No eligible agent (capacity / skills / branch) Unassigned pool — routing SLA timer keeps running; manager assigns with reason
Source webhook / poll fails Retry with exponential backoff (idempotent) Max retries exhausted Dead-letter queue — replay from lead connectors after fix
Owner & definition (§8.3)
Workflow ID
WF-01 · Lead intake and assignment
Owner
Sales Manager — Rashid Al Farsi
Definition version
v5 · active · published via WF-00 on 12 May 2026
Trigger
New enquiry event from any registered source (CRM-01 channel inventory)
Preconditions
Source registered with idempotency key contract · routing rule set active · consent purposes configured
Terminal outcomes
Assigned with SLA task · Quarantined · Suppressed (DND, evidence kept) · Merged into existing customer
Required evidence
Raw payload + idempotency key · normalization/dedupe result · consent decision log · score inputs · routing decision (rule, reason, override)
Controls (Table 14, expanded)4 control families
ControlEnforcementEvidence
Idempotency
Per source event
Duplicate webhook deliveries collapse onto one lead; replays never create twinsIdempotency key on event log
Assignment reason
CRM-04
Every automated or manual assignment stores rule, reason and override; manual assignment requires a typed reasonDecision record on lead
SLA
Routing + first response
Routing ≤ 10 m, first response ≤ 15 m; timers visible on lead inboxSLA timer history
Manager override
Controlled
Override re-routes but records rule snapshot + reason; consent/DND can only be overridden with documented lawful basis (CRM-03)Override entry in audit
Exception paths & recovery
ExceptionWhenRecovery
Quarantine invalid payloadSchema violation, spam score > 0.9, or missing mandatory contact fieldData steward reviews on intake monitor; fix mapping and replay, or discard with reason
Unassigned lead poolNo agent matches branch/skills/capacity (e.g. AR speaker required)Manager bulk-assigns from lead inbox with override reason; routing SLA keeps counting
Retry connectorSource timeout / 5xx from portal APIExponential backoff ×5, then DLQ; replay is idempotent from connectors
Duplicate suspect heldFuzzy match ≥ 0.85 against existing partySteward confirms merge (reversible, with evidence) or splits; source event retained either way
Timers & escalation (§8.3)
Business calendar
Intake runs 24/7; agent SLA tasks follow branch calendar (Dubai HQ: Sun–Thu 09:00–18:00, Asia/Dubai)
Routing warning
Unrouted > 7 m → amber on intake monitor, team leader notified
Routing breach
> 10 m → escalate to Rashid Al Farsi; lead pinned atop unassigned pool
First-response warning
> 70% of 15 m budget → nudge assigned agent (in-app + WhatsApp)
First-response breach
> 15 m → manager escalation, breach logged to RPT-03
Rework
Quarantined items > 24 h → daily digest to data steward and integration owner
Screens involved
StepScreenRole
Capture / quarantineLead Intake MonitorData steward · integration owner
Connector health / DLQLead ConnectorsIntegration owner
Consent / DNDConsent & PreferencesPrivacy · marketing
Routing rulesRouting & AssignmentSales manager
Work the leadLead InboxLead WorkspaceAgent
Dedupe targetCustomer 360Agent · steward
Worked instance — LD-2026-04512 · Amina NoorCompleted · SLA met
  • 2026-07-14 10:14
    First response by Omar Haddad — 9 m (SLA met)
    Call logged, outcome “interested — 2BR Marina view”; next task: shortlist. Instance terminal: Assigned · responded
  • 2026-07-14 10:05
    Routed by rule LR-07 (round robin · DXB · EN) → Omar Haddad
    Decision explanation stored: capacity 7/10, language EN, branch match. SLA task T-99120 created (15 m). No override.
  • 2026-07-14 10:04
    Scored 82/100 · segment “Hot — end user”
    Inputs: budget AED 1.8–2.0 M, area Marina District, source quality weight 0.8 (Website).
  • 2026-07-14 10:03
    Consent gate passed
    Marketing consent captured on form v3 (purpose: property offers, channels: email + WhatsApp); no DND flags.
  • 2026-07-14 10:03
    Normalized & dedupe clean
    Phone normalized to +971 50 123 4472 · no match ≥ 0.85 in party master · new party PTY-0044821 drafted.
  • 2026-07-14 10:02
    Captured from Website form — instance started
    Campaign “Summer Marina 2026” · idempotency key web-f3a9c1e0-0714 · raw payload archived.

Note the later duplicate: WhatsApp lead LD-2026-04530 (“Aamina Noor”, same phone) matched 0.92 on 17 Jul and is held from routing pending merge review — the exception path in action.

Static render mockup — no live data. Source: ERP Modern Development Specification v2.0 (§8.2 Table 14, §8.3, CRM-01/02/03/04) · Covers: WF-01, CRM-01, CRM-04.