New: Earn 20% as an AgentAlley affiliate. Share your link and earn on every sale you refer. Join now New: Earn 20% as an affiliate. Join now

Build email campaigns - find emails, verify them

Email Campaign - Build Verified Email Lists

by gooseworks-ai · MIT license · ★ 1,220 on GitHub · updated Sep 21

Email Campaign - Build Verified Email Lists cover

Build email campaigns - find emails, verify them, and prepare outreach

---
name: email-campaign
description: Build email campaigns - find emails, verify them, and prepare outreach
source: orthogonal
---


# Email Campaign - Build Verified Email Lists

## Setup

Read your credentials from ~/.gooseworks/credentials.json:
```bash
export GOOSEWORKS_API_KEY=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json'))['api_key'])")
export GOOSEWORKS_API_BASE=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json')).get('api_base','https://api.gooseworks.ai'))")
```

If ~/.gooseworks/credentials.json does not exist, tell the user to run: `npx gooseworks login`

Overview

If ~/.gooseworks/credentials.json does not exist, tell the user to run: npx gooseworks login

Manual install (npx, ZIP)
Claude Codenpx skills add gooseworks-ai/goose-skills --skill email-campaign -g -a claude-code
Claude Code (manual)mkdir -p ~/.claude/skills && curl -sL https://codeload.github.com/gooseworks-ai/goose-skills/tar.gz/615c685f34f8 \ | tar -xz -C ~/.claude/skills --strip-components=4 goose-skills-615c685f34f8/skills/outreach/capabilities/email-campaign
Windows (PowerShell)New-Item -ItemType Directory -Force "$HOME\.claude\skills" | Out-Null; Invoke-WebRequest "https://m.agentalley.io/zip/3c0a5f8e66b0589665ff/email-campaign.zip" -OutFile "$env:TEMP\email-campaign.zip"; Expand-Archive "$env:TEMP\email-campaign.zip" -DestinationPath "$HOME\.claude\skills" -Force
Claude.ai / desktopDownload the ZIP and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md5.0 KB
  • skill.meta.json277 B
Read the files here
gooseworks-ai/615c6852 files
SKILL.md
Show the full text154 lines

Email Campaign - Build Verified Email Lists

Setup

Read your credentials from ~/.gooseworks/credentials.json:

export GOOSEWORKS_API_KEY=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json'))['api_key'])")
export GOOSEWORKS_API_BASE=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json')).get('api_base','https://api.gooseworks.ai'))")

If ~/.gooseworks/credentials.json does not exist, tell the user to run: npx gooseworks login

All endpoints use Bearer auth: -H "Authorization: Bearer $GOOSEWORKS_API_KEY"

Build targeted email campaigns with verified email addresses and personalized outreach.

Workflow

Step 1: Find Emails by Domain

Get all emails for target companies:

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"hunter","path":"/v2/domain-search","query":{"domain":"stripe.com"}}'
Step 2: Find Specific Person's Email

Find email for specific contacts:

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"hunter","path":"/v2/email-finder","query":{"domain":"stripe.com","first_name":"John","last_name":"Doe"}}'
Step 3: Verify Emails

Check deliverability before sending:

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"hunter","path":"/v2/email-verifier","query":{"email":"[email protected]"}}'
Step 4: Batch Verification with Fiber

Validate multiple emails:

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"fiber","path":"/v1/validate-email/single","body":{"email":"[email protected]"}}'
Step 5: Enrich for Personalization

Get info for personalized outreach:

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"sixtyfour","path":"/enrich-lead"}'
  "lead_info": {
    "first_name": "John",
    "last_name": "Doe",
    "company": "Stripe"
  },
  "struct": {"email": "Work email", "phone": "Phone number"}
}'
Step 6: Get Company Context

Research company for personalization:

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"brand-dev","path":"/v1/brand/retrieve","query":{"domain":"stripe.com"}}'

Campaign Building Pipeline

# 1. Find target companies
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"fiber","path":"/v1/company-search"}'
  "searchParams": {
    "industries": ["SaaS"],
    "employee_count_min": 50,
    "employee_count_max": 500
  }
}'

# 2. Get emails for each company
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"hunter","path":"/v2/domain-search","query":{"domain":"company.com"}}'

# 3. Verify each email
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"hunter","path":"/v2/email-verifier","query":{"email":"[email protected]"}}'

# 4. Enrich for personalization
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"sixtyfour","path":"/enrich-lead","body":{"lead_info":{"first_name":"John","last_name":"Doe","company":"Company"},"struct":{"email":"Work email"}}}'

Tips

  • Always verify emails before sending
  • Personalize using enrichment data
  • Segment by role, industry, or company size
  • Track bounces and clean your list

