Skip to main content

I.1: CRM & Pipeline Management

Track: I - Sales Workflow Section: I.1 - CRM & Pipeline Management Version: 1.0.0 Status: Complete

Executive Summary

This document provides comprehensive CRM configuration, lead scoring models, pipeline analytics, sales forecasting, and CRM-to-product integration specifications for BIO-QMS — a regulated SaaS Quality Management System for life sciences companies.

Key Components:

  • HubSpot CRM configuration with compliance-specific pipeline stages
  • 3 Ideal Customer Profiles (ICPs) with distinct deal cycles and ACVs
  • Multi-factor lead scoring model (MQL at 50, SQL at 75)
  • Pipeline analytics with conversion rates by stage and ICP
  • Sales forecasting with weighted pipeline methodology
  • Automated CRM-to-product integration for tenant provisioning

Business Context: BIO-QMS serves regulated life sciences companies requiring 21 CFR Part 11, GxP, and ISO 13485 compliance. Sales cycles range from 2-3 months (Biotech) to 9-18 months (Enterprise) due to compliance assessment, validation, and procurement processes.


I.1.1: CRM Configuration (HubSpot)

Platform Selection: HubSpot CRM

Rationale:

  • Native compliance features (audit trails, field history, data retention)
  • Advanced automation and workflow capabilities
  • Robust API for product integration (REST + Webhooks)
  • Custom object support for compliance artifacts
  • Enterprise-grade security (SOC 2 Type II, GDPR, HIPAA BAA available)

Pipeline Architecture

Deal Pipeline: BIO-QMS Sales

Stage Progression:

Lead → Compliance Assessment → POC → Pilot → Closed-Won
↓ ↓ ↓ ↓ ↓
Disqualified / Closed-Lost (can exit at any stage)

Stage Definitions:

StageEntry CriteriaExit CriteriaAvg. DurationOwner ActionSuccess Metrics
LeadInbound form, demo request, or outbound contactSQL qualification (score ≥75) or DQ3-7 daysDiscovery call, ICP fit assessment40% → SQL
Compliance AssessmentSQL accepted, compliance requirements identifiedGap analysis complete, technical fit confirmed2-4 weeksGap analysis workshop, validation requirement review60% → POC
POC (Proof of Concept)SOW signed, POC environment provisionedSuccess criteria met, technical validation complete3-6 weeksPOC delivery, validation documentation70% → Pilot
PilotPilot agreement signed, production tenant createdBusiness value proven, adoption metrics met4-8 weeksOnboarding, training, success review80% → Closed-Won
Closed-WonContract signed, payment terms agreedTenant provisioned, account transitioned to CS1-3 daysContract execution, handoff100% retention target
Closed-LostExplicit "no" or 90-day stale--Loss reason capture, future nurture30% re-engage rate

Stage Automation:

# HubSpot Workflow: Stage Transition Automation
workflows:
- name: "Lead → Compliance Assessment Automation"
trigger: "Deal stage changed to 'Compliance Assessment'"
actions:
- create_task:
title: "Schedule Gap Analysis Workshop"
assignee: "deal_owner"
due_date: "+3 days"
- send_email:
template: "compliance_assessment_kickoff"
recipient: "contact_primary"
cc: "deal_owner"
- create_custom_object:
object_type: "compliance_requirement"
properties:
deal_id: "{{deal.id}}"
assessment_status: "In Progress"
regulatory_frameworks: "[]"
- update_deal_property:
property: "assessment_start_date"
value: "{{now}}"

- name: "POC → Pilot Automation"
trigger: "Deal stage changed to 'Pilot'"
actions:
- webhook_call:
url: "https://api.bio-qms.com/v1/tenants/provision"
method: "POST"
payload:
deal_id: "{{deal.id}}"
company_name: "{{company.name}}"
environment: "pilot"
compliance_frameworks: "{{deal.compliance_frameworks}}"
- create_task:
title: "Pilot Onboarding Call"
assignee: "implementation_team"
due_date: "+2 days"
- send_email:
template: "pilot_welcome_kit"
recipient: "contact_primary"
- update_deal_property:
property: "pilot_start_date"
value: "{{now}}"

- name: "Closed-Won → Tenant Provisioning"
trigger: "Deal stage changed to 'Closed-Won'"
actions:
- webhook_call:
url: "https://api.bio-qms.com/v1/tenants/activate"
method: "POST"
payload:
deal_id: "{{deal.id}}"
contract_id: "{{deal.contract_id}}"
acv: "{{deal.amount}}"
seats: "{{deal.user_seats}}"
- create_customer_record:
portal: "customer_success"
- assign_csm:
tier: "{{deal.customer_tier}}"
- send_email:
template: "closed_won_welcome"
recipient: "contact_primary"

Custom Properties

Deal Properties

Compliance & Regulatory:

Property NameField TypeOptions/ValidationRequiredUsage
compliance_frameworksMulti-checkbox21 CFR Part 11, EU GMP Annex 11, ISO 13485, GAMP 5, MDSAP, ICH Q9YesGap analysis, pricing
regulatory_regionDropdownUS FDA, EU EMA, Health Canada, Japan PMDA, Multi-RegionYesCompliance requirements
validation_scopeDropdownCSV Only, Hybrid (CSV + Cloud), Full Cloud ValidationYesPOC scoping
audit_frequencyDropdownQuarterly, Biannual, Annual, Ad-HocNoRisk assessment
data_residencyDropdownUS East, EU West, Canada Central, Japan EastYesInfrastructure provisioning
gxp_criticalityDropdownGxP Critical, GxP Non-Critical, Non-GxPYesPricing tier

Business & Sizing:

Property NameField TypeOptions/ValidationRequiredUsage
annual_contract_valueCurrency (USD)Min: $48,000, Max: $1,200,000YesRevenue forecasting
user_seatsNumberMin: 10, Max: 1000YesLicensing
document_volume_annualNumberMin: 100, Max: 100,000YesStorage pricing
integration_countNumberMin: 0, Max: 20NoIntegration tier
custom_workflow_countNumberMin: 0, Max: 50NoProfessional services
training_user_countNumberMin: 0, Max: 500NoOnboarding services

Sales Process:

Property NameField TypeOptions/ValidationRequiredUsage
lead_source_detailDropdownInbound Demo, Content Download, Webinar, Conference, Partner Referral, Cold Outreach, Customer ReferralYesAttribution
icp_segmentDropdownMid-Market Pharma QA, Biotech IT, Enterprise VP QualityYesSegmentation
decision_criteriaMulti-checkboxCompliance Coverage, Ease of Use, Integration Capability, Cost, Vendor Stability, Support QualityNoWin/loss analysis
competitors_evaluatedMulti-checkboxMasterControl, Veeva Vault QMS, TrackWise, ETQ Reliance, Sparta Systems, Custom/LegacyNoCompetitive intel
poc_success_criteriaLong text-Yes (POC stage)POC planning
loss_reason_primaryDropdownPrice, Feature Gap, Timing, Competitor, No Decision, Budget CutYes (Closed-Lost)Loss analysis
expansion_potentialDropdownLow (<$50K), Medium ($50K-$150K), High (>$150K)NoAccount planning

Company Properties

Property NameField TypeOptions/ValidationRequiredUsage
company_typeDropdownPharma Manufacturer, Biotech, Medical Device, CRO/CDMO, Clinical Lab, Other Life SciencesYesICP fit
regulatory_statusDropdownFDA Registered, EU Authorized, Pre-Commercialization, Research OnlyYesCompliance requirements
quality_maturityDropdownPaper-Based, Hybrid Paper/Digital, Digital Legacy System, Modern QMSNoMigration complexity
employee_count_rangeDropdown10-50, 51-200, 201-500, 501-1000, 1001-5000, 5000+YesCompany size segmentation
annual_revenue_rangeDropdown<$10M, $10M-$50M, $50M-$200M, $200M-$1B, >$1BNoBudget assessment
compliance_team_sizeNumberMin: 1, Max: 100NoUser estimation

Contact Properties

Property NameField TypeOptions/ValidationRequiredUsage
job_functionDropdownQuality Assurance, Regulatory Affairs, IT/Systems, Operations, ExecutiveYesPersona mapping
decision_roleDropdownEconomic Buyer, Technical Buyer, Champion, Influencer, UserYesBuying committee
compliance_expertiseDropdownExpert (10+ years), Experienced (5-10 years), Intermediate (2-5 years), Novice (<2 years)NoMessaging
preferred_contact_methodDropdownEmail, Phone, LinkedIn, MS TeamsNoOutreach
content_engagement_scoreNumber0-100 (calculated)NoIntent signal

Custom Objects

Compliance Requirement (compliance_requirement)

Purpose: Track regulatory requirements, gap analysis findings, and mitigation strategies per deal.

Properties:

PropertyTypeDescription
requirement_idText (auto)Auto-generated (REQ-XXXXXX)
deal_idAssociationParent deal
frameworkDropdown21 CFR Part 11, EU GMP Annex 11, ISO 13485, etc.
requirement_textLong textFull requirement citation
current_stateDropdownNot Met, Partially Met, Fully Met, Not Applicable
gap_severityDropdownCritical, High, Medium, Low
mitigation_approachLong textHow BIO-QMS addresses gap
validation_requiredBooleanDoes this require validation deliverable?
estimated_effort_hoursNumberProfessional services estimate
statusDropdownOpen, In Progress, Resolved, Deferred

Associations:

  • Deal (1:N) - One deal has many compliance requirements
  • Quote Line Items (1:N) - Requirements drive professional services quotes

POC Success Criteria (poc_criteria)

Purpose: Define and track measurable POC outcomes.

Properties:

PropertyTypeDescription
criteria_idText (auto)Auto-generated (CRIT-XXXXXX)
deal_idAssociationParent deal
criteria_descriptionLong textWhat must be proven?
measurement_methodLong textHow will success be measured?
target_valueTextQuantitative target (e.g., "< 5 minutes per SOP approval")
actual_valueTextAchieved result
statusDropdownNot Started, In Progress, Met, Not Met, Deferred
weightNumber1-10 (importance weighting)
ownerUserWho is responsible for proving this?

Use Case Example:

poc_criteria:
- criteria_description: "Electronic signature workflow completes in < 5 minutes per approval"
measurement_method: "Timed user testing with 10 sample SOPs"
target_value: "< 5 minutes average"
actual_value: "3.2 minutes average (10 tests)"
status: "Met"
weight: 10

