Goose-skills orthogonal-find-email-by-name

Find someone's email address given their name and company

install
source · Clone the upstream repo
git clone https://github.com/gooseworks-ai/goose-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/gooseworks-ai/goose-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/capabilities/orthogonal-find-email-by-name" ~/.claude/skills/gooseworks-ai-goose-skills-orthogonal-find-email-by-name && rm -rf "$T"
manifest: skills/capabilities/orthogonal-find-email-by-name/SKILL.md
source content

Find Email by Name

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"

Find a person's email address when you know their name and company/domain. Essential for sales outreach, recruiting, and professional networking.

When to Use

  • User needs to contact someone at a company
  • User asks "what's [person]'s email at [company]?"
  • User wants to reach out to a specific person
  • Sales prospecting or lead generation
  • Recruiting outreach

How It Works

Uses Hunter or Tomba APIs to find the most likely email address for a person based on their name and company domain.

Usage

Find Email with Hunter

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":"Patrick","last_name":"Collison"}}'

Find Email with Tomba

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"tomba","path":"/v1/email-finder","query":{"domain":"intercom.com","company":"Intercom","first_name":"Eoghan","last_name":"McCabe"}}'

Find from LinkedIn Profile

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"tomba","path":"/v1/linkedin","query":{"url":"https://linkedin.com/in/johndoe"}}'

Parameters

Hunter

  • domain (required) - Company domain (e.g., stripe.com)
  • first_name (required) - Person's first name
  • last_name (required) - Person's last name
  • company (optional) - Company name (alternative to domain)

Tomba

  • domain (required) - Company domain
  • company (required) - Company name (3-75 chars)
  • first_name / last_name or full_name - Person's name
  • enrich_mobile (optional) - Set to
    true
    to include phone number

Response

Hunter Response

Returns

data
object:

  • email (string) - The found email address
  • score (integer) - Confidence 0-100 (higher = more likely correct)
  • domain (string) - Company domain searched
  • accept_all (boolean) - Whether server accepts any address
  • company (string) - Company name
  • position (string|null) - Job title if known
  • twitter (string|null) - Twitter handle if known
  • linkedin_url (string|null) - LinkedIn profile URL if known
  • phone_number (string|null) - Phone if known
  • sources (array) - Web pages where this email appeared
  • verification (object) -
    date
    and
    status
    (
    valid
    /
    invalid
    /
    unknown
    )

Tomba Response

Returns

data.email
object with email address and confidence data. Also includes web sources where the email was found.

Examples

User: "Find the email for Sarah Chen at Notion"

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":"notion.so","first_name":"Sarah","last_name":"Chen"}}'

User: "I need to contact John Smith who works at Google"

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"tomba","path":"/v1/email-finder","query":{"domain":"google.com","company":"Google","first_name":"John","last_name":"Smith"}}'

Error Handling

  • 400 - Missing required parameters (Hunter needs
    domain
    +
    first_name
    +
    last_name
    )
  • 422 - Tomba validation error — ensure both
    domain
    and
    company
    are provided
  • 429 - Rate limit exceeded — wait and retry
  • Score of 0 means no match found — try alternate name spellings or a different API
  • If Hunter returns
    accept_all: true
    , the email format may be correct but the specific mailbox can't be confirmed

Tips

  • Use the company's main domain (not subdomains)
  • Try both Hunter and Tomba if one doesn't find results
  • Check confidence scores - high confidence means the email is likely correct
  • Always verify important emails before sending cold outreach
  • For LinkedIn profiles, Tomba's LinkedIn finder is very effective