Discover More

List all endpoints, or add a path for parameter details:

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/search \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"prompt":"brand-dev API endpoints"}' api show fiber
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/search \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"prompt":"hunter API endpoints"}' api show sixtyfour 

Example: curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/details \ -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"api":"olostep","path":"/v1/scrapes"}' for endpoint parameters.

1---
2name: email-campaign
3description: Build email campaigns - find emails, verify them, and prepare outreach
4source: orthogonal
5---
6 
7 
8# Email Campaign - Build Verified Email Lists
9 
10## Setup
11 
12Read your credentials from ~/.gooseworks/credentials.json:
13```bash
14export GOOSEWORKS_API_KEY=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json'))['api_key'])")
15export GOOSEWORKS_API_BASE=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json')).get('api_base','https://api.gooseworks.ai'))")
16```
17 
18If ~/.gooseworks/credentials.json does not exist, tell the user to run: `npx gooseworks login`
19 
20All endpoints use Bearer auth: `-H "Authorization: Bearer $GOOSEWORKS_API_KEY"`
21 
22 
23Build targeted email campaigns with verified email addresses and personalized outreach.
24 
25## Workflow
26 
27### Step 1: Find Emails by Domain
28Get all emails for target companies:
29 
30```bash
31curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
32 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
33 -H "Content-Type: application/json" \
34 -d '{"api":"hunter","path":"/v2/domain-search","query":{"domain":"stripe.com"}}'
35```
36 
37### Step 2: Find Specific Person's Email
38Find email for specific contacts:
39 
40```bash
41curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
42 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
43 -H "Content-Type: application/json" \
44 -d '{"api":"hunter","path":"/v2/email-finder","query":{"domain":"stripe.com","first_name":"John","last_name":"Doe"}}'
45```
46 
47### Step 3: Verify Emails
48Check deliverability before sending:
49 
50```bash
51curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
52 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
53 -H "Content-Type: application/json" \
54 -d '{"api":"hunter","path":"/v2/email-verifier","query":{"email":"[email protected]"}}'
55```
56 
57### Step 4: Batch Verification with Fiber
58Validate multiple emails:
59 
60```bash
61curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
62 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
63 -H "Content-Type: application/json" \
64 -d '{"api":"fiber","path":"/v1/validate-email/single","body":{"email":"[email protected]"}}'
65```
66 
67### Step 5: Enrich for Personalization
68Get info for personalized outreach:
69 
70```bash
71curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
72 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
73 -H "Content-Type: application/json" \
74 -d '{"api":"sixtyfour","path":"/enrich-lead"}'
75 "lead_info": {
76 "first_name": "John",
77 "last_name": "Doe",
78 "company": "Stripe"
79 },
80 "struct": {"email": "Work email", "phone": "Phone number"}
81}'
82```
83 
84### Step 6: Get Company Context
85Research company for personalization:
86 
87```bash
88curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
89 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
90 -H "Content-Type: application/json" \
91 -d '{"api":"brand-dev","path":"/v1/brand/retrieve","query":{"domain":"stripe.com"}}'
92```
93 
94## Campaign Building Pipeline
95 
96```bash
97# 1. Find target companies
98curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
99 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
100 -H "Content-Type: application/json" \
101 -d '{"api":"fiber","path":"/v1/company-search"}'
102 "searchParams": {
103 "industries": ["SaaS"],
104 "employee_count_min": 50,
105 "employee_count_max": 500
106 }
107}'
108 
109# 2. Get emails for each company
110curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
111 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
112 -H "Content-Type: application/json" \
113 -d '{"api":"hunter","path":"/v2/domain-search","query":{"domain":"company.com"}}'
114 
115# 3. Verify each email
116curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
117 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
118 -H "Content-Type: application/json" \
119 -d '{"api":"hunter","path":"/v2/email-verifier","query":{"email":"[email protected]"}}'
120 
121# 4. Enrich for personalization
122curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
123 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
124 -H "Content-Type: application/json" \
125 -d '{"api":"sixtyfour","path":"/enrich-lead","body":{"lead_info":{"first_name":"John","last_name":"Doe","company":"Company"},"struct":{"email":"Work email"}}}'
126```
127 
128## Tips
129 
130- Always verify emails before sending
131- Personalize using enrichment data
132- Segment by role, industry, or company size
133- Track bounces and clean your list
134 
135## Discover More
136 
137List all endpoints, or add a path for parameter details:
138 
139```bash
140curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/search \
141 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
142 -H "Content-Type: application/json" \
143 -d '{"prompt":"brand-dev API endpoints"}' api show fiber
144curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/search \
145 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
146 -H "Content-Type: application/json" \
147 -d '{"prompt":"hunter API endpoints"}' api show sixtyfour
148```
149 
150Example: `curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/details \
151 -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
152 -H "Content-Type: application/json" \
153 -d '{"api":"olostep","path":"/v1/scrapes`"}' for endpoint parameters.
154 
View all files on GitHub →

