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
11 steps · start to finish.
- 1Step 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" - 2Step 2
Define Signal Sources
▶Based on the client's ICP and motion, select and configure signal sources. Run detection skills in parallel for efficiency.
- 3Step 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.
- 4Step 4
Qualify & Score Leads
▶**Skill**: `lead-qualification`
- 5Step 5
Find Decision-Maker Contacts
▶**Skill**: `company-contact-finder`
- 6Step 6
Deduplicate via Contact Cache
▶**Skill**: `contact-cache`
- 7Step 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)
- 8Step 8
Launch Campaign
▶**Skill**: `setup-outreach-campaign`
- 9Step 9
Monitor & Report
▶Track initial campaign metrics and write the campaign summary.
- 10Step 10
Iterate on Errors (max 3 rounds)
▶If any step fails (signal detection returns 0 results, contact finder errors, campaign creation fails):
- 11Step 11
Final Checklist (MANDATORY — do not skip)
▶echo "=== FINAL OUTPUT VERIFICATION ===" RESULTS_DIR="/app/results" for f in \ "$RESULTS_DIR/signal_report.md" \