← All runbooks
gooseworks-ai / outbound-prospecting-engine

Outbound Prospecting Engine

Build and run a complete outbound prospecting system that moves from intent-signal detection through company research, decision-maker contact finding, personali

agent claude-codemodel claude-sonnet-4-6snapshot python312-uveval programmatic11 stepsv1.0.0

Deploy Outbound Prospecting Engine to your jetty.io

One-click installs this runbook into a collection on your Jetty account. You can run it from the Spot dashboard, schedule it, or pipe inputs in via the API.

The shape of the run

11 steps · start to finish.

  1. 1
    Step 1

    Environment Setup

    Verify all required inputs and credentials before proceeding.

    # Verify required inputs are set
    for var in ICP_CRITERIA_PATH SIGNAL_KEYWORDS CLIENT_CONTEXT_PATH; do
      if [ -z "${!var}" ]; then
        echo "ERROR: $var is not set"
        exit 1
      fi
    done
    
    # Create output directories
    mkdir -p /app/results
    
    # Verify at least one signal source is configured
    if [ -z "$SIGNAL_SOURCES" ]; then
      SIGNAL_SOURCES="job-postings,funding"
      echo "Using default signal sources: $SIGNAL_SOURCES"
    fi
    
    echo "Environment verified. Signal sources: $SIGNAL_SOURCES"
    echo "ICP: $ICP_CRITERIA_PATH"
    echo "Client context: $CLIENT_CONTEXT_PATH"
    
  2. 2
    Step 2

    Define Signal Sources

    Based on the client's ICP and motion, select and configure signal sources. Run detection skills in parallel for efficiency.

  3. 3
    Step 3

    Run Signal Detection (max 3 rounds per source)

    Execute all enabled signal skills with client-specific keywords. Re-try each source up to 3 rounds if the initial run returns zero results.

  4. 4
    Step 4

    Qualify & Score Leads

    **Skill**: `lead-qualification`

  5. 5
    Step 5

    Find Decision-Maker Contacts

    **Skill**: `company-contact-finder`

  6. 6
    Step 6

    Deduplicate via Contact Cache

    **Skill**: `contact-cache`

  7. 7
    Step 7

    Personalize Outreach

    For each lead, generate a personalized email sequence using: - The signal that surfaced them (the "why now") - Their company context (what they do, their pain) - The client's value proposition (how it solves their pain)

  8. 8
    Step 8

    Launch Campaign

    **Skill**: `setup-outreach-campaign`

  9. 9
    Step 9

    Monitor & Report

    Track initial campaign metrics and write the campaign summary.

  10. 10
    Step 10

    Iterate on Errors (max 3 rounds)

    If any step fails (signal detection returns 0 results, contact finder errors, campaign creation fails):

  11. 11
    Step 11

    Final Checklist (MANDATORY — do not skip)

    echo "=== FINAL OUTPUT VERIFICATION ===" RESULTS_DIR="/app/results" for f in \ "$RESULTS_DIR/signal_report.md" \