- criteria_description: "Audit trail captures all 21 CFR Part 11 required fields"
measurement_method: "Validation test script (10 audit events)"
target_value: "100% field capture"
actual_value: "100% (all fields captured)"
status: "Met"
weight: 10

- criteria_description: "Integration with existing ERP for training records"
measurement_method: "Bi-directional sync test (50 records)"
target_value: "< 5 minute sync latency, 0 data loss"
actual_value: "2.1 minute latency, 0 errors"
status: "Met"
weight: 8

I.1.2: Lead Scoring Model

Scoring Methodology

Model Type: Predictive scoring with firmographic, behavioral, and intent signals Thresholds:

  • MQL (Marketing Qualified Lead): 50 points
  • SQL (Sales Qualified Lead): 75 points
  • Hot Lead (immediate follow-up): 90+ points

Score Decay: -5 points per 30 days of inactivity (no email open, site visit, or content engagement)

Scoring Components

1. Firmographic Fit (0-40 points)

Company Type (0-15 points):

Company TypePointsRationale
Pharma Manufacturer15Core ICP, high ACV potential ($144K-$600K)
Medical Device Manufacturer15Core ICP, strong compliance needs
Biotech (51-200 employees)12Mid-market ICP, good fit
CRO/CDMO10Adjacent market, compliance-driven
Clinical Lab8Smaller ACVs but volume potential
Research Institution3Long sales cycles, budget constraints
Other0Poor fit

Company Size (0-10 points):

Employee CountPointsRationale
201-50010Sweet spot for mid-market deals
501-100010Enterprise deals, longer cycles but high ACV
51-2008Biotech ICP range
1001-50007Enterprise, complex buying
10-505Small but growing
5000+3Too large, entrenched systems

Regulatory Status (0-10 points):

StatusPointsRationale
FDA Registered + EU Authorized10Multi-region compliance needs
FDA Registered8Active US compliance
EU Authorized8Active EU compliance
Pre-Commercialization6Planning for compliance
Research Only2Low urgency

Revenue Range (0-5 points):

Annual RevenuePointsRationale
$50M-$200M5Budget for QMS, not too complex
$200M-$1B5Enterprise budget
$10M-$50M3Smaller budgets but feasible
>$1B2Complex procurement
<$10M0Budget constraints

2. Behavioral Engagement (0-35 points)

Website Activity (0-15 points):

ActivityPointsDecayNotes
Pricing page visit830 daysHigh intent
Compliance features page630 daysFeature interest
Case study page (3+ views)545 daysValidation seeking
Blog post (5+ reads)360 daysAwareness stage
Homepage visit114 daysTop of funnel

Content Engagement (0-12 points):

ActivityPointsDecayNotes
Whitepaper download (compliance)1045 daysHigh intent, gated content
Webinar attendance (live)830 daysActive engagement
Webinar on-demand545 daysSelf-education
eBook download460 daysAwareness content
Newsletter subscription2N/AOngoing engagement

Email Engagement (0-8 points):

ActivityPointsDecayNotes
Demo request form submission15N/ASQL trigger (auto-score)
Clicked CTA in nurture email (3+)530 daysEngaged prospect
Opened email (5+ in 30 days)330 daysConsistent engagement
Clicked any email link214 daysBasic engagement

3. Intent Signals (0-25 points)

Explicit Actions (0-15 points):

ActivityPointsDecayNotes
Demo request15N/ASQL trigger
"Talk to Sales" form15N/ASQL trigger
ROI calculator completed1030 daysEvaluation stage
Compliance gap assessment tool830 daysProblem awareness
Product comparison page630 daysActive evaluation

Third-Party Intent (0-10 points):

Signal SourcePointsDecayNotes
G2/Capterra profile view530 daysVendor research
LinkedIn engagement (3+ posts)430 daysBrand awareness
Competitor comparison search (keyword intel)830 daysActive buying mode

Score Calculation Logic

HubSpot Calculated Property: lead_score

// Pseudo-code for HubSpot calculated property
let score = 0;

// Firmographic
if (company.type === "Pharma Manufacturer") score += 15;
else if (company.type === "Medical Device") score += 15;
else if (company.type === "Biotech" && company.employees >= 51) score += 12;
// ... (full mapping)

// Behavioral (with decay)
const websiteVisits = contact.website_visits.filter(v => v.timestamp > now - 30days);
score += Math.min(15, websiteVisits.reduce((sum, visit) => {
if (visit.page === "/pricing") return sum + 8;
if (visit.page.includes("/compliance")) return sum + 6;
return sum;
}, 0));

// Content engagement
const contentDownloads = contact.content_downloads.filter(d => d.timestamp > now - 45days);
score += contentDownloads.reduce((sum, dl) => {
if (dl.type === "whitepaper" && dl.topic === "compliance") return sum + 10;
if (dl.type === "webinar" && dl.attendance === "live") return sum + 8;
return sum;
}, 0);

// Intent signals
if (contact.demo_requested) score += 15;
if (contact.roi_calculator_completed && contact.roi_calc_date > now - 30days) score += 10;

// Decay
const daysSinceLastActivity = (now - contact.last_activity_date) / 86400000;
if (daysSinceLastActivity > 30) {
const decayMonths = Math.floor(daysSinceLastActivity / 30);
score -= (decayMonths * 5);
}

return Math.max(0, score); // Never negative

MQL → SQL Qualification Criteria

Automated MQL (score ≥ 50):

  • Route to SDR queue for qualification call
  • Automated email: "We noticed you've been exploring BIO-QMS..."
  • SLA: SDR contact within 24 hours

SQL Criteria (score ≥ 75 + manual qualification):

CriterionRequired?Validation Method
Firmographic fit (ICP segment identified)YesCompany properties match one of 3 ICPs
Active compliance project (0-6 month timeline)YesDiscovery call confirmation
Budget authority identifiedYesContact decision_role = "Economic Buyer" or introduced
Minimum user count (10+ seats)YesDiscovery call confirmation
No active competitor POC in final stagesNoCompetitive intel question
Technical buyer accessibleNoBonus (accelerates deal)

SQL Handoff Process:

# HubSpot Workflow: MQL to SQL Handoff
trigger: "Contact lead score >= 75 AND lifecycle stage = MQL"
actions:
- create_deal:
pipeline: "BIO-QMS Sales"
stage: "Lead"
amount: "{{estimated_acv_from_icp}}"
owner: "{{contact.owner}}"
- create_task:
title: "SQL Qualification Call"
description: "Confirm BANT, identify compliance drivers, assess ICP fit"
assignee: "{{contact.owner}}"
due_date: "+1 business day"
- send_internal_notification:
channel: "#sales-qualified-leads"
message: "New SQL: {{contact.name}} at {{company.name}} (Score: {{lead_score}}, ICP: {{icp_segment}})"
- update_contact:
lifecycle_stage: "SQL"
sql_date: "{{now}}"

I.1.3: Pipeline Analytics

Key Metrics Dashboard

BIO-QMS Sales Analytics Dashboard (HubSpot Custom Report)

Overall Pipeline Health

MetricFormulaTargetCurrent (Example)
Total Pipeline ValueSUM(deal.amount WHERE stage != Closed-Lost)$3.5M+$4.2M
Weighted PipelineSUM(deal.amount × stage_probability)$1.8M+$2.1M
Average Deal SizeAVG(deal.amount WHERE stage = Closed-Won, last 90 days)$144K$156K
Win RateCOUNT(Closed-Won) / COUNT(Closed-Won + Closed-Lost)35%+38%
Average Sales CycleAVG(closed_date - created_date WHERE stage = Closed-Won)120 days118 days
Pipeline Coverage RatioWeighted Pipeline / Quarterly Quota3:13.2:1

Stage Conversion Rates

Overall Conversion Funnel:

Lead (100%)
↓ 40% convert
Compliance Assessment (40%)
↓ 60% convert
POC (24%)
↓ 70% convert
Pilot (16.8%)
↓ 80% convert
Closed-Won (13.4%)

Stage-by-Stage Analysis:

Stage TransitionConversion RateAvg. Time in StageDeal Velocity ImpactKey Drop-off Reasons
Lead → Compliance Assessment40%5 daysLow (fast stage)Not ICP fit (35%), No active project (40%), Budget (15%), Competitor locked (10%)
Compliance Assessment → POC60%18 daysMediumFeature gaps (25%), Complexity concerns (20%), Internal priority shift (30%), Budget (15%)
POC → Pilot70%28 daysHigh (longest stage)POC criteria not met (30%), Performance issues (10%), Change management resistance (25%), Budget approval delay (20%)
Pilot → Closed-Won80%35 daysHighProcurement delays (40%), Budget reallocation (15%), Executive turnover (10%), Competitor late entry (15%)

Conversion Rate by ICP Segment:

ICP SegmentLead → SQLSQL → POCPOC → PilotPilot → WonOverall Win RateAvg. Cycle
Mid-Market Pharma QA45%65%75%85%15.7%105 days
Biotech IT50%70%80%90%25.2%68 days
Enterprise VP Quality30%50%60%70%6.3%385 days

Key Insights:

  • Biotech IT has highest win rate (25.2%) and fastest cycle (68 days) → prioritize this ICP
  • Enterprise VP Quality has 6x longer sales cycle → requires dedicated enterprise AE resources
  • POC → Pilot transition is critical control point (70% conversion) → invest in POC delivery excellence

Deal Cycle Analysis

Average Deal Cycle by ICP:

ICP SegmentLeadCompliance AssessmentPOCPilotTotal Cycle
Biotech IT3 days12 days21 days32 days68 days (2.3 months)
Mid-Market Pharma QA5 days18 days28 days54 days105 days (3.5 months)
Enterprise VP Quality12 days45 days120 days208 days385 days (12.8 months)

Deal Velocity Factors (Regression Analysis):

FactorImpact on Cycle TimeCoefficientNotes
Champion identified in first call-18 days-0.22Strong internal advocate accelerates
Multi-region compliance requirements+32 days+0.31Complexity adds validation time
Existing QMS replacement (vs. greenfield)+21 days+0.19Change management overhead
Technical buyer engaged before POC-14 days-0.15Reduces POC iteration
C-level economic buyer accessible-25 days-0.28Faster budget approvals
> 3 stakeholders in buying committee+28 days+0.26Consensus delays
Professional services > $50K+15 days+0.12Scoping and approvals

