Lead Extractor
Identify lead signals in parsed messages and emit strict lead objects.
Quick Triggers
- Find all buyer leads from this WhatsApp chat.
- Extract contact details and budget from these messages.
- Identify serious property inquiries from parsed messages.
Recommended Chain
message-parser -> lead-extractor -> india-location-normalizer
Execute Workflow
- Accept parsed messages from Supervisor.
- Validate input with
references/parsed-message-input.schema.json. - Apply chat-specific extraction rules from
references/extraction-rules-re-india-v1.md. - Determine
dataset_modefrom Supervisor context:- default:
broker_group - allowed:
broker_group,buyer_inquiry,mixed
- default:
- Detect lead-candidate messages using inquiry intent, contact details, and property-related preferences.
- Classify
record_type:inventory_listingfor broker inventory/availability posts (default in broker groups)buyer_requirementfor explicit "required/chahiye looking for" demand posts- drop non-lead/system noise instead of emitting
noise_or_system
- Handle multiline listings as one candidate record when body lines contain price, area, or location details.
- Build lead records with:
- required:
lead_id,name,phone,record_type - optional:
dataset_mode,property_type,budget,deal_type,asset_class,price_basis,area_sqft,area_basis,location_hint,raw_text,source,created_at
- required:
- Normalize phone extraction from spaced variants such as
+91 98205 82462and98200 78845. - Distinguish price intent from rate intent:
- examples:
3.5 Lakh rent(monthly),60K psf(per-sqft),4.25 Cr(total)
- Deduplicate leads by stable keys when records clearly refer to the same person.
- Validate output with
references/output-leads.schema.json. - Return only validated lead objects.
Enforce Boundaries
- Never write or update persistent storage.
- Never modify source messages.
- Never generate summaries.
- Never suggest or execute follow-up actions.
- Never send communication or invoke external side effects.
Handle Errors
- Reject invalid parsed-message input.
- Emit an empty array when no lead evidence exists.
- Return field-level validation errors when extracted records violate schema.