← LushaCONTENT HISTORYWHAT CHANGED · RULE-BASED ANALYSIS
Update to Lusha
Snapshot Sep 30, 2026 · 22:43 UTC · version 3.0.0
Collection source: not recorded for this historical snapshot.
First saved snapshot
No earlier snapshot is available to establish a change.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"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.",
"included_files": [],
"skill_md_contents": "---\nname: enrich-contact\ndescription: >\n Look up a professional business contact and get their verified work phone numbers,\n work email, and company context.\n Use when the user says \"look up [name]\", \"get me the contact info for [person]\",\n \"find [name]'s phone number\", \"who is [name] at [company]\", \"enrich [email or name]\",\n or any request to retrieve a single person's professional business contact details.\n---\n\n# Enrich Contact\n\nLook up a professional business contact in Lusha and return a call-ready contact card. Phone numbers — direct line and mobile — lead the output.\n\nOnly 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.\n\n## Step 1 — Parse Input\n\nExtract all available identifiers from the user's request. `contacts_search` accepts three lookup paths:\n- **Email** — standalone, strongest match\n- **LinkedIn URL** — standalone, strong match\n- **First name + last name + company name** — all three required together\n\nA 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.\n\n## Step 2 — Look Up and Reveal\n\n`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.\n\n**One-shot (preferred when the identifier is unambiguous — an email, a LinkedIn URL, or a clean name + company):**\nCall `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.\n\n**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):**\n1. Call `contacts_search` with `enrich: false` — this returns a preview only and does not use reveal quota.\n2. If multiple candidates come back, present the top 2–3 and ask the user to confirm.\n3. Call `prospecting_contact_enrich` with the chosen result's `id` and `reveal` set from its `canReveal[].field` to reveal phones and email once.\n\n## Step 3 — Fetch Signals (optional)\n\nIf 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.\n\n## Step 4 — Present the Contact Card\n\nFormat output as follows. Phone numbers appear first — never buried.\n\n---\n\n**[Full Name]** · [Title] · [Company]\n\n**📞 Phone**\n| Type | Number | Verified |\n|------|--------|----------|\n| Direct | ... | ✓ / — |\n| Mobile | ... | ✓ / — |\n\n**✉️ Email**\n| Type | Address |\n|------|---------|\n| Work | ... |\n\n**Company**\n| Field | Value |\n|-------|-------|\n| Industry | |\n| Size | |\n| Location | |\n| Website | |\n\n**Signals** *(if returned)*\n- [Signal type] — [date]\n\n---\n\nOmit any section where no data was returned. Never show blank rows.\n\nIf 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.\n\n## Step 5 — Offer Next Actions\n\nAsk the user which action to take next:\n\n1. **Find colleagues** — search for more contacts at the same company\n2. **Find similar contacts** — build a lookalike list using this person as a seed\n3. **Signal-prospect from this company** — check if their company is showing buying signals\n\n### If the user selects \"Find similar contacts\"\n\nThe 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:\n\n*\"To find similar contacts I need at least 5 references for the lookalike model. How would you like to provide them?*\n*A) I'll pull colleagues from [Company] — you pick which ones to include*\n*B) I have a specific list of contacts or companies to use as references\"*\n\n**If the user chooses A:**\nUse `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.\n\n**If the user chooses B:**\nAsk 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.\n\nIn either case, do not call any lookalike tool until the reference set has been confirmed at ≥5.\n"
}SHA-256: cb2b138cbb570f53e6aa84f41631279157e213678d58da174a886e1ca948f00c