Formula (Estimated Cycle Time):

Estimated_Days = Base_ICP_Cycle
+ (32 × multi_region)
+ (21 × replacement_vs_greenfield)
+ (28 × stakeholder_count_over_3)
+ (15 × prof_services_over_50k)
- (18 × champion_identified)
- (14 × technical_buyer_early)
- (25 × c_level_accessible)

Use Case: When a Mid-Market Pharma QA deal is created with:

  • Multi-region (US + EU): +32 days
  • Replacing legacy QMS: +21 days
  • 5 stakeholders: +28 days
  • Champion identified: -18 days

Estimated cycle: 105 + 32 + 21 + 28 - 18 = 168 days (5.6 months) vs. baseline 105 days

Win/Loss Analysis

Win Rate Trends (Last 12 Months):

QuarterDeals ClosedWonLostWin RateAvg. Deal SizeTotal Revenue
Q1 20251861233%$138K$828K
Q2 20252491538%$152K$1.37M
Q3 202528111739%$164K$1.80M
Q4 20252291341%$171K$1.54M
Total92355738%$157K$5.55M

Win/Loss Reasons (Closed-Lost Deals, N=57):

Primary Loss ReasonCount%Secondary Factors
Competitor (feature advantage)1832%MasterControl (8), Veeva Vault (6), TrackWise (4)
Price1425%Budget cuts (6), cheaper competitor (5), built in-house (3)
No Decision1018%Project shelved (6), priorities changed (4)
Timing712%Decided to wait 6-12 months
Feature Gap59%Custom workflow needs (3), integration requirements (2)
Internal Solution35%Built custom on existing platform

Win Reasons (Closed-Won Deals, N=35):

Primary Win ReasonCount%Contributing Factors
Compliance Coverage1440%Multi-framework support, validation documentation
Ease of Use926%User adoption concerns with competitors
Total Cost of Ownership617%Lower TCO vs. MasterControl, Veeva
Implementation Speed411%Faster time-to-value vs. on-prem
Integration Capabilities26%API-first, pre-built connectors

Competitive Win/Loss Matrix:

CompetitorHead-to-Head DealsBIO-QMS WinsWin RateCommon Win ThemesCommon Loss Themes
MasterControl12433%Ease of use, modern UX, costFeature depth, brand trust, enterprise references
Veeva Vault QMS8225%Cost, implementation speedEnterprise features, ecosystem lock-in
TrackWise6350%Modern platform, cloud-nativeIncumbent inertia, "good enough"
ETQ Reliance5360%UX, compliance automationFeature parity, integrations
In-House/Custom4125%Compliance expertise, validation support"Free" (already built), control

Action Items from Analysis:

  1. Competitive Positioning:

    • Strengthen enterprise reference stories (vs. MasterControl)
    • Develop TCO calculator (vs. Veeva Vault QMS)
    • Create "migration from TrackWise" battle card
  2. Feature Prioritization:

    • Custom workflow builder (5 losses due to gaps)
    • ERP integrations beyond SAP (2 losses)
  3. Pricing Strategy:

    • 14 price losses (25%) → review mid-market packaging
    • Develop "pilot-to-production" discount structure

I.1.4: Sales Forecasting

Forecasting Methodology

Model: Weighted Pipeline with Stage-Based Probability Forecast Horizon: 90 days (rolling) Update Frequency: Weekly (Mondays) Owner: VP Sales

Stage Probability Weights

Standard Weights (Baseline):

StageProbability WeightRationale
Lead10%Early qualification, high attrition
Compliance Assessment25%Technical fit established, still early
POC50%Active evaluation, resource commitment
Pilot75%Business value proven, late-stage
Closed-Won100%Contract signed
Closed-Lost0%Out of pipeline

ICP-Adjusted Weights:

StageBiotech ITMid-Market PharmaEnterprise VP Quality
Lead12%10%5%
Compliance Assessment30%25%15%
POC60%50%35%
Pilot85%75%60%

Dynamic Adjustments (Applied Multipliers):

FactorMultiplierApplied When
Deal stale (no activity > 14 days)0.7×Reduces probability by 30%
Champion identified1.2×Increases probability by 20%
C-level engaged1.15×Increases probability by 15%
Budget approved1.25×Increases probability by 25%
Competitor in final stage0.8×Reduces probability by 20%
Multi-stakeholder consensus0.9×Reduces probability by 10%

Example Calculation:

Deal: Mid-Market Pharma QA - Acme Biopharma
Stage: POC
Amount: $144,000
Base Probability: 50%
Adjustments:
- Champion identified: 1.2×
- Stale (21 days no activity): 0.7×
- Multi-stakeholder (5 people): 0.9×

Adjusted Probability = 50% × 1.2 × 0.7 × 0.9 = 37.8%
Weighted Value = $144,000 × 37.8% = $54,432

Forecast Categories

HubSpot Forecast Categories (Custom Deal Property: forecast_category):

CategoryCriteriaProbability RangeRep Confidence
CommitPilot stage + budget approved + close date ≤ 30 days75-90%High confidence close
Best CasePOC/Pilot stage + active engagement + close date ≤ 60 days50-74%Likely but not certain
PipelineAny stage + close date ≤ 90 days10-49%In forecast horizon
OmittedClose date > 90 days OR stale > 30 daysAnyExcluded from forecast

Forecast Roll-Up:

Total Forecast = Commit + (Best Case × 0.7) + (Pipeline × 0.3)

Example Forecast (Q1 2026):

CategoryDeal CountTotal ValueWeighted Value
Commit6$842K$758K (90% avg weight)
Best Case14$1.92M$1.34M (70% multiplier)
Pipeline28$3.15M$945K (30% multiplier)
Total Forecast48$5.91M$3.04M

Quota Tracking

Quarterly Quota Structure:

RoleQ1 2026 QuotaQ2 2026 QuotaAnnual Quota
AE (Mid-Market)$400K$450K$1.8M
AE (Enterprise)$500K$550K$2.2M
Team (4 AEs total)$1.8M$2.0M$8.0M

Quota Attainment Dashboard:

AEQ1 QuotaClosed-Won (QTD)CommitBest CaseForecastAttainmentPace
Sarah Chen$400K$185K$148K$92K$425K46%106%
Michael Torres$400K$220K$96K$118K$434K55%109%
Priya Kapoor$500K (Ent)$0$420K$175K$595K0%119%
James Liu$400K$156K$118K$135K$409K39%102%
Team Total$1.7M$561K$782K$520K$1.86M33%109%

Metrics Definitions:

  • Attainment: Closed-Won / Quota (QTD progress)
  • Pace: Forecast / Quota (projected end-of-quarter performance)
  • At-Risk: Pace < 80% (requires intervention)

Forecast Accuracy Tracking:

QuarterForecasted (Week 1)Actual ClosedAccuracyVariance
Q4 2024$1.65M$1.54M93%-$110K
Q1 2025$925K$828K89%-$97K
Q2 2025$1.48M$1.37M93%-$110K
Q3 2025$1.92M$1.80M94%-$120K
Avg Accuracy--92%-6% (conservative bias)

Insight: Forecasts are consistently conservative (~6% under). Consider adjusting stage weights upward by 5-10% to improve accuracy.

Revenue Waterfall Analysis

Q1 2026 Revenue Waterfall (as of Week 8):

Starting Pipeline (Week 1):        $4.2M (weighted: $2.1M)
+ New Deals Created: $1.8M (weighted: $450K)
+ Stage Progression (upweights): +$320K (weighted impact)
- Closed-Won (removed): -$561K (actual revenue)
- Closed-Lost (removed): -$680K (lost deals)
- Stage Regression (downweights): -$180K (weighted impact)
- Push to Q2 (date changes): -$420K (out of horizon)
= Ending Pipeline (Week 8): $4.48M (weighted: $2.03M)

Forecast: $2.03M (weighted) → $1.86M (category-adjusted)

Weekly Forecast Trend (Q1 2026):

WeekWeighted PipelineCommitBest CaseForecastClosed-Won (QTD)Notes
1$2.10M$640K$1.25M$1.77M$0Start of quarter
2$2.18M$680K$1.18M$1.81M$03 new deals added
3$2.05M$620K$1.32M$1.78M$148KFirst close (Acme Bio)
4$2.12M$720K$1.20M$1.84M$148K2 deals → Pilot
5$1.95M$685K$1.05M$1.72M$304K$156K closed, $280K lost
6$2.08M$740K$1.12M$1.86M$304KRecovery, new POCs
7$2.01M$710K$1.18M$1.84M$413K$109K closed
8$2.03M$782K$1.10M$1.86M$561K$148K closed

Trend: Forecast stable at ~$1.8M despite volatility from wins/losses. On pace for 109% quota attainment.


I.1.5: CRM-to-Product Integration

Integration Architecture

Webhook Events

HubSpot → BIO-QMS Events:

TriggerHubSpot EventWebhook EndpointPayload
Deal → Pilotdeal.propertyChange (dealstage = Pilot)POST /webhooks/hubspot/deal-pilotdeal_id, company_id, properties
Deal → Closed-Wondeal.propertyChange (dealstage = Closed-Won)POST /webhooks/hubspot/deal-wondeal_id, contract details
Contact Createdcontact.creationPOST /webhooks/hubspot/contact-newcontact_id, company_id
Company Updatedcompany.propertyChangePOST /webhooks/hubspot/company-updatecompany_id, changed properties

BIO-QMS → HubSpot Events:

TriggerProduct EventHubSpot API CallData Updated
Tenant provisionedtenant.provisionedPATCH /deals/{id}custom property: tenant_id, environment_url
User login (first)user.first_loginPATCH /deals/{id}custom property: pilot_activation_date
Health score changehealth.score_updated (daily)PATCH /deals/{id}custom property: product_health_score
Support ticket createdsupport.ticket_createdCreate HubSpot TicketLink to deal, assign to CSM

Pilot Provisioning Workflow

Trigger: Deal stage changes to "Pilot"

Automated Actions:

# Step 1: HubSpot Webhook → BIO-QMS
webhook_payload:
subscription_type: "deal.propertyChange"
portal_id: 12345678
object_id: 9876543210 # deal ID
property_name: "dealstage"
property_value: "Pilot"
occurred_at: "2026-02-16T10:30:00Z"

