Skip to main content

Contact Enrich

Enrich a KNOWN person: return their email, phone, seniority/title, social profiles, and employment history. Sourced from EXTERNAL contact providers — Apollo and ZoomInfo — NOT the HG Insights data API. Requires an Apollo or ZoomInfo integration; provider is auto-selected from org configuration unless you set provider. Use this when you already have a specific contact and want their missing details — pass a contactId from contact_search (most accurate), an email, a LinkedIn URL, or a first+last name with company domain/name. Batch up to 25 people via contacts for bulk enrichment. Do NOT use this to DISCOVER people you don't know yet (e.g. "find the VPs of Marketing at Cisco") — use contact_search for that, then enrich the best matches by id. USES CREDITS, billed per revealed detail on matched contacts (not per person): 0.2 credits per revealed email + 2 credits per revealed phone. revealPhone is OPT-IN (defaults false) because a phone reveal costs 10x an email — only set it when a phone number is specifically required. No-match calls, and calls revealing neither detail, cost 0. Response metadata.dynamicCreditCost reports the actual charge. Do NOT re-enrich a contact already in context — every call is billed regardless of whether the data changed.

Credits

0.2 / 2 — 0.2 per email reveal, 2 per phone reveal (phone is opt-in). See the full credit table for how AI Credits work.

Parameters

NameTypeDefaultDescription
contactIdstring-Provider contact ID returned by contact_search. Most accurate identifier — resolves an exact person with no matching ambiguity. Use the same provider that produced it.
firstNamestring-Contact's first (given) name. Combine with lastName and a company domain/name so the provider can resolve the right person.
lastNamestring-Contact's last (family) name. Combine with firstName and a company domain/name so the provider can resolve the right person.
emailstring-Contact's work or personal email, if known. A strong standalone matcher — sufficient on its own to reverse-lookup the rest of the profile.
companyDomainstring-Current employer's website domain (e.g. 'stripe.com'). Pair with firstName+lastName to disambiguate common names; preferred over companyName. Protocol prefixes (http://, https://), leading www., and trailing paths/queries/fragments are accepted and stripped automatically; case is normalized.
companyNamestring-Current employer's name (e.g. 'Stripe'). Use only when the domain is unknown — companyDomain resolves more reliably.
linkedinUrlstring-Contact's LinkedIn profile URL. A strong standalone matcher — sufficient on its own to identify the person.
contactsarray-Array of known contacts to enrich in one call (max 25), each identified the same ways as a single enrichment (id, email, linkedinUrl, or name + company). Cheaper and faster than one call per person; mutually exclusive with the single-contact fields above.
contacts[].idstring-Provider contact ID (from contact_search) for this row. Most accurate matcher for a bulk item.
contacts[].firstNamestring-Contact's first (given) name; pair with lastName and a company domain/name.
contacts[].lastNamestring-Contact's last (family) name; pair with firstName and a company domain/name.
contacts[].emailstring-Contact's email, if known — a strong standalone matcher for this row.
contacts[].companyDomainstring-This contact's current employer domain (e.g. 'salesforce.com'); preferred over companyName. Protocol prefixes (http://, https://), leading www., and trailing paths/queries/fragments are accepted and stripped automatically; case is normalized.
contacts[].companyNamestring-This contact's current employer name; use only when the domain is unknown.
contacts[].linkedinUrlstring-Contact's LinkedIn profile URL — a strong standalone matcher for this row.
revealEmailbooleantrueWhether to reveal email addresses (default: true). Billed at 0.2 credits per contact with a revealed email.
revealPhonebooleanfalseWhether to reveal phone numbers. OPT-IN and billed separately at 2 credits per contact with a revealed phone — 10x the cost of an email reveal. Defaults to false; only set true when a phone number is specifically required.
providerstringautoExternal contact provider to enrich against. "auto" (default) picks the first configured provider; "apollo" or "zoominfo" force a specific one. Use the same provider that produced any contactId you pass.

Required Integrations

This tool is only available when your organization has the following integrations configured in the Phoenix Integrations settings:

  • Apollo.io (apollo)
  • ZoomInfo (zoominfo)

Use Cases

  • I have a contactId from contact_search — get this person's email and phone
  • Enrich a known person by first+last name plus their company domain (e.g. Jane Doe at cisco.com)
  • Reverse-lookup a person from just their email address to fill in title, company, and LinkedIn
  • Enrich a batch of up to 25 known contacts in one call instead of enriching one at a time
  • Get a mobile phone number for a specific contact (set revealPhone: true — 10x the email cost)

Example Usage

Enrich by contactId from contact_search (most accurate)

{
"tool": "contact_enrich",
"arguments": {
"contactId": "60a1b2c3d4e5f6a7b8c9d0e1"
}
}

Enrich by name + company domain, email only

{
"tool": "contact_enrich",
"arguments": {
"firstName": "Jane",
"lastName": "Doe",
"companyDomain": "cisco.com"
}
}

Reverse-lookup by email, include phone

{
"tool": "contact_enrich",
"arguments": {
"email": "jane.doe@cisco.com",
"revealPhone": true
}
}

