Product Requirements Document
Lead Genius
Version 1.0
Status DRAFT
Owner Growth / Marketing Ops
Last updated April 2026

Lead Genius is the revenue operations layer for hospitality technology companies — automating inbound classification, enrichment, scoring, outbound CRM campaigns, and prospect discovery in a single connected workflow.

Problem Statement

Marketing and sales teams at hospitality SaaS companies spend 60–70% of their ops time on manual lead triage, copy-paste between tools, and one-size-fits-all outreach. Leads go cold because enrichment is slow, sequences aren't contextual, and there's no feedback loop between what converts and what gets sent.

Scope

✓ In Scope
HubSpot inbound capture · Email classification · Domain enrichment · Lead scoring · Source-aware sequences · CRM outbound campaigns · Apollo/Seamless prospect discovery · Reporting dashboard · AI suggestions panel · Human handoff alerts
✗ Out of Scope (v1)
LinkedIn automation · SMS/WhatsApp sequences · Native CRM replacement · Custom email sending infrastructure · Multi-language sequence support · Mobile app · Self-serve onboarding

Integration Map

SystemRoleDirectionPriority
HubSpotLead source of truth, CRM deal dataBi-directionalP1
Clearbit / HunterDomain enrichment & email validationInbound APIP1
ApolloCompany + contact enrichment, prospect discoveryInbound APIP1
Seamless.aiSecondary prospect source & contact dataInbound APIP2
KlentySequence execution (primary)Outbound pushP1
OutplaySequence execution (secondary)Outbound pushP2
SlackHuman handoff alertsOutbound webhookP2

Goals & Success Metrics

Success is measured across three horizons: operational efficiency, lead quality, and revenue impact.

GoalMetricBaselineTarget (6mo)
Reduce manual triage timeHours/week on lead classification~12 hrs≤ 2 hrs
Improve lead-to-opportunity rate% of hot leads that become opportunities~8%≥ 15%
Increase sequence open ratesAvg open rate across all sequences~22%≥ 35%
Faster lead response timeTime from capture to first email sent~4 hrs≤ 15 min
Prospect pipeline volumeNet new qualified prospects/month~80≥ 300
Scoring model accuracy% of High-score leads that reach opp stagen/a≥ 40%
Rep alert action rate% of escalation alerts acted on within 4hrsn/a≥ 70%

Non-Goals

Lead Genius is not a CRM. It reads from and writes to HubSpot but does not replace it. It is not a writing tool — sequences use templatised blocks with dynamic fields, not fully AI-generated copy per send. It does not make autonomous decisions about closing deals — all final sales actions require human involvement.

User Personas

👤 Marketing Ops Manager — Primary User
Goal: Set up and maintain workflows, monitor pipeline health, review AI suggestions.
Pain: Spends hours in HubSpot manually tagging leads and assigning sequences.
Needs: Clear visibility into what's automated, easy override controls, reliable reporting.
👤 SDR / Sales Development Rep — Secondary User
Goal: Receive warm handoffs at the right moment, understand why a lead is scored high.
Pain: Gets alerts too late, or for leads with no context — wastes time on low-fit prospects.
Needs: Lead context cards, clear score explanations, quick-reply prompts.
👤 Growth Lead / Head of Marketing — Stakeholder
Goal: Understand pipeline attribution, ROI of sequences, quality of prospect lists.
Pain: Can't connect outreach activity to revenue — data lives in three different tools.
Needs: Revenue attribution, sequence health scores, monthly trend views.
👤 Sales Manager — Stakeholder
Goal: Trust that automated outreach isn't damaging brand reputation or spamming key accounts.
Pain: No visibility into what's being sent on behalf of the team.
Needs: Sequence approval workflow, suppression lists, compliance confirmation.

Inbound Pipeline Requirements

Lead Capture