# Step 2: BIO-QMS Tenant Provisioning
POST https://api.bio-qms.com/v1/tenants/provision
Authorization: Bearer {api_key}
Content-Type: application/json

{
"deal_id": "9876543210",
"company_name": "Acme Biopharma",
"environment": "pilot",
"compliance_frameworks": ["21_cfr_part_11", "eu_gmp_annex_11"],
"data_residency": "us_east",
"user_seats": 25,
"admin_email": "qa.director@acmebio.com",
"admin_first_name": "Jane",
"admin_last_name": "Smith",
"pilot_duration_days": 60,
"features": [
"document_control",
"training_management",
"capa",
"audit_management",
"electronic_signatures"
],
"integrations": ["sap_ecc", "veeva_vault_edms"],
"metadata": {
"hubspot_company_id": "123456789",
"hubspot_deal_id": "9876543210",
"sales_owner_email": "sarah.chen@bio-qms.com"
}
}

# Step 3: Provisioning Response
{
"tenant_id": "acme_biopharma_pilot",
"environment_url": "https://acme-biopharma-pilot.bio-qms.com",
"admin_password_reset_url": "https://acme-biopharma-pilot.bio-qms.com/reset?token=...",
"api_key": "sk_pilot_abc123...",
"provisioned_at": "2026-02-16T10:32:15Z",
"expires_at": "2026-04-17T23:59:59Z",
"status": "active"
}

# Step 4: Update HubSpot Deal
PATCH https://api.hubapi.com/crm/v3/objects/deals/9876543210
Authorization: Bearer {hubspot_api_key}
Content-Type: application/json

{
"properties": {
"tenant_id": "acme_biopharma_pilot",
"pilot_environment_url": "https://acme-biopharma-pilot.bio-qms.com",
"pilot_start_date": "2026-02-16",
"pilot_end_date": "2026-04-17",
"pilot_status": "Active"
}
}

# Step 5: Send Welcome Email (via HubSpot Workflow)
# Triggered by pilot_status = "Active"
# Template: "Pilot Welcome Kit"
# Recipient: Contact (primary)
# Attachments: Quick Start Guide PDF, Validation Documentation

Closed-Won Tenant Activation

Trigger: Deal stage changes to "Closed-Won"

Workflow:

# Step 1: Validate Contract Data
required_fields:
- contract_id (HubSpot deal property)
- signed_contract_url (HubSpot document attachment)
- payment_terms (Net 30, Net 60, Annual Prepay)
- user_seats (licensed count)
- annual_contract_value
- contract_start_date
- contract_end_date

# Step 2: Activate Production Tenant
POST https://api.bio-qms.com/v1/tenants/activate
Authorization: Bearer {api_key}

{
"deal_id": "9876543210",
"tenant_id": "acme_biopharma_prod", # New production tenant
"migrate_from_pilot": "acme_biopharma_pilot", # Optional: migrate data
"contract": {
"contract_id": "CONTRACT-2026-0142",
"start_date": "2026-02-16",
"end_date": "2027-02-15",
"annual_value": 144000,
"billing_frequency": "annual",
"payment_terms": "net_30"
},
"licensing": {
"user_seats": 50,
"document_storage_gb": 500,
"api_calls_monthly": 100000
},
"features": ["all"], # Full production feature set
"sla_tier": "standard" # or "premium" for Enterprise
}

# Step 3: Provision Users
POST https://api.bio-qms.com/v1/tenants/acme_biopharma_prod/users/bulk
{
"users": [
{
"email": "qa.director@acmebio.com",
"first_name": "Jane",
"last_name": "Smith",
"role": "admin",
"send_invite": true
},
# ... additional users from HubSpot company contacts
]
}

# Step 4: Update HubSpot + Create CS Record
PATCH /crm/v3/objects/deals/9876543210
{
"properties": {
"tenant_id": "acme_biopharma_prod",
"production_url": "https://acme-biopharma.bio-qms.com",
"go_live_date": "2026-02-16",
"tenant_status": "Active",
"mrr": 12000, # $144K / 12
"arr": 144000
}
}

POST /crm/v3/objects/customers
{
"properties": {
"name": "Acme Biopharma",
"domain": "acmebio.com",
"tenant_id": "acme_biopharma_prod",
"arr": 144000,
"contract_start": "2026-02-16",
"contract_end": "2027-02-15",
"csm_owner": "{{assign_csm_based_on_arr}}",
"health_score": 70, # Initial score
"lifecycle_stage": "customer"
}
}

# Step 5: Handoff to Customer Success
create_task:
title: "New Customer Onboarding - Acme Biopharma"
assignee: "{{csm_owner}}"
due_date: "+1 business day"
description: |
Customer Details:
- Company: Acme Biopharma
- ACV: $144,000
- Seats: 50
- Primary Contact: Jane Smith (qa.director@acmebio.com)
- Compliance Frameworks: 21 CFR Part 11, EU GMP Annex 11

Actions Required:
1. Schedule kickoff call (within 48 hours)
2. Review pilot POC success criteria
3. Develop 90-day success plan
4. Set up QBRs (quarterly)

Health Score Sync

Purpose: Sync product usage and health metrics back to HubSpot for customer success visibility.

Health Score Components:

ComponentWeightData SourceCalculation
Product Usage40%Login frequency, feature adoption(DAU/Seats) × 0.4 + (Features Used / Features Licensed) × 0.6
Support Health20%Ticket volume, severity, resolution time100 - (Critical Tickets × 10 + High Tickets × 5)
Compliance Activity25%Document approvals, audit trails, training completion(Active Workflows / Total) × 0.5 + (Training Completion %) × 0.5
Engagement15%QBR attendance, NPS, exec engagementNPS/10 + (QBR Attendance %) × 0.5

Health Score Scale:

Score RangeStatusInterpretationCS Action
80-100Healthy (Green)High adoption, low riskExpansion opportunity
60-79At-Risk (Yellow)Moderate engagement, watch closelyIncrease touchpoints
40-59Critical (Orange)Low usage, high churn riskIntervention required
0-39Churning (Red)Disengaged, imminent churnExecutive escalation

Daily Sync Job:

# Pseudo-code: Daily health score sync
# Runs: 2:00 AM UTC daily

def sync_health_scores():
for tenant in active_tenants:
# Calculate health score
usage_score = calculate_usage_score(tenant.id)
support_score = calculate_support_score(tenant.id)
compliance_score = calculate_compliance_score(tenant.id)
engagement_score = calculate_engagement_score(tenant.id)

health_score = (
usage_score * 0.40 +
support_score * 0.20 +
compliance_score * 0.25 +
engagement_score * 0.15
)

# Determine status
if health_score >= 80:
status = "Healthy"
elif health_score >= 60:
status = "At-Risk"
elif health_score >= 40:
status = "Critical"
else:
status = "Churning"

# Update HubSpot
hubspot.update_company(
company_id=tenant.hubspot_company_id,
properties={
"product_health_score": health_score,
"health_status": status,
"last_health_update": now(),
"dau_7day": tenant.dau_7day,
"feature_adoption_pct": tenant.feature_adoption,
"open_support_tickets": tenant.open_tickets
}
)

# Trigger CS alerts if status change
if tenant.previous_status == "Healthy" and status == "At-Risk":
create_task(
title=f"Health Score Drop: {tenant.name}",
assignee=tenant.csm,
priority="High"
)

HubSpot Workflow: Health Score Alerts

# Triggered when health_status changes
workflows:
- name: "Health Score - At-Risk Alert"
trigger: "Company property 'health_status' changed to 'At-Risk'"
actions:
- create_task:
title: "Customer At-Risk: {{company.name}}"
description: "Health score dropped to {{health_score}}. Review usage and schedule check-in."
assignee: "{{company.csm_owner}}"
priority: "High"
due_date: "+2 business days"
- send_internal_email:
to: "{{company.csm_owner}}"
subject: "Action Required: {{company.name}} Health Score At-Risk"
template: "csm_health_alert"
- add_to_list:
list: "At-Risk Customers"

- name: "Health Score - Critical Alert"
trigger: "Company property 'health_status' changed to 'Critical'"
actions:
- create_task:
title: "URGENT: Customer Critical - {{company.name}}"
assignee: "{{company.csm_owner}}"
priority: "Urgent"
due_date: "+1 business day"
- send_internal_email:
to: ["{{company.csm_owner}}", "vp.customer.success@bio-qms.com"]
subject: "CRITICAL: {{company.name}} Health Score Critical"
- create_meeting:
title: "Emergency Review - {{company.name}}"
attendees: ["{{company.csm_owner}}", "vp.customer.success@bio-qms.com"]
duration: 30

Activity Log Integration

Purpose: Log key product activities back to HubSpot timeline for unified customer view.

Logged Events:

Event TypeTriggerHubSpot ObjectTimeline Entry
First LoginUser first authenticatesDeal (Pilot stage)"Admin Jane Smith logged in for first time"
Document ApprovedSOP approval workflow completedCompany"SOP-001 'Quality Manual' approved by 3 users"
Training CompletedUser completes training moduleContact"Jane Smith completed '21 CFR Part 11' training"
Audit PassedInternal audit closed with no findingsCompany"Internal audit Q1-2026 closed - 0 findings"
Support TicketHigh/Critical ticket createdCompany + Deal"Critical ticket opened: 'System performance issue'"
Feature AdoptedFirst use of key featureCompany"First CAPA created (Feature Adoption milestone)"

API Example:

# BIO-QMS Product → HubSpot Timeline Event
POST https://api.hubapi.com/crm/v3/timeline/events
Authorization: Bearer {hubspot_api_key}

{
"eventTemplateId": "123456", # Pre-configured in HubSpot
"objectId": "company_123456789", # Company ID
"tokens": {
"event_name": "Document Approved",
"document_id": "SOP-001",
"document_title": "Quality Manual",
"approved_by": "Jane Smith, Michael Lee, Sarah Chen",
"approval_date": "2026-02-16T14:32:00Z",
"compliance_framework": "21 CFR Part 11"
},
"timestamp": "2026-02-16T14:32:00Z"
}

I.1.6: ICP Deep Dive

ICP 1: Mid-Market Pharma QA (Quality Assurance Director)

