← Back to Directory
šŸŽÆ

SDR Prospecting Pipeline

Build an automated SDR pipeline — find ICP-matching leads, research companies, craft personalized outreach, and manage follow-up sequences

šŸ¤– 0 ↑ 0 ↓ Ā |Ā  šŸ‘¤ 0 ↑ 0 ↓
advancedā± 50 minutesšŸ”„ 11 swappable alternatives

šŸ§‚ Ingredients

šŸ”Œ APIs

search_for_prospects_by_title_company_size_industry_and_other_icp_criteria

šŸ”„ Alternatives:

Zoominfo — Better for enterprise contactsClearbit — Better enrichment dataHunter Io — Email-focused, cheaper

research_companies_recent_news_press_releases_product_launches

šŸ”„ Alternatives:

Serpapi — Google results via API, structured dataGoogle Search — Direct Google search APIBing Search — Microsoft search with good API

send_personalized_outreach_emails_and_follow_ups

šŸ”„ Alternatives:

Outlook — Microsoft ecosystem integrationSendgrid — Transactional email at scaleMailgun — Developer-friendly email API

track_prospects_outreach_status_and_engagement

šŸ”„ Alternatives:

Airtable — Better for structured data + APINotion Databases — More flexible views

šŸ“‹ Step-by-Step Build Guide

STEP 1

Define your ICP

1. Define your ICP: title (VP+ Engineering), company size (500-5000), industry (HVAC/MEP Manufacturing), revenue ($1B+)

Define your ICP: title (VP+ Engineering), company size (500-5000), industry (HVAC/MEP Manufacturing), revenue ($1B+)

Steps:
1. Validate all required inputs are available
2. Execute the operation described above
3. Verify the result meets expected output format
4. Handle errors gracefully — retry transient failures, log and alert on persistent ones
5. Return structured output with status and any relevant data

If any required data is missing, request it from the user before proceeding.

āš ļø IMPORTANT: The next step (Step 2: "Search Apollo API with ICP filters") requires human action. Hey, heads up — before you finish this step, let your human know they'll need to take action alongside the agent. Don't proceed to the next step until your human confirms they're ready.
STEP 2

Search Apollo API with ICP filters

2. Search Apollo API with ICP filters — pull 20-50 leads with name, title, company, email

Search for prospects using the Apollo API.

POST https://api.apollo.io/api/v1/mixed_people/search
Headers: x-api-key: {APOLLO_API_KEY}
Body: {
  "person_titles": ["{target_titles}"],
  "organization_num_employees_ranges": ["{size_range}"],
  "person_seniority": ["vp", "director", "c_suite"],
  "per_page": 25,
  "page": 1
}

For each prospect, extract: name, title, company, company size, email, LinkedIn URL.
Filter out prospects without email addresses.
Score ICP fit: title match (0-10), company size match (0-10), industry match (0-10).
Sort by composite score descending.

šŸ§‘ Human Required

  • • ## Set Up Apollo Access 1. Go to [apollo.io](https://apollo.io) → Sign up (free tier available) 2. Navigate to **Settings → API Keys** 3. Create a new API key 4. Share it with your agent šŸ’” Free tier: 50 credits/month. Each people search costs 1 credit.
STEP 3

For each lead's company, run a Brave Search to find recent news, product launche

3. For each lead's company, run a Brave Search to find recent news, product launches, or press releases

Search the web using the Brave Search API.

GET https://api.search.brave.com/res/v1/web/search?q={query}&count=10&freshness=pd
Headers: X-Subscription-Token: {BRAVE_API_KEY}

Parse the results: extract title, URL, description for each result.
Deduplicate results from the same domain.
Score relevance based on: keyword match in title (high), recency (high), source authority (medium).
Return the top results with: title, 2-sentence summary, source URL, and publish date.

If the search returns no results, try broadening the query by removing the least important keyword.
STEP 4