Details

Updated
Sep 21, 2026
License
MIT
Stars on the repo
★ 1,220
Checked
Source
gooseworks-ai/goose-skills ↗
Creator
gooseworks-ai · 206 listings
View creator

Made with email-campaign

Email Campaign - Build Verified Email Lists — CleanShot 2026-07-13 at 20 16 54@2x (from the gooseworks-ai/goose-skills README)
Email Campaign - Build Verified Email Lists — CleanShot 2026-07-13 at 20 16 54@2x (from the gooseworks-ai/goose-skills README)

by gooseworks-ai

Similar skills

See all →
SkillReverse engineer native, managed, Electron/JavaScriptREAmorluto/rea · by morlutoReverse engineer native, managed, Electron/JavaScript, packaged, firmware, and browser targets with REA. Use shipped-artifact or requested runtime evidence to explain features, compare versions, decompile code, or guide a reconstruction. Skip REA for ordinary source-repository architecture analysis.★ 316k GitHub starsSkillBrainstorms ideas into designs before any creative workBrainstorming Ideas Into Designsobra/superpowers · by obraYou MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.★ 290k GitHub starsSkillRequires technical rigor and verificationCode Review Receptionobra/superpowers · by obraUse when receiving code review feedback, before implementing suggestions, especially if feedback seems unclear or technically questionable - requires technical rigor and verification, not performative agreement or blind implementation★ 290k GitHub starsSkillDiagnosis loop for hard bugs and performance regressionsDiagnosing bugsmattpocock/skills · by mattpocockDiagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.★ 267k GitHub starsSkillImplement the result of /to-spec and /to-tickets in codeImplement specmattpocock/skills · by mattpocockImplement the result of /to-spec and /to-tickets in code.★ 267k GitHub starsSkillWriting a PR bodymattpocock/skills · by mattpocockUse when writing a PR body.★ 267k GitHub stars

More from gooseworks-ai

SkillMine the highest-converting ad angles from customer reviewsAd angle minergooseworks-ai/goose-skills · by gooseworks-aiMine the highest-converting ad angles from customer reviews, Reddit complaints, support tickets, and competitor ads. Extracts actual pain language, competitor weaknesses, and outcome phrases that real buyers use. Outputs a ranked angle bank with proof quotes and recommended ad formats per angle.★ 1.2k GitHub starsSkillAnalyze ad campaign performance data to identify what'sAd campaign analyzergooseworks-ai/goose-skills · by gooseworks-aiAnalyze ad campaign performance data (Google, Meta, LinkedIn) to identify what's working, what's wasting budget, and specific cut/scale/test recommendations. Runs statistical analysis, funnel diagnostics, and multi-channel budget reallocation with specific dollar-amount shift recommendations and scenario modeling.★ 1.2k GitHub starsSkillFor paid lead-gen and participant-recruitment adsAd lead quality analyzergooseworks-ai/goose-skills · by gooseworks-aiFor paid lead-gen and participant-recruitment ads, replaces vanity CPA with true CAC per qualified lead by joining ad-platform data with downstream funnel events, surfaces tracking gaps, and classifies every creative into Scale / Keep / Investigate / Cut.★ 1.2k GitHub starsSkillAnalyze the message match between your ads and landing pagesAd to landing page auditorgooseworks-ai/goose-skills · by gooseworks-aiAnalyze the message match between your ads and landing pages. Checks if the promise in the ad copy carries through to the landing page headline, body, and CTA. Flags disconnects that kill conversion rates. Works with Google, Meta, and LinkedIn ads.★ 1.2k GitHub starsSkillCheck and improve your brand's visibility across AI searchAeogooseworks-ai/goose-skills · by gooseworks-aiCheck and improve your brand's visibility across AI search engines (ChatGPT, Perplexity, Gemini, Grok, Claude, DeepSeek). Set up tracking, run visibility analyses, audit your website for AI readability, and get actionable recommendations. Uses the npx goose-aeo@latest CLI.★ 1.2k GitHub starsSkillSearch Amazon products - find items, compare pricesAmazon Product Searchgooseworks-ai/goose-skills · by gooseworks-aiSearch Amazon products - find items, compare prices, read reviews★ 1.2k GitHub stars