Profile:

AttributeValue
Company TypePharmaceutical manufacturer, generic drug maker
Company Size201-500 employees
Revenue$50M-$200M
Regulatory StatusFDA registered, often pursuing EU authorization
Quality Team Size8-20 QA professionals
Current QMSPaper-based or legacy system (TrackWise, MasterControl on-prem)

Persona: Sarah Chen, Director of Quality Assurance

  • Age: 42
  • Education: MS in Pharmaceutical Sciences, 18 years in QA
  • Reports to: VP Operations
  • Team: 12 direct reports (QA managers, specialists, coordinators)
  • Budget Authority: Up to $250K without exec approval
  • Pain Points:
    • Manual document control (paper signatures, version control chaos)
    • Audit prep takes 200+ hours (scrambling for records)
    • Training compliance gaps (paper-based tracking, missing signatures)
    • Legacy QMS is on-prem, IT won't maintain it, vendor wants $400K for cloud migration
    • FDA inspection coming in 6 months (urgency)

Buying Process:

StageDurationKey ActivitiesStakeholders
Awareness2-4 weeksResearching modern QMS, comparing vendorsSarah (solo)
Consideration3-6 weeksDemos, gap analysis, internal business caseSarah, IT Director, CFO (budget)
Evaluation4-8 weeksPOC, validation review, vendor selectionSarah (lead), IT (technical), CFO (commercial), VP Ops (exec sponsor)
Purchase2-4 weeksContract negotiation, legal review, POCFO, Legal, Procurement

Decision Criteria (Weighted):

  1. Compliance Coverage (30%): 21 CFR Part 11, EU GMP Annex 11, FDA audit-ready
  2. Ease of Use (25%): User adoption critical (QA team is not technical)
  3. Implementation Speed (20%): Must go live before FDA inspection (6 months)
  4. Total Cost (15%): Software + implementation + validation < $200K Year 1
  5. Vendor Stability (10%): Can they support us for 5+ years?

Typical Deal:

  • ACV: $144K-$240K ($12K-$20K per month)
  • User Seats: 25-50
  • Contract Length: 1 year initial (annual renewal), 3-year with discount
  • Professional Services: $40K-$80K (validation, migration, training)
  • Total Year 1 Cost: $184K-$320K
  • Sales Cycle: 3.5 months (105 days)
  • Win Rate: 42%

Messaging:

  • Value Prop: "FDA audit-ready in 90 days — modern QMS without the IT headache"
  • Pain-Driven: "Stop scrambling for audit records. Electronic trails, always compliant."
  • Differentiator: "Built for QA teams, not IT. Your team will actually use it."

ICP 2: Biotech IT (IT Director / Head of Systems)

Profile:

AttributeValue
Company TypeBiotech startup/scale-up, gene therapy, cell therapy
Company Size51-200 employees
Revenue$10M-$50M (Series B/C funded, pre-commercial)
Regulatory StatusPreparing for IND/BLA submission, FDA pre-approval
Quality Team Size3-8 QA professionals
Current QMSSpreadsheets, shared drives, eTMF/CTMS but no QMS

Persona: Michael Torres, Head of IT & Systems

  • Age: 36
  • Education: BS Computer Science, 12 years in biotech/pharma IT
  • Reports to: COO or CTO
  • Team: 4 IT staff (sysadmin, data engineer, IT support, him)
  • Budget Authority: Up to $100K (cloud services budget)
  • Pain Points:
    • CEO mandate: "Get us IND-ready in 4 months"
    • No QMS — everything is in SharePoint/Google Drive (compliance nightmare)
    • QA team is begging for a proper system (audit trails, e-signatures)
    • Can't afford big enterprise QMS ($500K+ MasterControl/Veeva)
    • Small IT team — need SaaS, can't manage on-prem
    • Must integrate with existing systems (eTMF, ERP, LIMS)

Buying Process:

StageDurationKey ActivitiesStakeholders
Awareness1 weekCEO directive, rapid vendor researchMichael (lead)
Consideration2-3 weeksDemos (3-4 vendors), quick technical evalMichael, QA Manager, CFO
Evaluation3-4 weeksPOC (fast, 2 weeks max), integration testingMichael, QA Manager, IT team
Purchase1-2 weeksContract, credit card or quick POCFO, CEO (approval)

Decision Criteria (Weighted):

  1. Time to Value (35%): Must go live in < 60 days
  2. Integration Capability (25%): API-first, pre-built connectors (eTMF, ERP)
  3. Cost (20%): < $100K all-in Year 1
  4. Ease of Implementation (15%): Minimal IT involvement, SaaS turnkey
  5. Scalability (5%): Can grow with us to commercial stage

Typical Deal:

  • ACV: $48K-$96K ($4K-$8K per month)
  • User Seats: 10-25
  • Contract Length: 1 year (monthly or annual), 2-year with discount
  • Professional Services: $15K-$30K (integrations, training)
  • Total Year 1 Cost: $63K-$126K
  • Sales Cycle: 2.3 months (68 days)
  • Win Rate: 52% (highest of 3 ICPs)

Messaging:

  • Value Prop: "IND-ready QMS in 30 days — no IT overhead, API-first integrations"
  • Urgency-Driven: "FDA submission deadline? We'll get you compliant fast."
  • Differentiator: "Built for agile biotech, not legacy pharma. Integrate everything."

ICP 3: Enterprise VP Quality (Vice President of Quality)

Profile:

AttributeValue
Company TypeLarge pharmaceutical, multinational medical device
Company Size1000-5000 employees
Revenue$500M-$5B
Regulatory StatusMulti-region (US FDA, EU EMA, Japan PMDA), mature compliance
Quality Team Size50-150 professionals across sites
Current QMSEnterprise QMS (MasterControl, Veeva Vault, custom) nearing EOL or underperforming

Persona: Dr. Priya Kapoor, VP Global Quality

  • Age: 51
  • Education: PhD Pharmaceutical Sciences, 25 years in Quality (Pfizer, Novartis, now smaller pharma)
  • Reports to: Chief Operations Officer
  • Team: 80 global QA professionals (6 site QA managers, 12 specialists, rest coordinators/analysts)
  • Budget Authority: $1M+ (but requires CFO + COO approval for >$500K)
  • Pain Points:
    • Current QMS (MasterControl) is 12 years old, poor UX, high maintenance cost ($600K/year)
    • Multi-site deployment (US, EU, Asia) — data residency compliance complex
    • Vendor lock-in — wants modern API-first platform for future M&A integrations
    • Compliance across 3 regulatory regions (FDA, EMA, PMDA) — needs multi-framework support
    • Executive pressure to reduce quality costs by 20% while improving audit outcomes

Buying Process:

StageDurationKey ActivitiesStakeholders
Awareness3-6 monthsRFI process, industry research, analyst reports (Gartner)Priya, Procurement, IT Enterprise Architect
Consideration4-6 monthsRFP, vendor shortlist (5 → 2), detailed demos12-person evaluation committee
Evaluation6-9 monthsPOC at 1 site, validation review, security audit, TCO analysisEvaluation committee + Legal + InfoSec + Finance
Purchase3-6 monthsContract negotiation, MSA, BAA, DPA, SOWs, budget approval (Board)CFO, General Counsel, CPO, COO (final sign-off)

Decision Criteria (Weighted):

  1. Vendor Viability (25%): Financial stability, roadmap, enterprise support SLAs
  2. Multi-Region Compliance (25%): Data residency, 21 CFR Part 11 + EU Annex 11 + PMDA
  3. Integration & Extensibility (20%): API platform, ERP/PLM/MES integrations
  4. Total Cost of Ownership (15%): 5-year TCO including implementation, licenses, maintenance
  5. User Experience (10%): Must drive adoption across 80-person global team
  6. Security & Compliance (5%): SOC 2 Type II, ISO 27001, GDPR, HIPAA BAA

Typical Deal:

  • ACV: $420K-$600K (multi-site)
  • User Seats: 100-300
  • Contract Length: 3-5 years (enterprise agreement)
  • Professional Services: $200K-$400K (multi-site implementation, validation, change management)
  • Total Year 1 Cost: $620K-$1M
  • Sales Cycle: 12.8 months (385 days)
  • Win Rate: 18% (long cycle, competitive, high loss rate)

Messaging:

  • Value Prop: "Enterprise QMS platform for multi-region compliance — reduce TCO by 30%"
  • Strategic: "Future-proof quality operations with API-first architecture for M&A integration"
  • Differentiator: "Modern platform, enterprise reliability — no vendor lock-in"

I.1.7: Sales Playbooks by ICP

Playbook 1: Mid-Market Pharma QA

Target: Sarah Chen, Director of Quality Assurance

Outreach Sequence:

# Email 1: Pain-Driven (Day 1)
subject: "FDA audit prep taking 200+ hours? [firstname]"
body: |
Hi Sarah,

I work with mid-market pharma QA teams preparing for FDA inspections.
Common pain point: scrambling for audit records because everything's in
paper binders or a legacy system that IT won't touch.

Quick question: How long does your team spend prepping for an FDA audit?

If you're looking to cut that time by 80% (and go electronic), I'd love
to show you how 3 pharma QA directors did it in < 90 days.

15-minute call this week?

Best,
[rep_name]

# Follow-Up 1: Case Study (Day 4 if no reply)
subject: "Case study: PharmaCo went from paper to audit-ready in 87 days"
body: |
Sarah,

Following up — thought you'd find this relevant:

[Case Study Link: PharmaCo]
- 250-person pharma manufacturer (generic drugs)
- 100% paper QMS → fully electronic in 87 days
- First FDA audit post-go-live: zero QMS findings

Their QA director (similar role to yours) said the biggest win was
"no more panic before audits — everything's one click away."

Worth a 15-minute conversation?

# Follow-Up 2: Audit Prep Checklist (Day 8 if no reply)
subject: "Free: FDA audit prep checklist (electronic QMS)"
attach: "FDA_Audit_Prep_Checklist_Electronic_QMS.pdf"
body: |
Sarah,

Even if you're not in the market for a new QMS right now, this checklist
might help your next audit prep.

Covers: e-signature compliance, audit trail requirements, document control
best practices, and more.

No strings attached. Hope it's useful.

# Follow-Up 3: Break-Up Email (Day 12 if no reply)
subject: "Should I close your file?"
body: |
Sarah,

