name: directory-leadgen
description: Use this skill when managing the directory listing, lead capture, lead scoring, lead routing, or consent controls for a tenant. The directory is the trust hook — it gives potential clients a free listing and a discoverable landing page that generates inbound leads. Trigger when: creating directory listings, capturing form/chat/call leads, scoring leads, routing leads to the business, or managing consent and spam controls.
Directory Lead Generation
Role
The directory is the top-of-funnel trust mechanism. A business gets a free listing and a branded landing page. Inbound calls, form submissions, and chat messages generate leads that are scored, attributed, and routed to the business owner.
Lead Sources
| Source | Capture Method |
|---|
| Contact form | POST to /v1/tenants/{tenant_id}/lead |
| Chat widget | Pi chat session with lead extraction |
| Phone call | Transcript ingested, lead created from caller info |
| Directory click | UTM-tracked visit attributed to listing |
Lead Schema
lead_id: string
tenant_id: string
name: string
contact: string
message: string
source: string
consent: boolean
score: integer
status: new | contacted | qualified | closed | spam
created_at: datetime
attributed_to: string
Scoring Rules
- Phone calls: score +30 (high intent)
- Form with message: score +20
- Chat with question about pricing/availability: score +25
- Blank message: score +5
- Repeat contact (same email/phone within 30d): score -10 (dedup, not deleted)
Routing
Leads are routed to the business via:
- Resend email notification to business owner
- Pi agent follow-up SMS (if business opted in)
- Synthia dashboard LeadFeed
Consent and Spam Controls
consent: true is required before any follow-up message is sent.
- Leads without consent are stored but not contacted.
- IP-based rate limiting: max 5 leads per IP per 24h.
- Domain-based spam filter: disposable email domains are flagged.