---
name: moltsets-find-contact
description: Use this skill when the user wants to find a specific person's contact details by name and company and does NOT already have a LinkedIn URL.
---

# Find Contact

Single-person lookup: name + company → business email.

Prefer `MoltSets:search_business_email_by_name` (name + company → business email and matched LinkedIn URL in ONE call). Fall back to `MoltSets:search_people` (search by name, filter by company) then `MoltSets:linkedin_to_business_email` on the matched URL.

## Triggers

"find contact for [Name] at [Company]", "get the email for [Name]", "who is [Name] at [Company]". Optimised for single-person lookups. Do NOT use if the user already has a LinkedIn URL - use enrich-contact instead.

## Set Expectations

Before firing any calls, give the user a brief, dry heads-up. Deadpan over enthusiastic - no filler, no corporate speak.

Facts to convey:
- Name + company → business email in one call (with a search-and-match fallback)
- ~10 seconds total

## Step 1 - Resolve company domain

User gives company name to infer domain (HubSpot to `hubspot.com`, Salesforce to `salesforce.com`).
Unknown company to ask: "What's their website domain?"

## Step 2 - Look up the business email (preferred)

Call `search_business_email_by_name` with `name` (or `first_name` + `last_name`) plus `company_domain` (preferred) or `company`. It returns the business email and the matched LinkedIn URL in one call. If it returns an email, you're done - skip to Output.

## Step 3 - Fallback: search and match

If the preferred call misses, call `search_people` with the name in `query` plus `company_domain` (preferred) or `company`, `limit: 25`. It searches by name and can filter by company. Scan returned records for the target name in `full_name`:
- **No match on first page** to page with `offset` (25, 50, …); if still nothing with `company_domain`, retry with `company`. Report what you tried.
- **One match** to take it.
- **Multiple plausible matches** to present options, ask user to pick.

If the matched record already has `business_email`, use it directly - no extra call needed. Otherwise call `linkedin_to_business_email` with the matched `linkedin_url`.

Ask after: "Want me to also check personal email or mobile?"

## Output

```
Jane Smith - Head of Marketing, Acme Corp
LinkedIn: https://www.linkedin.com/in/janesmith
Business email: jane@acmecorp.com (validated 2024-11-03)
```

Show `Not found` for any empty field.

## Edge cases

- On the `search_people` fallback, put the person's name in `query` and the domain in `company_domain` (not `domain`); you can also narrow with `seniority`/`department`/`country`
- No match after paging and retry to tell user, ask for more detail (full name, domain)
- Never guess or fabricate LinkedIn URLs - only surface what the tool returns
