Technical document for engineering & operations teams
Nigerian Market — Lead Generation & Conversion Pipeline
Document Type
Technical Specification
Version
1.0 — July 2026
Audience
Engineering, Ops, Marketing
Status
Production-Ready
CorChow's lead pipeline is an automated, WhatsApp-first customer acquisition engine designed for the Nigerian restaurant and hospitality market. It replaces traditional email-based cold outreach with localized SMS and WhatsApp messaging, leveraging local API providers for superior deliverability and cost-efficiency.
The system spans five automated stages: business discovery via Google Places enrichment, WhatsApp number verification, tiered message outreach with SMS failover, automated demo booking via Google Calendar, and Paystack-powered subscription provisioning. Each stage updates the Lead entity and logs interactions for full auditability.
Discovery
fetch-nigerian-leads → Google Places LLM
Verification
verify-whatsapp-presence → UltraMsg API
Outreach
unified-outreach → WhatsApp + SMS failover
Demo Booking
schedule-demo → Google Calendar connector
Conversion
create-checkout → Paystack → webhook provisioning
Trigger: Manual (Admin "Fetch Leads" button) or scheduled workflow.
Input: Target city tags (e.g. lagos, abuja) and daily lead limit.
Process:
LeadCampaignConfig entity.add_context_from_internet=true to find real businesses in target cities.Lead records by venue name + city.Lead entities with pipeline_stage="discovery".Output: Count of created, duplicate, and verified leads.
Trigger: Automatic after lead creation, or manual via lead detail panel.
Process:
234...)./contacts/check endpoint.is_whatsapp_verified=true, stores normalized number.lead_score using weighted indicators:+40 pts
WhatsApp verified
+25 pts
Instagram handle found
+20 pts
10+ Google reviews
+15 pts
Website URL found
Pipeline promotion: discovery → verified
Trigger: Manual (WhatsApp/SMS buttons in lead panel) or retargeting workflow.
Channel Decision Logic:
IF whatsapp_primary AND is_whatsapp_verified:
→ Try WhatsApp (UltraMsg API)
→ IF failed: fall back to SMS (BulkSMSNigeria)
ELSE IF phone exists:
→ Send SMS (BulkSMSNigeria)
Message Templating:
Draws from LeadTemplate entity. Supports merge variables: {venue_name}, {contact_name}, {city}, {demo_link}.
Retargeting Stages:
Post-send: Updates last_contacted_at, last_outreach_channel, promotes pipeline stage, +5 lead score.
Trigger: Manual "Schedule Demo" button in lead detail panel.
Process:
Lead: status="demo_scheduled", pipeline_stage="demo_scheduled", stores event ID/URL.unified-outreach (WhatsApp or SMS).LeadInteraction with demo details.Score impact: +10 pts (max 100).
Checkout Initiation:
EmailPromptModal.create-checkout validates plan + email, calls Paystack API.Automated Provisioning (Webhook):
charge.success event to webhook endpoint.Subscription by transaction reference.Organisation + initial Venue for the tenant.Invoice record.converted.Fully Autonomous
No manual intervention required from payment to tenant go-live.
Lead
Core entity — represents a discovered business prospect
name, venue_name, email, phoneBasic identitywhatsapp_phone, is_whatsapp_verifiedWhatsApp verification statepipeline_stagediscovery → verified → outreached → demo_scheduled → convertedstatusnew → contacted → qualified → demo_scheduled → converted → lostcity_tagNigerian city targeting tag (lagos, abuja, etc.)lead_score0-100 weighted scoringwebsite_url, instagram_handle, google_reviews_countDigital presence indicatorslast_outreach_channel, last_contacted_atOutreach trackingcalendar_event_id, demo_scheduled_atDemo booking stateLeadCampaignConfig
Module-wide configuration & targeting
module_enabledGlobal on/off toggletarget_city_tagsArray of Nigerian city tags for targetingwhatsapp_primaryWhatsApp-first with SMS failoverdaily_lead_limitMax leads fetched per runcampaign_intervals_daysRetargeting cadence [1, 3, 7, 14]LeadTemplate
Message templates per channel & stage
nameTemplate identifier (initial_whatsapp, sms_failover, etc.)channelwhatsapp | sms | emailstagePipeline stage 1-4bodyMessage text with merge variablesAll controls live in the SaaSAdmin → Leads tab.
Module Toggle
Global on/off switch pauses all outreach
City Tag Selector
15 Nigerian metros available as pill toggles
Retargeting Intervals
Editable day intervals between outreach stages
WhatsApp Primary Toggle
Switch between WhatsApp-first or SMS-first
CorChow Platform — Lead Generation Pipeline Specification
Document Version 1.0 · Generated July 2026 · Confidential