Response Format

FieldTypeDescription
contactobjectEnriched contact data (single enrichment)
contact.idstringContact ID
contact.firstNamestring | nullFirst name
contact.lastNamestring | nullLast name
contact.namestring | nullFull name
contact.titlestring | nullJob title
contact.senioritystring | nullSeniority level
contact.emailstring | nullEmail address (if revealed)
contact.emailStatusstring | nullEmail verification status
contact.personalEmailsarray | nullPersonal email addresses
contact.phonestring | nullPrimary phone number
contact.mobilePhonestring | nullMobile phone number
contact.corporatePhonestring | nullCorporate phone number
contact.linkedinUrlstring | nullLinkedIn profile URL
contact.twitterUrlstring | nullTwitter/X profile URL
contact.facebookUrlstring | nullFacebook profile URL
contact.githubUrlstring | nullGitHub profile URL
contact.organizationobjectOrganization information
contact.organization.idstringOrganization ID
contact.organization.namestringCompany name
contact.organization.domainstring | nullCompany domain
contact.organization.industrystring | nullIndustry
contact.organization.employeeCountnumber | nullEmployee count
contact.organization.revenuenumber | nullAnnual revenue
contact.organization.locationstring | nullCompany location
contact.organization.linkedinUrlstring | nullCompany LinkedIn URL
contact.organization.websitestring | nullCompany website
contact.employmentHistoryarrayEmployment history
contact.employmentHistory[].organizationNamestring | null
contact.employmentHistory[].titlestring | null
contact.employmentHistory[].startDatestring | null
contact.employmentHistory[].endDatestring | null
contact.employmentHistory[].isCurrentboolean
contact.citystring | nullCity
contact.statestring | nullState/Region
contact.countrystring | nullCountry
contactsarrayEnriched contacts (bulk enrichment)
contacts[].idstringContact ID
contacts[].firstNamestring | nullFirst name
contacts[].lastNamestring | nullLast name
contacts[].namestring | nullFull name
contacts[].titlestring | nullJob title
contacts[].senioritystring | nullSeniority level
contacts[].emailstring | nullEmail address (if revealed)
contacts[].emailStatusstring | nullEmail verification status
contacts[].personalEmailsarray | nullPersonal email addresses
contacts[].phonestring | nullPrimary phone number
contacts[].mobilePhonestring | nullMobile phone number
contacts[].corporatePhonestring | nullCorporate phone number
contacts[].linkedinUrlstring | nullLinkedIn profile URL
contacts[].twitterUrlstring | nullTwitter/X profile URL
contacts[].facebookUrlstring | nullFacebook profile URL
contacts[].githubUrlstring | nullGitHub profile URL
contacts[].organizationobjectOrganization information
contacts[].organization.idstringOrganization ID
contacts[].organization.namestringCompany name
contacts[].organization.domainstring | nullCompany domain
contacts[].organization.industrystring | nullIndustry
contacts[].organization.employeeCountnumber | nullEmployee count
contacts[].organization.revenuenumber | nullAnnual revenue
contacts[].organization.locationstring | nullCompany location
contacts[].organization.linkedinUrlstring | nullCompany LinkedIn URL
contacts[].organization.websitestring | nullCompany website
contacts[].employmentHistoryarrayEmployment history
contacts[].employmentHistory[].organizationNamestring | null
contacts[].employmentHistory[].titlestring | null
contacts[].employmentHistory[].startDatestring | null
contacts[].employmentHistory[].endDatestring | null
contacts[].employmentHistory[].isCurrentboolean
contacts[].citystring | nullCity
contacts[].statestring | nullState/Region
contacts[].countrystring | nullCountry
metadataobjectEnrichment metadata
metadata.creditsUsednumberNumber of credits consumed
metadata.matchConfidencestringMatch confidence level
metadata.enrichedAtstringISO timestamp of enrichment
metadata.noMatchReasonstringReason when no matching contact was found
metadata.enrichmentTypestringType of enrichment performed
metadata.providerstringContact data provider used (e.g., apollo, zoominfo)
metadata.usedProviderstringWhich provider fulfilled this request
metadata.availableProvidersarrayProviders configured for the organization

Example response

{
"contact": {
"id": "aaaaaaaaaaaaaaaaaaaaaaaa",
"firstName": "Jordan",
"lastName": "Rivera",
"name": "Jordan Rivera",
"title": "Vice President Marketing",
"seniority": "vp",
"email": "jordan.rivera@example.com",
"emailStatus": "verified",
"mobilePhone": "+1-555-0100",
"linkedinUrl": "http://www.linkedin.com/in/example-jordan-rivera",
"organization": {
"id": "bbbbbbbbbbbbbbbbbbbbbbbb",
"name": "Salesforce",
"domain": "salesforce.com",
"industry": "computer software"
},
"city": "New York",
"state": "New York",
"country": "United States"
},
"metadata": {
"creditsUsed": 2.2,
"matchConfidence": "high",
"enrichedAt": "2026-08-27T23:03:25.231Z",
"enrichmentType": "single",
"provider": "apollo"
}
}

contact_search, company_firmographic, search_companies