EvoLusha 2026 | Driving Growth with Data in the Agentic Age

Watch now »

Seven workflows for Salesforce Agentforce teams — auto-enrich leads, score by ICP fit, monitor key contacts, surface deal signals, and build a fully autonomous inbound lead agent with Lusha. Each workflow stands alone. Build one or all seven.

Seven workflows. From a stale lead record to a fully autonomous inbound agent — built on Lusha’s verified data inside Salesforce Agentforce. Each workflow stands alone. Build one or build all seven.

This playbook is the Lusha Data Framework inside Salesforce. The two-layer architecture — verified data and live intelligence — running autonomously, without a human in the loop.

#WorkflowDifficultyBuild time
1Auto-enrich new leads automaticallyEasy30 min
2Score and route leads by ICP fitMedium45 min
3Alert reps when a key contact changes rolesMedium45 min
4Surface buying signals on open dealsMedium45 min
5Enrich and score accounts on a scheduled cadenceMedium45 min
6Enrich contacts before a campaign goes outEasy30 min
7Build the full Agentforce inbound lead agentAdvanced2 hours

What you need to start: A Lusha API key (Settings → API in your Lusha account), Salesforce admin access, and Flow Builder. Workflow 7 additionally requires a Salesforce Agentforce license.

Full API documentation: docs.lusha.com/guides


Workflow 1 — Auto-enrich new leads with Lusha inside Salesforce Agentforce

Every new lead that hits Salesforce arrives with a name, an email, and a company — and not much else. This workflow fixes that automatically. The moment a new Lead record is created, a Salesforce Flow calls the Lusha API to enrich it — verified email, direct dial, current title, seniority, and full company firmographics — and writes everything back before the rep opens it.

Requires: Lusha API key · Salesforce Flow Builder · Salesforce admin access

How it works

1

Trigger — New Lead created in Salesforce

Salesforce Flow fires the moment a new Lead record is created — from a web form, manual entry, CRM import, or inbound integration. The workflow runs on every new lead regardless of source.

2

Action — Call Lusha API to enrich the contact

The Flow calls Lusha’s /v2/contacts/search endpoint with the lead’s email address. Lusha returns the verified contact profile — current title, seniority, department, verified email, and direct dial.

3

Action — Call Lusha API to enrich the company

A second call to /v2/companies/search returns industry, employee count, revenue range, funding stage, and HQ location. Both calls run in sequence from the same Flow.

4

Action — Write enriched data back to Salesforce

The Flow maps Lusha response fields to your Lead custom 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 data was last confirmed. The rep opens a complete record, not a blank one.

API reference

POST https://api.lusha.com/v2/contacts/search
Headers: api_key: YOUR_LUSHA_API_KEY
Body: { "emailAddress": "{{Lead.Email}}" }

Map response:
  data.jobTitle        → Title
  data.seniority       → Lusha_Seniority__c
  data.department      → Lusha_Department__c
  data.phoneNumbers[0] → Lusha_Direct_Dial__c

POST https://api.lusha.com/v2/companies/search
Body: { "name": "{{Lead.Company}}" }

Map response:
  data.industry        → Industry
  data.employeeCount   → Lusha_Employee_Count__c
  data.fundingStage    → Lusha_Funding_Stage__c

Custom fields to add to the Lead object

Field labelTypeAPI name
Lusha — Direct dialPhoneLusha_Direct_Dial__c
Lusha — SeniorityTextLusha_Seniority__c
Lusha — Funding stageTextLusha_Funding_Stage__c
Lusha — Employee countNumberLusha_Employee_Count__c
Lusha — Revenue rangeTextLusha_Revenue_Range__c
Lusha — Enriched dateDate/TimeLusha_Enriched_Date__c

Lead record before and after

Lead record after Lusha enrichment

FieldBeforeAfter
TitleVP of Sales ✓
SeniorityVP
Direct dial+1 512 555 ••••
IndustryRevenue Intelligence / SaaS
Employees280–320
Funding stageSeries B
Lusha enriched[date] ✓

Workflow 2 — Score and route leads by ICP fit

Enrichment tells you who the lead is. ICP scoring tells you whether they are worth calling. This workflow takes every lead enriched by Lusha, scores it against your ICP criteria, assigns a score to the Salesforce record, and routes it to the right rep or queue automatically. No manual triage. No rep making judgment calls on incomplete data.

Requires: Workflow 1 live · Salesforce Flow Builder · Salesforce admin access

How it works

