The workflow runs automatically every time a new Lead record is created in Salesforce. It calls the Lusha API to enrich the contact and company, writes the enriched data back to the Lead record, and logs the enrichment timestamp so you always know when data was last verified.
1
Trigger — New Lead created in Salesforce
Salesforce Flow fires the moment a new Lead record is created — from a web form, a manual entry, a CRM import, or an inbound integration. The workflow runs on every new lead regardless of source.
2
Action — Call Lusha API to enrich contact
The Flow calls Lusha’s /v2/contacts/search endpoint with the lead’s email address or name and company. Lusha returns the verified contact profile — current title, seniority, department, verified email, direct dial, and mobile number.
3
Action — Call Lusha API to enrich company
A second call to Lusha’s /v2/companies/search endpoint enriches the company — industry, employee count, revenue range, funding stage, HQ location, and tech stack. Both calls run in sequence from the same Flow.
4
Action — Write enriched data back to Salesforce
The Flow maps Lusha’s response fields to your Salesforce Lead fields and updates the record. Only empty fields are written by default — existing data is not overwritten unless you configure it to do so.
5
Output — Enriched Lead record, ready for the rep
The Lead record now contains verified contact and company data. A custom field logs the Lusha enrichment date so you always know when the data was last confirmed. The rep opens a complete record, not a blank one.
What you’ll get back
A Lead record that arrives looking like this — before the rep opens it:
Before Lusha enrichment
| Salesforce field | Value |
|---|
| First name | R. |
| Last name | M. |
| Email | r.m@[company].com (unverified) |
| Title | blank |
| Phone | blank |
| Company | [Company] |
| Industry | blank |
| Employees | blank |
| Lusha enriched | blank |
After Lusha enrichment
| Salesforce field | Value |
|---|
| First name | R. |
| Last name | M. |
| Email | r.m@[company].com ✓ verified |
| Title | VP of Sales |
| Seniority | VP |
| Department | Sales |
| Direct dial | +1 512 555 •••• |
| Mobile | +1 512 555 •••• |
| Company | [Company] |
| Industry | Revenue Intelligence / SaaS |
| Employees | 280–320 |
| Revenue range | $10M–$50M |
| Funding stage | Series B |
| HQ | Austin, TX |
| Lusha enriched | [date] ✓ |
Build it
Step 1 — Get your Lusha API key
Log in to your Lusha account, go to Settings → API, and copy your API key. Full API documentation is at docs.lusha.com/guides.
Step 2 — Create a Named Credential in Salesforce
In Salesforce Setup, go to Security → Named Credentials → New. Set the URL to https://api.lusha.com, authentication protocol to “No Authentication” (you’ll pass the API key in the header), and save. This keeps your API key secure and out of the Flow directly.
Step 3 — Add custom fields to the Lead object
In Salesforce Setup, go to Object Manager → Lead → Fields & Relationships. Add the following custom fields to store Lusha data:
| Field label | Field type | API name |
|---|
| Lusha — Direct dial | Phone | Lusha_Direct_Dial__c |
| Lusha — Mobile | Phone | Lusha_Mobile__c |
| Lusha — Seniority | Text | Lusha_Seniority__c |
| Lusha — Department | Text | Lusha_Department__c |
| Lusha — Funding stage | Text | Lusha_Funding_Stage__c |
| Lusha — Employee count | Number | Lusha_Employee_Count__c |
| Lusha — Revenue range | Text | Lusha_Revenue_Range__c |
| Lusha — Enriched date | Date/Time | Lusha_Enriched_Date__c |
Step 4 — Build the Flow in Salesforce Flow Builder
In Salesforce Setup, go to Process Automation → Flows → New Flow → Record-Triggered Flow.
- Object: Lead
- Trigger: A record is created
- Condition: Run always (or add an entry condition if you want to filter by lead source)
- Action: Add an HTTP Callout action — select your Named Credential, set the endpoint to
/v2/contacts/search, method POST, and pass the lead email in the request body - Parse the response: map the returned fields to your Lead custom fields
- Add a second HTTP Callout to
/v2/companies/search for company enrichment - Add an Update Records element to write all enriched values back to the Lead
- Save and activate
Step 5 — Test with a live lead
Create a test Lead record with a known email address. Open the record after 30 seconds and confirm the Lusha fields are populated. Check the Flow debug log if fields are empty — the most common issue is an incorrect API key header or a mismatched field API name. Full troubleshooting guidance at docs.lusha.com/guides.
API reference
Contact enrichment endpoint
POST https://api.lusha.com/v2/contacts/search
Headers:
api_key: YOUR_LUSHA_API_KEY
Content-Type: application/json
Request body:
{
"emailAddress": "{{Lead.Email}}"
}
Key response fields to map:
data.jobTitle → Title
data.seniority → Lusha_Seniority__c
data.department → Lusha_Department__c
data.phoneNumbers[0] → Lusha_Direct_Dial__c
data.phoneNumbers[1] → Lusha_Mobile__c
data.emailAddress → Email (if empty)
Company enrichment endpoint
POST https://api.lusha.com/v2/companies/search
Headers:
api_key: YOUR_LUSHA_API_KEY
Content-Type: application/json
Request body:
{
"name": "{{Lead.Company}}"
}
Key response fields to map:
data.industry → Industry
data.employeeCount → Lusha_Employee_Count__c
data.revenueRange → Lusha_Revenue_Range__c
data.fundingStage → Lusha_Funding_Stage__c
data.hqLocation.city → City
data.hqLocation.country → Country
Full API documentation: docs.lusha.com/guides
Example outputs in this workflow are illustrative — they reflect the structure, fields, and format of real Lusha API output, but were not pulled from a live session. Build this workflow with your own Lusha API key and Salesforce org to see live results.