⚙️ Process Manifest: Cold Email Outreach

BaC Principle

“Infrastructure as Code permanently eliminated manual server setup. Business as Code does the same thing — for everything else.”

This is the canonical machine-readable definition of the cold email outreach process. It is not a narrative description — it is the executable specification from which all agents operate. When this file changes, the process changes.

See Map of Content for full vault navigation.


📦 Manifest Header

process:
  name: cold-email-outreach
  version: 1.0.0
  owner: COO
  last_updated: 2026-04-01
  review_cycle: monthly
  goal: Book qualified discovery calls with ICP-matched prospects
  kpi_primary: meetings_booked_per_week
  kpi_secondary: [reply_rate, positive_reply_rate, open_rate]

🗂️ Process Stages

stages:
  - id: S1
    name: lead-sourcing
    agent: LeadSourcingAgent
    type: AUTO
    input: icp_definition          # → see [[02-ICP-Definition]]
    output: lead_batch             # enriched list, scored
    sla_hours: 2
    human_gate: false
 
  - id: S2
    name: lead-research
    agent: ResearchAgent
    type: AUTO
    input: lead_batch
    output: lead_intelligence_pack # per-lead research dossier
    sla_hours: 4
    human_gate: false
 
  - id: S3
    name: batch-review
    agent: HUMAN
    type: MANUAL
    input: lead_intelligence_pack
    output: approved_lead_batch    # human prunes bad-fit leads
    sla_hours: 24
    human_gate: true               # → see [[07-Human-Review-Gates]]
    approval_threshold: 0.8        # approve ≥80% or flag for ICP revision
 
  - id: S4
    name: personalization
    agent: PersonalizationAgent
    type: AUTO
    input: approved_lead_batch
    output: personalized_emails    # subject + hook + body per lead
    sla_hours: 2
    human_gate: false
 
  - id: S5
    name: template-review
    agent: HUMAN
    type: MANUAL
    input: personalized_emails
    output: approved_email_batch
    sla_hours: 24
    human_gate: true               # → see [[07-Human-Review-Gates]]
    sample_size: 0.1               # human reviews 10% sample
 
  - id: S6
    name: sequence-execution
    agent: SequenceEngine
    type: AUTO
    input: approved_email_batch
    output: sent_sequence_events
    sla_hours: 0
    human_gate: false              # → see [[05-Email-Sequence-Engine]]
 
  - id: S7
    name: reply-handling
    agent: ReplyClassificationAgent
    type: AUTO
    input: sent_sequence_events
    output: classified_replies
    sla_hours: 1                   # 1hr SLA after reply received
    human_gate: false              # → see [[08-Reply-Classification-Agent]]
 
  - id: S8
    name: improvement-loop
    agent: MetricsAgent
    type: AUTO
    input: [sent_sequence_events, classified_replies]
    output: improvement_proposals  # PRs against this manifest
    cadence: weekly
    human_gate: true               # → see [[09-Metrics-and-Self-Improvement]]

🔀 Process Flow

flowchart LR
    subgraph AUTO["⚡ AI Agents — No human needed"]
        S1["S1: Lead Sourcing"]
        S2["S2: Research"]
        S4["S4: Personalization"]
        S6["S6: Sequence"]
        S7["S7: Reply Handling"]
    end

    subgraph HUMAN["👤 Human Gates — Review, not execute"]
        S3["S3: Batch Review"]
        S5["S5: Template Review"]
        S8["S8: Improvement PRs"]
    end

    S1 --> S2 --> S3 --> S4 --> S5 --> S6 --> S7 --> S8
    S8 -->|"Updates manifest"| S1

📊 Human vs. Agent Split

StageOwnerTime Required
Lead Sourcing🤖 Agent0 min
Research🤖 Agent0 min
Batch Review👤 Human~15 min/week
Personalization🤖 Agent0 min
Template Review👤 Human~10 min/week
Sequence Execution🤖 Agent0 min
Reply Classification🤖 Agent0 min
Improvement PRs👤 Human~20 min/week

BaC Result

Total human time: ~45 min/week to run an outreach process that previously took 10–15 hours/week.


🧩 Dependencies

integrations:
  - name: Apollo.io           # lead sourcing
    used_by: [S1]
    type: read
  - name: LinkedIn            # research enrichment
    used_by: [S2]
    type: read
  - name: Instantly.ai        # sequence execution
    used_by: [S6]
    type: read_write
  - name: CRM (HubSpot)       # pipeline sync
    used_by: [S3, S7, S8]
    type: read_write
  - name: OpenAI / Claude API # personalization + classification
    used_by: [S4, S7]
    type: write
 
data_stores:
  - lead_database             # all raw + enriched leads
  - sequence_log              # all send events, opens, clicks
  - reply_inbox               # classified reply archive
  - metrics_dashboard         # → [[09-Metrics-and-Self-Improvement]]

🔄 Versioning & Change Protocol

Manifest is the Source of Truth

Changes to the outreach process must be made here first, then deployed to agents. Never modify agent behavior directly without updating this manifest.

change_protocol:
  minor_change:   # e.g., adjust email timing
    approver: COO
    review_required: false
    deploy_delay_hours: 0
 
  major_change:   # e.g., new ICP segment, new sequence type
    approver: COO
    review_required: true
    a_b_test_required: true
    deploy_delay_hours: 48
    reference: [[09-Metrics-and-Self-Improvement]]
 
  rollback:
    trigger: reply_rate drops >20% vs 7-day baseline
    action: revert_to_previous_version
    notify: COO