IDRequirementPriority
IB-01System receives lead data from HubSpot via webhook within 60 seconds of form submissionP1
IB-02Deduplication check runs on email (exact) and domain (fuzzy) before classificationP1
IB-03Re-entry logic: returning leads flagged as "re-engaged" and routed to win-back flowP1
IB-04Lead classified as Hot, Warm, or Cold within 2 minutes of captureP1
IB-05Classification logic: Hot = business email + domain resolves; Warm = Gmail + form context present; Cold = Gmail + no contextP1
IB-06Source page recorded and stored for all leads regardless of classificationP1
IB-07Failed webhook deliveries retry up to 3 times with exponential backoffP2

Enrichment

IDRequirementPriority
EN-01Hot leads trigger enrichment pipeline: Clearbit domain lookup → Apollo company profile → contact-level data pullP1
EN-02Enrichment completes within 5 minutes for 95% of Hot leadsP1
EN-03Enrichment confidence score calculated; leads below 60% confidence flagged for manual reviewP1
EN-04Warm leads with form context run lightweight enrichment (reverse email lookup, LinkedIn company match)P2
EN-05All enrichment data stored with timestamp and source attributionP1
EN-06Score recalculates automatically when new enrichment data arrivesP2

Scoring Model Requirements

The scoring model is the backbone of Lead Genius. All routing, sequencing, and prioritisation decisions derive from it.

Score Dimensions

DimensionWeightSignalsPriority
Company Fit30%Property count, hotel chain vs independent, geography, industry verticalP1
Role Seniority25%C-suite/Director scores highest; Manager mid; Coordinator/Unknown lowP1
Engagement Intent20%Pricing Page > Free Trial > Contact Us > Exit FormP1
Tech Stack Fit10%Uses PMS, channel manager, or OTA integration toolsP2
Company Size10%Employee count, estimated ARR if availableP2
Data Completeness5%% of enrichment fields successfully populatedP2

Score Bands & Routing

BandScoreRouting Action
High Fit51–100Personalised sequence + same-day rep alert if ≥75
Medium Fit31–50Semi-personalised sequence, rep weekly digest
Low Fit0–30Generic nurture sequence only, no rep alert

Score Model Requirements

IDRequirementPriority
SC-01Score computed within 5 minutes of enrichment completingP1
SC-02Score history logged — all recalculations stored with reason and timestampP1
SC-03Weights configurable by admin without code deploymentP2
SC-04Monthly recalibration report generated using last 90 days of conversion dataP2
SC-05Score explanation available per lead ("Why this score?")P1

Outbound & CRM Campaign Requirements

Deal Stage Segments

SegmentTriggerCampaignTool
Close Won / Close OneDeal stage = Closed Won in HubSpotProfit Maximizer, ReconfirmationKlenty / Outplay
Close Lost + Follow-UpDeal stage = Closed Lost, follow-up flag setRoom Mapping, Hotel MappingKlenty / Outplay
Evaluation FailDeal stage = Eval FailedHotel Mapping, Room MappingKlenty
Ghosted PipelineNo deal activity for 30+ days, stage not closedRe-engagement sequenceOutplay
Churned CustomerCustomer status = Churned in HubSpotWin-back: new feature highlightsKlenty

Personalisation Layer

IDRequirementPriority
OB-01System generates one-sentence personalisation snippet per contact using CRM + enrichment data before sequence launchP1
OB-02Snippet injected into Email 1 and Email 3 of each outbound sequenceP1
OB-03Suppression list checked before any outbound sequence is triggered (unsubscribes, current customers on DNC)P1
OB-04CRM deal stage changes in HubSpot trigger sequence within 1 hourP2
OB-05Rep can pause or cancel an outbound sequence for any contact via dashboardP1

Prospect Discovery Requirements

ICP Matching

Matching AttributeSourceWeight
Industry verticalApollo company dataHigh
Property count rangeWebsite scrape / ApolloHigh
Geography (MENA weighted)HQ location from ApolloMedium
Current tech stackBuiltWith / Apollo tech dataMedium
Growth signalsHiring data, funding rounds, newsMedium
Company sizeApollo employee countLow

Discovery Requirements

