Lead Storage
Store validated leads with strict confirmation gating.
Quick Triggers
- Save approved leads to Google Sheets.
- Persist these normalized records after confirmation.
- Commit validated leads with confirmation token.
Recommended Chain
... -> supervisor confirmation -> lead-storage
Execute Workflow
- Accept payload from Supervisor.
- Validate payload with
references/storage-input.schema.json. - Verify
confirmation_tokenis present and non-empty. - Write leads to storage through write-only interfaces.
- Preserve optional extraction/normalization/scoring metadata when present:
- extraction:
deal_type,asset_class,price_basis,area_sqft,area_basis - record typing:
dataset_mode,record_type - location:
city,city_canonical,locality_canonical,micro_market,location_hint - prioritization:
urgency,priority_bucket
- extraction:
- Enforce idempotency by
lead_idand avoid duplicate inserts for repeated broker forwards. - Return result using
references/storage-output.schema.json. - On partial failures, return
status: "failure"and a populatederror_message.
Enforce Boundaries
- Never parse raw messages.
- Never extract new lead entities.
- Never perform read queries for analytics or summaries.
- Never generate suggested actions.
- Never write anything when confirmation token is missing or invalid.
- Never self-approve writes.
Reliability Rules
- Prefer idempotent writes keyed by
lead_id. - Log rejected writes with validation reason.
- Fail closed on any permission ambiguity.