1

Trigger — Lead enriched by Lusha

The Flow fires when Lusha_Enriched_Date__c is populated and Lusha_ICP_Score__c is still null — meaning enrichment has completed and the lead hasn’t been scored yet.

2

Action — Score the lead against ICP criteria

The Flow evaluates the enriched fields against your ICP scoring rules. Must-have criteria are checked first — a fail assigns Low immediately. Passing leads are scored with weighted points across industry, size, funding stage, seniority, and geography.

3

Action — Write ICP score to Lead record

The Flow writes the ICP score — High, Medium, or Low — and the individual criterion results to custom fields on the Lead record. Reps can see exactly why a lead scored the way it did.

4

Output — Lead routed to correct rep or queue

High-fit leads go to senior AEs. Medium-fit to SDRs. Low-fit to nurture. Routing rules are fully configurable to match your team structure and territory model.

Scoring framework

CriterionMust-havePoints
Industry matches ICPYes — Low if failsPass / Fail
Employee count in ICP rangeYes — Low if failsPass / Fail
Seniority matches target buyerNo+3
Funding stage matches ICPNo+2
Geography matches ICPNo+1

Score interpretation: 5–6 = High · 3–4 = Medium · 0–2 or must-have fail = Low


Workflow 3 — Alert reps when a key contact changes roles

A champion who left five weeks ago and nobody noticed is a deal risk that shows up at the worst possible moment. This workflow runs a daily check on every monitored contact, detects departures and role changes in real time, and alerts the owning rep before the situation affects a deal.

Requires: Lusha API key · Salesforce Flow Builder · Slack (optional)

How it works

1

Trigger — Scheduled Flow runs daily at 6am

Queries Contact records where Lusha_Monitor__c = true. Tag contacts on open opportunities, champions, and economic buyers with this checkbox.

2

Action — Verify each contact via Lusha

For each monitored contact, the Flow calls /v2/contacts/search with the contact email. Lusha returns their current status — confirmed in seat, departed, or promoted.

3

Decision — Detect departure or role change

Company changed = departure. Title changed at the same company = promotion. No change = update verification date only. Each path triggers a different action.

4

Action — Update contact record and create task

Departures: flag the record, log the new company, create a high-priority task. Promotions: update the title, log the previous title, create a standard task.

5

Output — Rep alerted within 24 hours of any change

Optional Slack notification fires to the rep and manager for departures on open opportunities — with contact name, company, departure date, and a direct link to the Salesforce record.

Example Slack alert on departure

⚠ Champion departure detected — action required

Contact: R.M. — VP of Sales
Account: [Company A]
Open deal: [Deal name] — Stage 3 — $42K
Departed: [date]
New company: [New Company]

Find the new owner at [Company A] before this deal goes cold.
View opportunity in Salesforce →


Workflow 4 — Surface buying signals on open deals

An account in Stage 3 just closed a Series B. A new CRO joined two weeks ago. The SDR headcount doubled. Every one of those signals is relevant to the deal — and none of them are in Salesforce because nobody was watching the account between calls. This workflow runs a daily signal check on every open opportunity and surfaces new signals directly on the record.

Requires: Lusha API key · Salesforce Flow Builder · Slack (optional)

How it works

1

Trigger — Scheduled Flow runs daily at 5am

Queries all open Opportunity records — stage not equal to Closed Won or Closed Lost. For each opportunity, retrieves the associated Account to use as the Lusha signal lookup identifier.

2

Action — Call Lusha signals endpoint for each account

Calls GET /v2/companies/signals?domain={Account.Website}. Returns all active buying signals — funding events, executive moves, hiring surges, intent signals — scored and dated.

3

Action — Filter for new signals only

Compares signal dates against Lusha_Last_Signal_Check__c on the opportunity. Only signals that appeared since the last check are processed — so the AE sees what’s new, not a repeat of what’s already logged.

4

Action — Write signals to the opportunity record

New signals are written to a custom signal log field — type, score, date, and description. The latest signal summary is written to a dedicated field visible in the opportunity layout.

5

Output — High-priority signals create a task and Slack alert

Signals scoring above 65 — funding events, executive hires, intent spikes — create a high-priority task for the AE and optionally fire a Slack notification with signal details and a link to the opportunity.

Example opportunity record after signal check

Live signals on open deal

FieldValue
Lusha — Latest signalSeries B closed — $22M — 8 days ago
Lusha — Signal scoreHigh
Lusha — Signal logSeries B $22M (8 days) · New CRO (14 days) · 8 SDR roles (11 days)
Alert fired✓ Task created · Slack sent