IDRequirementPriority
PD-01ICP profile auto-generated from top 20% converting customers, updatable quarterlyP1
PD-02Prospects with match ≥30% auto-advance to contact research; below 30% routed to manual review queueP1
PD-03Contact research filters: C-suite, Director, Dept = Tech/Ops/Partnerships/Management/ProductP1
PD-04Passive monitoring: job change alerts and growth signals re-score dormant prospectsP2
PD-05Prospect data pushed to Klenty/Outplay with match score and ICP dimension breakdown attachedP1
PD-06Manual review queue UI: reviewers see match score, mismatch reasons, and one-click approve/rejectP2

Email Sequence Requirements

Sequence Structure

EmailCTA LevelPersonalisationBranching Logic
Email 1Low friction (content/resource)Source hook + company snippetIf open → Email 2 alt subject; If no open → Email 2 same angle
Email 2Medium (soft demo invite)Role-relevant value propIf click → accelerate to demo CTA; If reply → pause + alert rep
Email 3Medium-high (demo request)Company snippet repeatedIf reply → pause + alert rep immediately
Email 4High (direct ask)Seniority-adjusted toneStandard send
Email 5BreakupOne-click reply promptIf reply → win-back flow; If no reply → mark inactive

Sequence Requirements

IDRequirementPriority
SQ-01Any reply to a sequence immediately pauses it and fires a Slack + CRM alert to assigned repP1
SQ-02Sequence branching logic executes based on open/click/reply events from Klenty/Outplay webhooksP1
SQ-03A/B test framework: new enrollees auto-split 50/50 across subject line variants; significance reported at n=100P2
SQ-04Sequences with open rate below 20% for 2 consecutive weeks flagged for review in AI panelP2
SQ-05Unsubscribe from any sequence propagates to suppression list and syncs to HubSpot, Klenty, Outplay within 24hrsP1

Reporting & AI Panel Requirements

Dashboard Metrics

Inbound
Lead volume by source · Hot/Warm/Cold split · Avg score by domain category · Enrichment success rate · Time-to-sequence
Outbound
Sequence open/click/reply rates · CRM segment performance · Rep alert action rate · Personalisation snippet impact
Prospect Discovery
Match score distribution · Manual review queue size · Prospect-to-sequence conversion · ICP dimension breakdown
Revenue Attribution
Closed deals by originating source · Sequence that preceded first reply · Score band at time of conversion · Time from capture to close

AI Suggestions Requirements

IDRequirementPriority
AI-01Suggestions ranked by potential revenue impact, not recencyP1
AI-02Each suggestion includes confidence level and the data signal that triggered itP1
AI-03Suggestion marked as "acted on" or "dismissed" — feedback used to improve future suggestion qualityP2
AI-04Scoring recalibration suggestions surface when a parameter shows weak conversion correlation over 90 daysP2
AI-05Sequence retirement suggestions fire automatically when performance thresholds are breachedP2

User Stories

US-001Automatic lead classification on capture
As a marketing ops manager, I want every lead from HubSpot to be automatically classified as Hot, Warm, or Cold so that I don't need to manually review each submission.
Lead classified within 2 minutes of HubSpot webhook receipt
Business email = Hot if domain resolves to a company
Gmail + form context = Warm; Gmail + no context = Cold
Classification reason stored and visible in dashboard
Duplicate leads detected and merged before classification
US-002Lead score explanation per contact
As an SDR, I want to see why a lead received their score so I can prioritise my outreach intelligently and personalise my approach.
Score breakdown visible per lead showing contribution of each dimension
Score history shows all recalculations with timestamps and reasons
Natural language explanation generated ("High score because: Director-level at 200+ property chain in MENA")
Missing data fields that could improve score are surfaced
US-003Immediate rep alert on email reply
As an SDR, I want to be notified immediately when a prospect replies to a sequence so I can follow up while interest is high.
Reply event from Klenty/Outplay triggers Slack message within 2 minutes
Slack alert includes: contact name, company, score, which email they replied to, reply preview
Sequence automatically paused on reply
CRM task created in HubSpot and assigned to rep
If no rep action within 4hrs, escalation alert fires to manager
US-004Automatic CRM campaign trigger on deal stage change
As a marketing ops manager, I want deal stage changes in HubSpot to automatically trigger the correct outbound campaign so that no segment goes un-nurtured.
✓HubSpot deal stage change triggers evaluation within 60 minutes
Correct campaign assigned based on deal stage mapping table
Suppression list checked before any sequence fires
Rep can override or pause campaign from dashboard within 30 minutes of trigger
US-005ICP-matched prospect auto-research
As a growth lead, I want the system to automatically research and enrich new prospects that match our ICP above 30% so that we always have a qualified pipeline without manual prospecting.
Prospects from Apollo/Seamless scored against ICP before research begins
Match ≥30%: contact research auto-runs (C-suite/Director filter applied)
Match <30%: routed to manual review queue with mismatch reasons
Researched contacts pushed to Klenty/Outplay with match score attached
US-006AI scoring recalibration suggestion
As a marketing ops manager, I want the AI panel to tell me when my scoring weights are producing poor conversion predictions so I can recalibrate without waiting for quarterly review.
System monitors correlation between score dimensions and deal conversion weekly
Suggestion fires when a dimension shows <15% predictive accuracy over 90 days
Suggestion includes recommended new weight and supporting data
Admin can accept suggestion (applies weight change) or dismiss

