← All runbooks
gooseworks-ai / event-prospecting-pipeline

Event Prospecting Pipeline

This runbook implements an end-to-end event prospecting pipeline: discover attendees or speakers at conferences and events, enrich their profiles with company research, qualify them against an Ideal Customer Profile (ICP), deduplicate against existing contact caches, export a str

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

Deploy Event Prospecting Pipeline 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

    echo "=== EVENT PROSPECTING PIPELINE: Environment Setup ==="
    mkdir -p /app/results
    
    # Validate required inputs
    if [ -z "$EVENT_URL_OR_TOPIC" ]; then
      echo "ERROR: event-url-or-topic is required"
      exit 1
    fi
    if [ -z "$ICP_CRITERIA" ]; then
      echo "ERROR: icp-criteria is required"
      exit 1
    fi
    
    # Determine event source type
    if echo "$EVENT_URL_OR_TOPIC" | grep -q "lu.ma"; then
      EVENT_SOURCE="luma"
    elif echo "$EVENT_URL_OR_TOPIC" | grep -qE "^https?://"; then
      EVENT_SOURCE="conference"
    else
      EVENT_SOURCE="topic-search"
    fi
    echo "Event source type: $EVENT_SOURCE"
    echo "ICP criteria: $ICP_CRITERIA"
    

    Verify all required inputs are available. If event-url-or-topic is empty, fail fast and write a validation_report.json with stages[0].passed=false.


  2. 2
    Step 2

    Find Attendees / Speakers

    **Choose the appropriate skill based on input type:**

  3. 3
    Step 3

    Research & Enrich

    **Capability:** Web search

  4. 4
    Step 4

    Qualify Against ICP

    **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

    Iterate on Errors (max 3 rounds)

    If any step (Steps 2–6) fails or returns empty results:

  8. 8
    Step 8

    Export Results

    **Capability:** Google Sheets or CSV export

  9. 9
    Step 9

    Launch Outreach (optional)

    **Skip this step if `launch-outreach=false`.**

  10. 10
    Step 10

    Write Executive Summary

    Write `/app/results/summary.md`:

  11. 11
    Step 11

    Final Checklist (MANDATORY — do not skip)

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