← Files LushaARCHIVED FILE

skills/enrich-contact/SKILL.md

5.16 KB · Oct 5, 2026 · 12:03 UTC

↓ Download file

---
name: enrich-contact
description: >
  Look up a professional business contact and get their verified work phone numbers,
  work email, and company context.
  Use when the user says "look up [name]", "get me the contact info for [person]",
  "find [name]'s phone number", "who is [name] at [company]", "enrich [email or name]",
  or any request to retrieve a single person's professional business contact details.
---

# Enrich Contact

Look up a professional business contact in Lusha and return a call-ready contact card. Phone numbers — direct line and mobile — lead the output.

Only return professional contact data supplied by Lusha. Do not invoke Lusha for home addresses, residential information, private personal phone numbers, or other non-business personal data.

## Step 1 — Parse Input

Extract all available identifiers from the user's request. `contacts_search` accepts three lookup paths:
- **Email** — standalone, strongest match
- **LinkedIn URL** — standalone, strong match
- **First name + last name + company name** — all three required together

A job title alone is not a lookup path. If the user gives only a title + company (e.g. "the CFO of Stripe"), there is no name to look up — first surface candidates with `prospecting_contact_search` (jobTitles + company), then enrich the chosen one. Only ask for clarification when no usable identifier is present at all.

## Step 2 — Look Up and Reveal

`contacts_search` has an `enrich` flag that controls whether the call reveals phones and email using quota already included in the user's existing Lusha account. Pick the path by how confident the match is — never reveal the same person twice because that may use the existing-account quota twice. This workflow cannot change the user's account entitlement.

**One-shot (preferred when the identifier is unambiguous — an email, a LinkedIn URL, or a clean name + company):**
Call `contacts_search` with `enrich: true` (the default). The response returns the profile *with* verified phones and email in a single call. You're done — do not call `prospecting_contact_enrich` afterward.

**Preview-then-reveal (when a complete identifier is available but the match may be ambiguous — for example, a common name with a company or multiple likely people):**
1. Call `contacts_search` with `enrich: false` — this returns a preview only and does not use reveal quota.
2. If multiple candidates come back, present the top 2–3 and ask the user to confirm.
3. Call `prospecting_contact_enrich` with the chosen result's `id` and `reveal` set from its `canReveal[].field` to reveal phones and email once.

## Step 3 — Fetch Signals (optional)

If you resolved a Lusha contact `id` in Step 2, use `signals_contacts_get` with that id to check for recent signals (promotion, company change). If you only have an email or LinkedIn URL and no id, use `signals_contacts_search` instead. Signals default to the last 6 months. Include any returned signals in the output as context.

## Step 4 — Present the Contact Card

Format output as follows. Phone numbers appear first — never buried.

---

**[Full Name]** · [Title] · [Company]

**📞 Phone**
| Type | Number | Verified |
|------|--------|----------|
| Direct | ... | ✓ / — |
| Mobile | ... | ✓ / — |

**✉️ Email**
| Type | Address |
|------|---------|
| Work | ... |

**Company**
| Field | Value |
|-------|-------|
| Industry | |
| Size | |
| Location | |
| Website | |

**Signals** *(if returned)*
- [Signal type] — [date]

---

Omit any section where no data was returned. Never show blank rows.

If no phone numbers are available, state this explicitly: *"No verified phone numbers found for this contact."* Do not present the card as complete when phones are missing.

## Step 5 — Offer Next Actions

Ask the user which action to take next:

1. **Find colleagues** — search for more contacts at the same company
2. **Find similar contacts** — build a lookalike list using this person as a seed
3. **Signal-prospect from this company** — check if their company is showing buying signals

### If the user selects "Find similar contacts"

The lookalike model requires at least 5 reference contacts or companies to produce quality results. With only 1 contact enriched so far, ask the user how they want to build the reference set before proceeding:

*"To find similar contacts I need at least 5 references for the lookalike model. How would you like to provide them?*
*A) I'll pull colleagues from [Company] — you pick which ones to include*
*B) I have a specific list of contacts or companies to use as references"*

**If the user chooses A:**
Use `prospecting_contact_search` scoped to the same company (pass the company via `companyNames` or `companyDomains`) to retrieve colleagues. Present the results and ask the user to select which to include alongside the original contact. Proceed to `lookalike-prospect` once ≥5 are confirmed.

**If the user chooses B:**
Ask the user to provide their list. Validate that ≥5 are supplied before calling `lookalike-prospect`. If fewer than 5 are provided, state how many more are needed and wait — do not proceed.

In either case, do not call any lookalike tool until the reference set has been confirmed at ≥5.

SHA-256: 17f941aa442fcd80b4f1834c81de1576504a527e5cdf44cc7b1764c1511d8e1d