Delivery Roadmap

PHASE 1
Foundation
Weeks 1–6
HubSpot webhookDeduplicationHot/Warm/Cold classificationClearbit enrichmentApollo company pullBasic scoring (3 dimensions)First sequence triggers
PHASE 2
Intelligence
Weeks 7–12
Full 6-dimension scoringSequence branchingSlack handoff alertsCRM outbound campaignsApollo prospect discoveryICP matchingScore explanation UI
PHASE 3
Optimisation
Weeks 13–20
A/B sequence testingScore feedback loopProspect monitoringCompliance layerRevenue attributionAI suggestions panelFull reporting dashboard
PHASE 4
Scale
Weeks 21+
Win-back flowsGhosted pipeline segmentAuto ICP recalibrationPredictive next actionLinkedIn trigger layerMulti-channel attribution

Risks & Dependencies

HIGH
Scoring model undefined before build starts
Mitigation: 2-week scoring workshop with sales team before Phase 1 begins. Use historical deal data to validate initial weights.
HIGH
Enrichment API rate limits slow hot lead pipeline
Mitigation: Implement async enrichment queue. Cache domain-level data (company info reused for multiple contacts from same domain).
HIGH
HubSpot webhook reliability — missed lead events
Mitigation: Implement hourly HubSpot API poll as backup to webhooks. Dead-letter queue for failed deliveries.
MED
Klenty/Outplay API changes break sequence triggers
Mitigation: Abstract sequence delivery behind internal adapter layer. Switching tools requires only adapter change, not system rebuild.
MED
Low enrichment match rate for MENA region companies
Mitigation: Supplement Clearbit with regional data providers. Manual enrichment fallback for high-score leads with gaps.
MED
Rep adoption — alerts ignored, handoff system underused
Mitigation: Track rep alert action rate from Day 1. Monthly review. Escalation chain to manager if action rate below 60%.
LOW
A/B test results invalidated by small sample sizes
Mitigation: Only surface A/B results at n≥100 per variant. Flag inconclusive tests clearly in dashboard.

Compliance Requirements

Automated email sequences to enriched contacts carry legal obligations across GDPR, CAN-SPAM, and CASL. These are non-negotiable and must be implemented in Phase 1.

IDRequirementRegulationPriority
CO-01Every contact in an automated sequence has a logged consent basis before first sendGDPR / CASLP1
CO-02Unsubscribe processed within 24 hours and synced to HubSpot, Klenty, OutplayCAN-SPAM / GDPRP1
CO-03EU-flagged contacts receive GDPR-compliant footer and opt-out in every emailGDPRP1
CO-04Enrichment data purged after 18 months of no engagementGDPR Art. 5P2
CO-05Data processing agreement in place with Clearbit, Apollo, and Seamless before go-liveGDPR Art. 28P1
CO-06Audit log of all automated emails sent, with sender, recipient, timestamp, and sequence IDCAN-SPAMP1