Workflow 5 — Enrich and score accounts on a scheduled cadence

CRM data decays at 30% per year. A company that had 200 employees when the account was created might have 400 now. A funding stage that was Series A is Series B. None of that shows up in Salesforce unless someone manually updates it — and nobody does. This workflow runs a weekly enrichment pass on every account automatically and rescores against your ICP with current data.

Requires: Lusha API key · Salesforce Flow Builder · Salesforce admin access

How it works

1

Trigger — Scheduled Flow runs every Monday at 5am

Queries Account records where Lusha_Enriched_Date__c is null or older than 30 days. Accounts enriched more recently are skipped to avoid unnecessary credit consumption.

2

Action — Refresh firmographics via Lusha API

For each account, the Flow calls /v2/companies/search with the company domain or name. Lusha returns the current verified profile — industry, employee count, funding stage, tech stack — refreshed as of today.

3

Action — Detect and flag significant changes

Employee count variance above 20%, funding stage changes, and HQ changes are flagged on the account record and logged to a change history field. Minor updates are written silently.

4

Action — Recalculate ICP score with current data

After firmographic refresh, the Flow recalculates the ICP score. An account that grew from 80 to 220 employees may have crossed your size threshold and moved from Medium to High fit.

5

Output — Current, verified, scored account database

Every account in your Salesforce org reflects current reality. Reps, campaigns, and AI agents running on this data work from verified firmographics — not records that haven’t been touched since the deal first entered the pipeline.

Example weekly enrichment summary

Weekly run results

MetricThis week
Accounts processed142
Firmographic updates applied38
ICP score changes12 — 8 upgraded, 4 downgraded
Contacts verified142
Departures detected6
Accounts flagged for review14

Workflow 6 — Enrich contacts before a campaign goes out

A campaign that goes out to stale contacts damages your sending domain, inflates your bounce rate, and reaches people who can’t act on it. This workflow triggers when a Salesforce Campaign is set to “Ready to Send”, runs a Lusha verification pass on every campaign member, suppresses departed contacts, and updates stale data before the first email sends.

Requires: Lusha API key · Salesforce Campaigns · Salesforce Flow Builder

How it works

1

Trigger — Campaign status changed to Ready to Send

A Record-Triggered Flow fires when a Campaign’s status is updated to “Ready to Send.” The Flow immediately queries all Campaign Members and begins the verification pass before any emails are sent.

2

Action — Verify every campaign member via Lusha

For each campaign member, the Flow calls /v2/contacts/search with the contact’s email address. Returns current verified status — confirmed in seat, departed, or not found — along with current title and verified email.

3

Action — Suppress departed contacts

Contacts Lusha identifies as departed have their Campaign Member status updated to “Suppressed — Departed” and are excluded from the send. Email address changes are updated before the campaign sends.

4

Action — Update stale contact data

For contacts confirmed in seat, the Flow updates stale title and seniority fields so personalization tokens in the campaign email pull from current data.

5

Output — Verified campaign list ready to send

A verification summary is written to the Campaign record — contacts confirmed, suppressed, emails updated, titles updated — so the campaign manager sees the full picture before approving the send.

Example verification summary

Q3 Outbound — Series B Companies

MetricResult
Original list size284 contacts
Confirmed in seat251 ✓
Suppressed (departed)18
Emails updated9
Titles updated24
Net sendable list257 verified contacts

Workflow 7 — Build the full Agentforce inbound lead agent with Lusha

Everything built in Workflows 1 through 6 — enrichment, ICP scoring, routing, contact monitoring, buying signals, campaign verification — combined into a single autonomous Agentforce agent that handles the full inbound lead motion from form submission to rep notification without a human touching anything. Target run time: under 60 seconds.

Requires: Lusha API key · Salesforce Agentforce license · Workflows 1 and 2 live · Slack (recommended)

How it works

1

Trigger — New Lead created in Salesforce

The Agentforce agent fires the moment a new Lead record is created — from a web form, an inbound integration, a CRM import, or a manual entry. The agent immediately begins its intelligence pass without waiting for a rep to open the record.

2

Action — Enrich contact via Lusha

The agent calls /v2/contacts/search with the lead’s email address. Lusha returns the verified contact profile — current title, seniority, department, verified email, direct dial, and mobile. If the contact has departed, the agent flags the lead for manual review and stops.