I haven't heard back, so I'm assuming now's not the right time.

I'll close your file unless you'd like me to check back in
[3 months / before your next FDA inspection / Q3 when budgets refresh].

Just reply "Yes, follow up in Q3" or "Not interested" and I'll respect that.

Thanks,
[rep_name]

Discovery Call Script:

# Mid-Market Pharma QA Discovery Call (30 min)

## Intro (2 min)
"Thanks for taking the time, Sarah. I know QA directors are slammed.
Before I show you anything, I want to understand your world — your QMS
challenges, upcoming audits, and what 'success' looks like for you.
Sound good?"

## Pain Discovery (10 min)
1. "Walk me through your current QMS setup. Paper? Hybrid? Legacy system?"
2. "When's your next FDA inspection? Any specific prep stress points?"
3. "How long does audit prep typically take your team? (hours/people)"
4. "What are the top 3 pain points with your current system?"
- [Probe: document control, training tracking, CAPA workflows, e-signatures]
5. "If you could wave a magic wand and fix one thing about your QMS, what would it be?"
6. "What's the business impact of these pain points? (audit findings, team morale, time)"

## Compliance Requirements (5 min)
1. "Which regulatory frameworks apply to you? (21 CFR Part 11, EU Annex 11, others?)"
2. "Any upcoming regulatory milestones? (EU authorization, new product launch, site expansion?)"
3. "Has IT or Regulatory weighed in on QMS requirements?"

## Budget & Timeline (5 min)
1. "Is there a budget allocated for QMS this year? Or would this need to be approved?"
2. "If you found the right solution, what's a realistic timeline to go live? (3 months? 6 months?)"
3. "Who else needs to be involved in this decision? (IT, CFO, VP Ops?)"

## Qualification (3 min)
1. "Are you actively evaluating vendors now, or is this early exploration?"
2. "Have you looked at other QMS solutions? (MasterControl, Veeva, TrackWise?)"
3. "On a scale of 1-10, how urgent is solving this problem? (1 = nice-to-have, 10 = CEO mandate)"

## Next Steps (5 min)
"Based on what you've shared, I think we can help. Here's what I'd propose:
1. I'll send you a tailored demo recording (15 min) showing how we solve [pain point 1] and [pain point 2]
2. If that resonates, we'll schedule a live demo with your IT director and CFO (or whoever needs to see it)
3. From there, we can do a compliance gap analysis (no cost) to show exactly how we'd address your [framework] requirements.

Sound like a good next step?"

## Close
"Any questions for me before we wrap?"
[Answer questions]
"Great. I'll send that demo link today. Talk soon, Sarah."

Demo Outline (45 min):

# Mid-Market Pharma QA Demo

## Opening (5 min)
"Sarah, thanks for bringing [IT Director, CFO] on the call. Quick agenda:
1. Show you how BIO-QMS solves your top 3 pain points (document control, audit prep, e-signatures)
2. Walk through a real audit scenario — how you'd pull records in < 5 minutes
3. Cover compliance (21 CFR Part 11, EU Annex 11)
4. Discuss implementation timeline and cost

Sound good? Any questions before we dive in?"

## Pain-Driven Demo (20 min)
### Scenario: FDA Audit - Inspector Requests SOP Records

1. **Document Control**
- Show: SOP lifecycle (draft → review → approval → effective → retire)
- Show: Version control (all historical versions, 1 click)
- Show: Audit trail (who touched it, when, why)
- **Tie to pain:** "Remember you said audit prep takes 200 hours? Here's how you'd pull all SOP records in 3 minutes."

2. **Electronic Signatures (21 CFR Part 11)**
- Show: 3-step approval workflow (QA manager → Regulatory → QA director)
- Show: Signature capture (username, password, date/time, reason)
- Show: Audit trail (all 11.10 fields captured)
- **Tie to pain:** "No more chasing paper signatures. All electronic, all compliant."

3. **Audit Preparation**
- Show: Pre-built audit report ("All controlled documents, last 2 years")
- Show: Export to PDF (FDA-ready package)
- Show: Document package assembly (auto-generated index)
- **Tie to pain:** "From 200 hours to 20 hours. This is what 'audit-ready' looks like."

4. **Training Management** (Bonus)
- Show: Training assignment → completion → attestation
- Show: Training matrix (who needs what, when)
- **Tie to pain:** "No more spreadsheet nightmares. Auto-reminders, auto-tracking."

## Compliance Deep-Dive (8 min)
"Let's talk compliance. You mentioned 21 CFR Part 11 and preparing for EU authorization."

1. **21 CFR Part 11**
- Show: Validation documentation (IQ/OQ/PQ included)
- Show: 11.10 audit trail fields (all captured)
- Show: 11.30 e-signature controls (password + reason)

2. **EU GMP Annex 11**
- Show: Data integrity controls (ALCOA+ principles)
- Show: Audit trail for all system admin changes

3. **Validation Package**
- "We provide full validation documentation (500+ pages IQ/OQ/PQ) as part of implementation.
Your QA team reviews and executes, we support. Adds 3-4 weeks to timeline."

## Implementation & Pricing (10 min)
"Let's talk about getting you live. Based on what you've shared:
- **Timeline:** 12 weeks from contract signature to go-live (includes validation)
- Week 1-2: Kickoff, requirements workshop, system config
- Week 3-6: Validation execution (IQ/OQ/PQ)
- Week 7-8: Data migration (SOPs, training records)
- Week 9-10: User training (admin + end-user)
- Week 11-12: Pilot go-live, hypercare support

- **Cost:**
- Software: $144K/year (25 users, 500GB storage, standard support)
- Implementation: $60K (includes validation, migration, training)
- **Total Year 1:** $204K

- **Contract:** 1-year initial, then annual renewal (or 3-year with 15% discount)

Questions on timeline or cost?"

## Next Steps (2 min)
"Here's what I'd propose:
1. I'll send a detailed proposal today (SOW, pricing, timeline)
2. Next week: Compliance gap analysis workshop (2 hours, no cost)
- We'll review your 21 CFR Part 11 and EU Annex 11 requirements
- Document any gaps and how we'd address them
3. From there: POC discussion (if you want hands-on proof)

Sound good?"

Playbook 2: Biotech IT

Target: Michael Torres, Head of IT & Systems

Outreach Sequence:

# Email 1: Urgency-Driven (Day 1)
subject: "IND submission in 4 months? [firstname]"
body: |
Michael,

Quick question: Do you have a QMS in place for your IND submission?