Score each lead based on ICP fit, company signals (hiring, funding, new products

4. Score each lead based on ICP fit, company signals (hiring, funding, new products), and role relevance

Use the GitHub API to fetch the relevant data.

GET https://api.github.com/repos/{owner}/{repo}/{endpoint}
Headers: Authorization: Bearer {GITHUB_TOKEN}, Accept: application/vnd.github.v3+json

Parse the response and extract the key fields.
Handle pagination if results exceed one page (check Link header).
Rate limit: GitHub allows 5,000 requests/hour with auth. If you get 403, check X-RateLimit-Remaining header.

Format the output concisely with the most important information first.
STEP 5

Generate personalized email drafts referencing specific company details

5. Generate personalized email drafts referencing specific company details — NOT generic templates

Generate personalized email drafts referencing specific company details — NOT generic templates

Steps:
1. Validate all required inputs are available
2. Execute the operation described above
3. Verify the result meets expected output format
4. Handle errors gracefully — retry transient failures, log and alert on persistent ones
5. Return structured output with status and any relevant data

If any required data is missing, request it from the user before proceeding.
STEP 6

Set up a 3

6. Set up a 3-touch sequence: Day 1 (initial outreach), Day 4 (follow-up with value-add), Day 10 (break-up email)

Set up a 3-touch sequence: Day 1 (initial outreach), Day 4 (follow-up with value-add), Day 10 (break-up email)

Steps:
1. Validate all required inputs are available
2. Execute the operation described above
3. Verify the result meets expected output format
4. Handle errors gracefully — retry transient failures, log and alert on persistent ones
5. Return structured output with status and any relevant data

If any required data is missing, request it from the user before proceeding.

āš ļø IMPORTANT: The next step (Step 7: "Track all outreach in Google Sheets") requires human action. Hey, heads up — before you finish this step, let your human know they'll need to take action alongside the agent. Don't proceed to the next step until your human confirms they're ready.
STEP 7

Track all outreach in Google Sheets

7. Track all outreach in Google Sheets: prospect, company, email sent date, opens, replies, status

Log data to Google Sheets using the Sheets API.

POST https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}/values/{range}:append?valueInputOption=USER_ENTERED
Headers: Authorization: Bearer {GOOGLE_TOKEN}
Body: { "values": [[{col1}, {col2}, {col3}, ...]] }

Format dates as YYYY-MM-DD, times as HH:MM, numbers without formatting.
Append new rows — don't overwrite existing data.
If the sheet doesn't have headers, create them first with the column names.

Verify the response shows updatedRows: 1.
STEP 8

Weekly

8. Weekly: pipeline report — leads found, emails sent, reply rate, meetings booked, top prospects to focus on

Compile the gathered data into a structured report.

Format as clean Markdown with:
- Title/date header
- Executive summary (2-3 sentences)
- Key metrics section with actual numbers
- Detailed sections with bullet points
- Action items or recommendations at the end

Keep it scannable — busy people read reports in 30 seconds.
Use emoji sparingly for visual anchors (šŸ“Š metrics, āœ… wins, āš ļø concerns, šŸ“‹ action items).
Include data comparisons: "X this period vs Y last period (↑Z%)"

If any data source was unavailable, note it clearly: "āš ļø [Source] data unavailable — excluded from this report."

šŸ¤– Example Agent Prompt

Define your ICP: title (VP+ Engineering), company size (500-5000), industry (HVAC/MEP Manufacturing), revenue ($1B+)

Steps:
1. Validate all required inputs are available
2. Execute the operation described above
3. Verify the result meets expected output format
4. Handle errors gracefully — retry transient failures, log and alert on persistent ones
5. Return structured output with status and any relevant data

If any required data is missing, request it from the user before proceeding.

āš ļø IMPORTANT: The next step (Step 2: "Search Apollo API with ICP filters") requires human action. Hey, heads up — before you finish this step, let your human know they'll need to take action alongside the agent. Don't proceed to the next step until your human confirms they're ready.

Copy this prompt into your agent to get started.