3

Action — Enrich company and check buying signals (parallel)

Two simultaneous calls: /v2/companies/search for firmographics and /v2/companies/signals for active buying signals. Both run at the same time to minimize latency.

4

Action — Score lead against ICP (Einstein Prompt Template)

The Prompt Template evaluates enriched fields against your ICP criteria and returns a structured JSON score — High, Medium, or Low — with criteria met, criteria failed, and a one-sentence reason.

5

Action — Route lead to correct rep or queue

High-fit leads go directly to a senior AE matched by territory. Medium-fit leads go to the SDR queue. Low-fit leads go to nurture. Assignment is written to the Lead record immediately.

6

Action — Generate pre-call brief (Prompt Template)

A second Prompt Template combines the contact profile, company data, ICP score, and top signal into a 60-word brief written directly to Lusha_Pre_Call_Brief__c — ready for the rep before they make the first call.

7

Output — Rep notified via Slack with full context

The agent fires a Slack notification to the assigned rep with the lead name, company, ICP score, top signal, verified direct dial, pre-call brief, and a deep link to the Salesforce record. Target: under 60 seconds from form submission.

ICP scoring Prompt Template

Score this lead against the ICP below.
Return valid JSON only. No preamble.

ICP: {ICP_DEFINITION}

Lead:
  Industry: {Lead.Industry}
  Employees: {Lead.Lusha_Employee_Count__c}
  Funding: {Lead.Lusha_Funding_Stage__c}
  Seniority: {Lead.Lusha_Seniority__c}
  Country: {Lead.Country}

Return:
{
  "score": "High|Medium|Low",
  "criteria_met": [],
  "criteria_failed": [],
  "reason": "one sentence"
}

Pre-call brief Prompt Template

Write a pre-call brief for a sales rep.
Under 60 words. Specific. No generic phrases.
Plain text only.

Contact: {Lead.FirstName} {Lead.LastName},
  {Lead.Lusha_Seniority__c} at {Lead.Company}
Company: {Lead.Industry},
  {Lead.Lusha_Employee_Count__c} employees,
  {Lead.Lusha_Funding_Stage__c}
ICP score: {Lead.Lusha_ICP_Score__c}
Top signal: {Lead.Lusha_Top_Signal__c}
Score reason: {Lead.Lusha_Score_Reason__c}

Example rep notification — under 60 seconds from form submit

🟢 New high-fit inbound lead — assigned to you

Contact: R.M. — VP of Sales
Company: [Company A] — Revenue Intelligence / SaaS
Employees: 280–320 · Series B · Austin, TX
ICP score: High — matches 5 of 5 criteria
Top signal: Series B closed $22M — 11 days ago
Direct dial: +1 512 555 ••••

Brief: VP of Sales at a Series B Revenue Intelligence company that just closed $22M. 8 SDR roles posted. Intent on prospecting data at score 74. Strong ICP fit. Call today.

Open lead in Salesforce →

What this agent replaces

Manual stepTime saved per leadAgent action
Rep enriches contact manually in Lusha3–5 minutesAutomatic on lead creation
Rep researches company in CRM and LinkedIn5–10 minutesAutomatic on lead creation
Manager triages and routes lead manually2–5 minutesAutomatic ICP scoring and routing
Rep checks for account signals before calling3–8 minutesAutomatic signal check
Rep writes pre-call notes before first call5–10 minutesAutomatic brief generation
Total per lead18–38 minutesUnder 60 seconds

Build order recommendation

Each workflow stands alone but they compound when stacked. Build in this order for the highest impact per hour invested:

  1. Workflow 1 first — clean enriched data is the foundation everything else runs on.
  2. Workflow 2 immediately after — scoring without enrichment is guessing. Scoring with enrichment is signal.
  3. Workflow 3 before the next pipeline review — catch your first departed champion before it costs you a deal.
  4. Workflow 5 before the next quarter starts — a clean account database makes every other workflow more accurate.
  5. Workflow 4 once the account database is current — signals on stale accounts produce noise. Signals on verified accounts produce pipeline.
  6. Workflow 6 before the next campaign — one deployment saves your domain reputation permanently.
  7. Workflow 7 when Workflows 1 and 2 are stable — the full agent builds on their output. Don’t skip the foundation.

Full API documentation: docs.lusha.com/guides

Browse all Lusha Campus plays: lusha.com/campus/plays

Stay up-to-data on the latest in sales & marketing with our newsletter.

    Thank you for subscribing