I ask because I work with biotech IT leaders who are scrambling to
get FDA-ready fast (and can't afford 9-month enterprise QMS implementations).

If you're still on spreadsheets or shared drives for quality records,
I'd love to show you how we got 3 biotechs IND-ready in < 60 days.

15 minutes this week?

# LinkedIn Message (Day 1 - parallel)
"Michael - saw your company is preparing for IND submission (congrats!).
Quick question: Do you have a QMS yet, or still managing quality records
in SharePoint/Google Drive? If it's the latter, happy to share how we
help biotech IT teams go live in 30 days (vs. 9 months). Worth a quick call?"

# Follow-Up 1: Integration Angle (Day 3)
subject: "API-first QMS for biotech (integrates with your eTMF, ERP, LIMS)"
body: |
Michael,

Following up — I know IT leaders hate adding yet another silo system.

BIO-QMS is API-first. We have pre-built integrations for:
- eTMF systems (Veeva Vault, Flex Databases)
- ERP (NetSuite, SAP Business One)
- LIMS (LabWare, Thermo Fisher)

One biotech IT director told me: "Finally, a QMS that plays nice with
everything else."

Want to see the API docs + integration examples? (or just chat for 15 min)

# Follow-Up 2: Fast Implementation (Day 7)
subject: "Case study: BioGenTech went live in 28 days"
attach: "BioGenTech_Case_Study.pdf"
body: |
Michael,

Attached: how BioGenTech (Series B, 120 employees) went from "no QMS"
to "IND-ready" in 28 days.

Key win for their IT team: zero infrastructure to manage (100% SaaS),
API integrations handled by us, and their QA team was trained in 1 week.

Worth a look?

Discovery Call Script:

# Biotech IT Discovery Call (20 min — keep it short)

## Intro (1 min)
"Michael, thanks for jumping on. I know IT leaders are slammed, so I'll keep
this tight. Want to understand your QMS situation and see if we can help.
Cool?"

## Current State (5 min)
1. "What are you using for quality management today? (SharePoint? Google Drive? Spreadsheets?)"
2. "I saw you're preparing for IND — what's your timeline? (4 months? 6 months?)"
3. "Has your QA team or Regulatory Affairs flagged any compliance gaps?"
4. "What other systems are you running? (eTMF, ERP, LIMS, CTMS?)"
5. "How big is your IT team? (asking because I want to make sure this doesn't create work for you)"

## Pain Discovery (5 min)
1. "What's the biggest QMS-related pain right now? (audit trails? e-signatures? FDA inspector access?)"
2. "If you don't get a QMS in place, what's the risk? (IND delay? audit findings?)"
3. "Have you looked at other QMS vendors? (MasterControl? Veeva? What turned you off?)"

## Requirements (3 min)
1. "What compliance frameworks apply? (21 CFR Part 11? EU Annex 11? Other?)"
2. "Any integration must-haves? (e.g., must sync with eTMF, or must pull training records from ERP)"
3. "Data residency requirements? (US only? EU? Multi-region?)"

## Budget & Timeline (3 min)
1. "Is there a budget allocated, or would you need to get this approved?"
2. "What's your ideal go-live date? (before IND submission, I'm guessing?)"
3. "Who else needs to sign off? (CFO? CEO? QA manager?)"

## Next Steps (3 min)
"Got it. Here's what I'd suggest:
1. I'll send you a 10-minute demo video (shows integrations, compliance, implementation timeline)
2. If that looks good, we'll do a technical deep-dive call (you + your QA manager)
3. From there, we can scope a fast implementation (4-6 weeks to go-live)

Sound like a plan?"

Demo Outline (30 min — shorter than Mid-Market):

# Biotech IT Demo

## Opening (3 min)
"Michael, thanks for bringing [QA Manager] on the call. Quick agenda:
1. Show you how BIO-QMS solves your QMS problem in < 30 days
2. Walk through integrations (API + pre-built connectors)
3. Compliance (21 CFR Part 11)
4. Implementation (IT effort = near-zero)

Let's go."

## Pain-Driven Demo (12 min)
1. **QMS Basics** (5 min)
- Show: Document control, e-signatures, audit trails
- **Tie to pain:** "From Google Drive to FDA-compliant in 4 weeks."

2. **Integrations** (7 min)
- Show: API documentation (REST, webhooks)
- Show: Pre-built connector example (eTMF bidirectional sync)
- Show: ERP integration (training records pulled from NetSuite)
- **Tie to pain:** "No data silos. Everything syncs automatically."

## Compliance (5 min)
- 21 CFR Part 11 audit trails, e-signatures
- Validation documentation (IQ/OQ/PQ provided)
- "We handle validation — your QA team reviews, we execute. Adds 2 weeks to timeline."

## Implementation & Pricing (8 min)
"Let's talk speed. Based on your timeline (IND in 4 months):
- **Timeline:** 4-6 weeks from kickoff to go-live
- Week 1: Kickoff, config, integrations
- Week 2-3: Validation (we handle, you review)
- Week 4: Training + go-live

- **Cost:**
- Software: $72K/year (15 users, 200GB, standard support)
- Implementation: $25K (includes validation, integrations, training)
- **Total Year 1:** $97K

- **IT Effort:** Near-zero. We handle hosting, integrations, validation. You just review and approve.

Questions?"

## Next Steps (2 min)
"Next step: I'll send a proposal + SOW today. If it looks good, we can kick off next week.
You'd be live by [date 6 weeks out]. Work for you?"

Playbook 3: Enterprise VP Quality

Outreach Sequence:

# Enterprise plays are relationship-driven, not cold outreach
# Focus: RFP responses, analyst reports, executive intros

# Email 1: Executive Intro (via warm intro or LinkedIn)
subject: "Exploring modern QMS platforms for multi-site deployments"
body: |
Dr. Kapoor,

[Mutual connection] suggested I reach out. I lead sales at BIO-QMS,
and we work with VP-level quality leaders at pharma/med device companies
navigating multi-site QMS transformations.

I'd love to learn about your quality operations and share how we're
helping enterprises reduce QMS TCO by 30% while improving compliance
across US, EU, and APAC sites.

Would you be open to a 30-minute exploratory conversation? (No demo,
just strategic discussion.)

Best regards,
[Enterprise AE Name]

# Follow-Up 1: Thought Leadership (Day 7)
subject: "Gartner report: QMS vendor landscape 2026"
attach: "Gartner_QMS_Magic_Quadrant_2026.pdf"
body: |
Dr. Kapoor,

Following up on my note last week. I came across this Gartner report
and thought it might be useful for your QMS evaluation process.

(We're not in the Magic Quadrant yet — we're still emerging — but
several of our enterprise customers are featured in the "Visionary"
category analysis.)

Still open to that 30-minute conversation when your schedule allows.

# LinkedIn Engagement (Ongoing)
- Like/comment on Dr. Kapoor's posts about quality, compliance, industry trends
- Share relevant content (e.g., "FDA guidance on electronic records updated")
- Build relationship over 3-6 months before "sales" conversation

Discovery Call Script (Executive-Level):

# Enterprise VP Quality Discovery Call (45-60 min)

## Intro (5 min)
"Dr. Kapoor, thanks for making time. I know your schedule is packed.
Before we dive in, I want to set context: this isn't a sales pitch.
I want to understand your quality operations, your strategic goals,
and the challenges you're facing with your current QMS. If there's a fit,
great. If not, I'm happy to be a resource and reconnect down the road.
Sound good?"

## Strategic Context (10 min)
1. "Walk me through your quality organization. How many sites? How many QA professionals?"
2. "What are your top 3 strategic priorities for quality this year? (cost reduction? audit performance? digital transformation?)"
3. "How does quality fit into the broader operations strategy? (COO priorities, Board metrics, etc.)"
4. "Any upcoming regulatory milestones? (site expansions, new market entries, product launches?)"

## Current State Assessment (15 min)
1. "Tell me about your current QMS. What are you running? (MasterControl? Veeva? Custom?)"
2. "How long have you had this system? What's working well? What's not?"
3. "What's the annual cost to operate your QMS? (licenses + maintenance + IT support + professional services)"
4. "How would you rate user adoption? (1-10 scale) Why that score?"
5. "When was the last major upgrade or system change? What drove that?"
6. "If you could redesign your QMS from scratch, what would you do differently?"

## Pain Discovery (10 min)
1. "What are the top 3 pain points with your current QMS?"
2. "How do these pain points impact your quality KPIs? (audit findings, CAPA cycle time, training compliance, etc.)"
3. "What's the business impact? (revenue risk, cost, brand reputation, inspector relationships?)"
4. "Have you quantified the cost of these pain points? (e.g., audit prep costs X hours/year at $Y per hour)"

## Requirements (10 min)
1. "If you were to evaluate a new QMS, what would your requirements be?"
- Compliance frameworks (FDA, EMA, PMDA, other)
- Multi-site deployment (data residency, regional customization)
- Integrations (ERP, PLM, MES, eTMF)
- User experience (adoption is critical)
- Scalability (M&A, new sites, product line expansions)
- Security & compliance (SOC 2, ISO 27001, GDPR, HIPAA)

2. "What would success look like 2 years post-implementation?"
- KPIs: audit performance, cost reduction, user adoption, CAPA cycle time?

## Buying Process (5 min)
1. "If you decided to move forward with a QMS evaluation, what would that process look like?"
- RFI → RFP → Vendor selection?
- Who's involved? (Procurement, IT, Legal, Finance, site QA managers)
2. "What's a realistic timeline? (I know enterprise evaluations can take 12-18 months)"
3. "Any budget allocated for QMS, or would this need to be part of next year's planning?"

## Next Steps (5 min)
"Based on what you've shared, I think there's potential alignment. Here's what I'd propose:
1. I'll put together a high-level fit assessment (no cost, no obligation) — shows how we'd address your requirements
2. If that resonates, we'll bring in our CTO + VP Solutions to discuss architecture and integrations
3. From there, we can explore an RFI or informal evaluation process

Does that sound reasonable?"

Enterprise Demo (90 min — multi-stakeholder):

# Enterprise QMS Demo (Evaluation Committee)

## Attendees
- Dr. Priya Kapoor (VP Quality) — Executive Sponsor
- Site QA Managers (3) — End Users
- IT Enterprise Architect — Technical Validation
- CFO or Finance Rep — Budget/TCO
- Procurement — Contract/Vendor Management
- InfoSec — Security/Compliance

## Agenda (90 min)

### 1. Executive Overview (10 min)
"Dr. Kapoor, committee members — thank you for the time. Quick agenda:
1. Company overview + enterprise customer stories
2. Platform demo (multi-site architecture, compliance, integrations)
3. TCO analysis (how we reduce cost by 30% vs. incumbents)
4. Implementation approach (multi-site rollout strategy)
5. Q&A (30 min reserved)

Let's start with why enterprises choose BIO-QMS..."

[Present: customer logos, case studies, Gartner positioning]

### 2. Platform Demo (30 min)

#### Multi-Site Architecture (10 min)
- Show: Global tenant with regional data residency (US, EU, Asia)
- Show: Site-specific configurations (different workflows by site)
- Show: Centralized reporting (roll-up across all sites)
- Show: Role-based access control (site QA manager sees only their site, VP sees all)

#### Compliance (10 min)
- Show: 21 CFR Part 11, EU Annex 11, PMDA compliance
- Show: Validation documentation (IQ/OQ/PQ for multi-site deployment)
- Show: Audit trail (system-level + user-level)
- Show: Security certifications (SOC 2 Type II, ISO 27001, GDPR, HIPAA BAA)

#### Integrations (10 min)
- Show: API platform (REST, webhooks, GraphQL)
- Show: Pre-built connectors (SAP ERP, Oracle PLM, Siemens MES)
- Show: Real-world integration example (training records from SAP → BIO-QMS)
- Show: M&A integration scenario (acquired company's QMS data ingestion)

### 3. TCO Analysis (15 min)

"Let's talk cost. Here's a 5-year TCO comparison vs. your current system (MasterControl):"

| Cost Component | Current (MasterControl) | BIO-QMS | Savings |
|----------------|------------------------|---------|---------|
| **Software Licenses** | $600K/year × 5 = $3.0M | $450K/year × 5 = $2.25M | $750K |
| **Implementation** | $800K (historical) | $400K (multi-site) | $400K |
| **Annual Maintenance** | $150K/year × 5 = $750K | Included in license | $750K |
| **IT Support** | $200K/year × 5 = $1.0M | $50K/year × 5 = $250K (SaaS, less overhead) | $750K |
| **Upgrades** | $300K (2 major upgrades) | Continuous (no cost) | $300K |
| **Professional Services** | $100K/year × 5 = $500K | $50K/year × 5 = $250K | $250K |
| **Total 5-Year TCO** | **$6.05M** | **$3.15M** | **$2.9M (48% savings)** |

"Key drivers of savings:
1. Lower license cost (multi-tenant SaaS vs. dedicated infrastructure)
2. No maintenance fees (continuous updates included)
3. Reduced IT overhead (we manage hosting, upgrades, security)
4. Faster implementation (6 months vs. 18 months)"

### 4. Implementation Approach (15 min)

"For a 3-site deployment (US, EU, Asia), here's our phased rollout strategy:"

**Phase 1: Pilot Site (Months 1-6)**
- Select 1 site (typically US or headquarters)
- Full implementation: config, validation, training, go-live
- Lessons learned capture → templates for other sites

**Phase 2: Second Site (Months 7-10)**
- Leverage Phase 1 templates (faster deployment)
- Regional customization (e.g., EU GDPR controls)
- Parallel training (site QA managers + end users)

**Phase 3: Third Site (Months 11-14)**
- Final site deployment (Asia, PMDA compliance)
- Global reporting activation
- Decommission legacy QMS (if applicable)

**Total Timeline:** 14 months to full global deployment

### 5. Q&A (20 min)

**Common questions:**

- **IT Architect:** "How do you handle data residency and GDPR compliance?"
- Answer: Regional data centers (US East, EU West, Japan East), data stays in-region, full GDPR controls (DPA, right to erasure, data portability)

- **CFO:** "What are the payment terms? Can we do a multi-year discount?"
- Answer: 3-year contract with 15% discount, or 5-year with 25% discount. Payment: annual upfront or quarterly invoicing.

- **Procurement:** "What's your financial stability? Can you provide audited financials?"
- Answer: [Provide financial statements, investor backing, customer retention rate (95%)]

- **InfoSec:** "What's your incident response process? Have you had any breaches?"
- Answer: SOC 2 Type II report (attach), zero breaches to date, 24/7 SOC monitoring, annual penetration testing.

- **Site QA Manager:** "Will our users actually use this? Change management is hard."
- Answer: UX is our differentiator (show user testimonials, adoption rate data 85% active users within 90 days). We provide change management playbook + train-the-trainer program.

### 6. Next Steps (10 min)

"Here's what I'd propose for next steps:
1. **Week 1:** Send detailed RFP response (technical, commercial, references)
2. **Week 2-3:** Reference calls (3 enterprise customers — VP Quality peers)
3. **Week 4:** Site visit (optional) — see our development team, security operations
4. **Week 5-6:** POC discussion (1-site pilot, 8-week evaluation)
5. **Week 8-12:** Contract negotiation, MSA, SOWs

Timeline to signature: 3-4 months from today. Realistic?"

[Get agreement on timeline and process]

I.1.8: HubSpot API Integration Examples

Create Deal via API

import requests

HUBSPOT_API_KEY = "your_api_key"
HUBSPOT_API_URL = "https://api.hubapi.com"

def create_deal(company_id, contact_id, deal_name, amount, icp_segment):
"""
Create a new deal in HubSpot CRM.

Args:
company_id: HubSpot company ID
contact_id: Primary contact ID
deal_name: Deal name (e.g., "Acme Biopharma - QMS")
amount: Annual contract value (USD)
icp_segment: One of ["Mid-Market Pharma QA", "Biotech IT", "Enterprise VP Quality"]

Returns:
Deal ID if successful, None otherwise
"""

url = f"{HUBSPOT_API_URL}/crm/v3/objects/deals"
headers = {
"Authorization": f"Bearer {HUBSPOT_API_KEY}",
"Content-Type": "application/json"
}

# Calculate estimated close date based on ICP segment
import datetime
today = datetime.date.today()
if icp_segment == "Biotech IT":
days_to_close = 68
elif icp_segment == "Mid-Market Pharma QA":
days_to_close = 105
else: # Enterprise VP Quality
days_to_close = 385

close_date = today + datetime.timedelta(days=days_to_close)

payload = {
"properties": {
"dealname": deal_name,
"dealstage": "lead",
"amount": amount,
"closedate": close_date.isoformat(),
"pipeline": "bio_qms_sales",
"icp_segment": icp_segment,
"annual_contract_value": amount,
"lead_source_detail": "Inbound Demo",
"forecast_category": "Pipeline"
},
"associations": [
{
"to": {"id": company_id},
"types": [{"associationCategory": "HUBSPOT_DEFINED", "associationTypeId": 5}] # Deal-to-Company
},
{
"to": {"id": contact_id},
"types": [{"associationCategory": "HUBSPOT_DEFINED", "associationTypeId": 3}] # Deal-to-Contact
}
]
}

response = requests.post(url, headers=headers, json=payload)

if response.status_code == 201:
deal_id = response.json()["id"]
print(f"Deal created successfully: {deal_id}")
return deal_id
else:
print(f"Error creating deal: {response.status_code} - {response.text}")
return None


# Example usage
company_id = "123456789"
contact_id = "987654321"
deal_name = "Acme Biopharma - BIO-QMS"
amount = 144000
icp_segment = "Mid-Market Pharma QA"

deal_id = create_deal(company_id, contact_id, deal_name, amount, icp_segment)

Update Lead Score via API

def update_lead_score(contact_id, score_change, reason):
"""
Update contact lead score in HubSpot.

Args:
contact_id: HubSpot contact ID
score_change: Points to add (positive) or subtract (negative)
reason: Reason for score change (for audit trail)

Returns:
Updated lead score
"""

# Get current score
url = f"{HUBSPOT_API_URL}/crm/v3/objects/contacts/{contact_id}"
headers = {"Authorization": f"Bearer {HUBSPOT_API_KEY}"}

response = requests.get(url, headers=headers, params={"properties": "lead_score"})
current_score = response.json()["properties"].get("lead_score", 0)

# Calculate new score (never negative)
new_score = max(0, int(current_score) + score_change)

# Update score
update_url = f"{HUBSPOT_API_URL}/crm/v3/objects/contacts/{contact_id}"
payload = {
"properties": {
"lead_score": new_score,
"lead_score_last_updated": datetime.datetime.utcnow().isoformat() + "Z",
"lead_score_change_reason": reason
}
}

response = requests.patch(update_url, headers=headers, json=payload)

if response.status_code == 200:
print(f"Lead score updated: {current_score}{new_score} ({reason})")

# Check for MQL/SQL threshold
if current_score < 50 and new_score >= 50:
_trigger_mql_workflow(contact_id)
elif current_score < 75 and new_score >= 75:
_trigger_sql_workflow(contact_id)

return new_score
else:
print(f"Error updating lead score: {response.status_code}")
return None


def _trigger_mql_workflow(contact_id):
"""Trigger MQL qualification workflow."""
# Update lifecycle stage to MQL
url = f"{HUBSPOT_API_URL}/crm/v3/objects/contacts/{contact_id}"
payload = {"properties": {"lifecyclestage": "marketingqualifiedlead"}}
requests.patch(url, headers={"Authorization": f"Bearer {HUBSPOT_API_KEY}"}, json=payload)
print(f"Contact {contact_id} promoted to MQL")


def _trigger_sql_workflow(contact_id):
"""Trigger SQL qualification workflow."""
# Update lifecycle stage to SQL
url = f"{HUBSPOT_API_URL}/crm/v3/objects/contacts/{contact_id}"
payload = {"properties": {"lifecyclestage": "salesqualifiedlead"}}
requests.patch(url, headers={"Authorization": f"Bearer {HUBSPOT_API_KEY}"}, json=payload)
print(f"Contact {contact_id} promoted to SQL")


# Example usage: Contact downloaded whitepaper
contact_id = "987654321"
update_lead_score(contact_id, score_change=10, reason="Downloaded compliance whitepaper")

Sync Health Score from Product

def sync_health_score_to_hubspot(tenant_id, health_score, health_status, metrics):
"""
Sync product health score to HubSpot company record.

Args:
tenant_id: BIO-QMS tenant ID
health_score: Calculated health score (0-100)
health_status: One of ["Healthy", "At-Risk", "Critical", "Churning"]
metrics: Dict with usage metrics (DAU, feature_adoption, etc.)

Returns:
True if successful, False otherwise
"""

# Look up HubSpot company ID from tenant metadata
company_id = _get_company_id_from_tenant(tenant_id)

if not company_id:
print(f"No HubSpot company found for tenant {tenant_id}")
return False

url = f"{HUBSPOT_API_URL}/crm/v3/objects/companies/{company_id}"
headers = {
"Authorization": f"Bearer {HUBSPOT_API_KEY}",
"Content-Type": "application/json"
}

payload = {
"properties": {
"product_health_score": health_score,
"health_status": health_status,
"last_health_update": datetime.datetime.utcnow().isoformat() + "Z",
"dau_7day": metrics.get("dau_7day", 0),
"feature_adoption_pct": metrics.get("feature_adoption", 0),
"open_support_tickets": metrics.get("open_tickets", 0),
"training_completion_pct": metrics.get("training_completion", 0),
"last_login_date": metrics.get("last_login_date", "")
}
}

response = requests.patch(url, headers=headers, json=payload)

if response.status_code == 200:
print(f"Health score synced to HubSpot: {tenant_id}{health_score} ({health_status})")

# Log timeline event
_create_timeline_event(company_id, "Health Score Update", {
"health_score": health_score,
"status": health_status,
"change": metrics.get("score_change", 0)
})

return True
else:
print(f"Error syncing health score: {response.status_code} - {response.text}")
return False


def _get_company_id_from_tenant(tenant_id):
"""Look up HubSpot company ID from tenant metadata (example uses search)."""
url = f"{HUBSPOT_API_URL}/crm/v3/objects/companies/search"
headers = {
"Authorization": f"Bearer {HUBSPOT_API_KEY}",
"Content-Type": "application/json"
}

payload = {
"filterGroups": [{
"filters": [{
"propertyName": "tenant_id",
"operator": "EQ",
"value": tenant_id
}]
}]
}

response = requests.post(url, headers=headers, json=payload)

if response.status_code == 200:
results = response.json().get("results", [])
if results:
return results[0]["id"]

return None


def _create_timeline_event(company_id, event_name, tokens):
"""Create a timeline event in HubSpot."""
# Implementation depends on timeline event template setup in HubSpot
# See: https://developers.hubspot.com/docs/api/crm/timeline
pass


# Example usage: Daily health score sync job
tenant_id = "acme_biopharma_prod"
health_score = 72
health_status = "At-Risk" # Dropped from Healthy
metrics = {
"dau_7day": 18, # Out of 50 seats = 36% DAU
"feature_adoption": 65, # 65% of licensed features used
"open_tickets": 2,
"training_completion": 80,
"last_login_date": "2026-02-15",
"score_change": -12 # Dropped 12 points
}

sync_health_score_to_hubspot(tenant_id, health_score, health_status, metrics)

Conclusion

This document provides comprehensive CRM configuration, lead scoring, pipeline analytics, sales forecasting, and CRM-to-product integration specifications for BIO-QMS. All 5 tasks (I.1.1 through I.1.5) are fully documented with:

  • 2,200+ lines of detailed specifications
  • HubSpot pipeline with 5 stages and ICP-specific conversion rates
  • Lead scoring model with 100-point scale, firmographic + behavioral + intent signals
  • Pipeline analytics including conversion funnels, deal velocity factors, and win/loss analysis
  • Sales forecasting with weighted pipeline, stage probabilities, and quota tracking
  • CRM-to-product integration with webhook architecture, API examples, and health score sync
  • 3 ICP deep-dives with personas, buying processes, and sales playbooks
  • HubSpot automation workflows and custom properties

Track: I - Sales Workflow Status: Complete Version: 1.0.0