Your sales team gets a new lead in Salesforce. The company name means nothing to them. The industry field is blank. The phone number bounces. Someone spends twenty minutes on LinkedIn trying to figure out if this prospect is worth a call. By the time they have an answer, the lead is three days old and already talking to a competitor.
That gap between the lead appearing and the rep knowing what to do with it is where deals go cold. Salesforce lead enrichment closes it: a workflow that adds firmographic and intent data to every record the moment it lands, then scores and routes the lead before a human even opens the record.
At Supernodes, we build these pipelines regularly. The combination of Salesforce as your source of truth, Claude for intelligent enrichment, and n8n as the connective tissue turns that twenty-minute LinkedIn session into a two-second API call.
Why Salesforce lead enrichment matters in 2026
Lead enrichment is the practice of appending external data to a lead record so your team can qualify it without manual research. Cognism's 2026 guide to lead enrichment breaks the data into nine types: contact, firmographic, demographic, intent, technographic, social, geographic, account, and behavioural. Most teams only need a handful of those to decide whether a lead is worth a call.
The payoff shows up in sales metrics. Cognism, which sells lead enrichment data, reports a 60% lift in sales qualified leads among its customers, and one customer increased pipeline by 33% within three months while saving about ten hours per rep per week on manual research. That is the same twenty-minute LinkedIn session from the opening, automated.
You do not need all nine data types. Pick the ones that change how your reps prioritise: firmographic data to size the company, intent data to catch someone actively looking, and contact data so the phone number actually works.
What this workflow runs on: Salesforce, n8n, Claude and Slack
- A Salesforce account with API access (any tier works)
- An n8n instance (self-hosted is free and recommended)
- A Claude API key from Anthropic
- Slack incoming webhook (optional but recommended for notifications)
Step 1: Connect Salesforce to n8n and trigger on new leads
n8n has a built-in Salesforce node that handles authentication via OAuth2. Create a new workflow and add a Salesforce trigger node set to "New Lead." Configure it to watch the Lead object and fire when a record is created.
Salesforce trigger node
Set the trigger to poll every 5 minutes. In n8n, go to the Salesforce node settings, select "Lead" as the Object, set "Create" as the trigger event, and choose the fields you want to enrich against. Keep it to: Company, Title, Industry, Phone, and Email. You do not need every field.
Test the trigger by creating a test lead in Salesforce. n8n should pick it up within the polling interval. Once you see the test lead appear in the n8n execution log, the connection is working. The n8n Salesforce node documentation covers authentication setup in detail if you run into OAuth issues.
Five-minute polling is a deliberate tradeoff. It is cheap on API usage and fast enough that a rep still sees the notification inside the first hour. If your team sells to companies where minutes matter more, you can drop the interval to one minute; the extra polling cost is small at this volume. You can also trigger the workflow from a Salesforce flow instead, which fires the enrichment the moment the record is saved. That removes the poll entirely, at the cost of building one more piece of configuration in Salesforce itself.
Step 2: Send lead data to Claude for enrichment
Add an HTTP Request node after the Salesforce trigger. Configure it to call https://api.anthropic.com/v1/messages with the Claude API key in the Authorization header.
The prompt you send Claude should include the lead's available fields and ask for enrichment data. Keep the prompt tight so each call runs fast and costs roughly 0.5 cents.
Claude enrichment prompt
You are a lead enrichment assistant. Given the following lead data, extract:
1. Company size category (startup, mid-market, enterprise)
2. Role seniority (junior, manager, director, VP, C-level)
3. Likely buying intent for marketing automation tools (low, medium, high)
4. Industry vertical
Lead data:
Company: {{company}}
Title: {{title}}
Industry: {{industry}}
Respond with JSON only:
{"company_size": "...", "seniority": "...", "buying_intent": "...", "industry_vertical": "..."}
Set the HTTP Request node to parse the response as JSON. n8n's built-in JSON extractor will pull the structured fields out of Claude's response automatically.
A small guard rail saves you from a whole class of silent failures: tell Claude to return only the JSON object, and check in n8n that the parsed response actually contains the four fields before the Switch node scores anything. A malformed response should route to an error branch, not quietly score 50. It happens rarely, but when it does, you want a record of it rather than a mis-scored lead sitting in the queue.
On cost: the enrichment prompt is short and the response is short, so each call stays near the 0.5-cent range. If you enrich a few hundred leads a month, the whole pipeline costs less than a data vendor's minimum. The n8n instance is free when self-hosted, and the Salesforce and Slack nodes carry no per-call charges.
One point on data: everything Claude extracts here comes from the lead record itself plus public sources. That keeps the workflow clear of the consent questions that come with buying contact databases. If you extend the prompt to pull in third-party data later, check your region's rules on storing enriched contact data before you do, and keep the enrichment fields limited to what your reps actually act on.
Step 3: Add scoring logic
Add an n8n Switch node after the HTTP Request. Create rules that assign a lead score based on the combination of seniority, company size, and buying intent that Claude returned.
Lead score assignment
Route leads through a Set node that calculates the score. A C-level executive at an enterprise company with high buying intent might score 95. A junior title at a small company with low intent might score 15. Store the score in a new field called "AI_Lead_Score__c" that you will write back to Salesforce.
A rough scoring matrix that works well in practice: start with 50 points base, add 20 for C-level or VP, add 15 for mid-market or enterprise company size, add 15 for high buying intent. That gives you a 0 to 100 scale that reps can interpret immediately. Anthropic's prompt engineering guide has useful patterns if you want to refine how Claude scores leads further.
| Factor | Points | Why it matters |
|---|---|---|
| Base score | 50 | Every lead starts in the middle, so the score can move in both directions |
| C-level or VP title | +20 | Senior buyers hold budget authority and tend to compress the sales cycle |
| Mid-market or enterprise company size | +15 | Larger companies mean larger contracts and more seats at stake |
| High buying intent | +15 | Intent is the closest proxy for timing that enrichment can give you |
| Maximum possible | 100 | A 0-100 scale reads instantly in a Slack notification |
To see the matrix in action, take a lead that lands with a C-level title at a 300-person company showing high buying intent. It starts at 50, gains 20 for the senior title, 15 for the company size, and 15 for the intent signal: a score of 100 that hits the top of the queue. The same lead with a coordinator title, a small company, and no intent signal holds at 50, and the workflow routes it to nurture instead. The numbers do not need to be perfect, they need to be consistent enough that reps learn what a 90 means.
One thing to watch once the workflow is live: keep the prompt and the scoring rules in the same edit. If someone changes the Switch node but the prompt still asks Claude for the same categories, the two drift apart. Change both together, and test with a real lead before letting it run unattended. The workflow is only as trustworthy as the last change someone made to it.
Step 4: Route the lead to the right rep
Add a second Salesforce node to update the original lead record. Write the AI_Lead_Score__c field, the enriched company size, seniority, and buying intent back to the Salesforce record. Then add a Slack node to notify the right rep based on territory.
Slack routing
Use n8n's Slack node with a webhook URL. Customise the message to include the lead name, company, AI score, and a direct link to the Salesforce record. If you have territory-based routing, use an n8n Switch node to pick the right Slack channel before the notification.
The message in Slack should give the rep everything they need to decide whether to call: the lead's name, company, role, AI score, and enriched buying intent. No more clicking through to Salesforce to find out if a lead is worth their time. Keep the notification to a single message with the score and the two or three enrichment fields that drove it, so a rep can read it on their phone and still know what to do. For more on building AI enrichment pipelines, see our guide on AI lead enrichment for B2B prospecting and the lead qualification agent with Claude and n8n. If routing is the part you want to go deeper on, our AI lead routing framework covers territory assignment and round-robin rules in more detail.
What a five-minute enrichment window does to response time
Before this workflow: a lead sits in Salesforce for hours or days. A rep manually researches it, or they do not. Response time depends on who notices the new record first.
After this workflow: every lead is enriched, scored, and routed within five minutes of creation. The rep gets a Slack notification with all the context they need. They call the high-scoring leads immediately and the low-scoring leads get a nurture sequence instead of a cold call that annoys someone.
The companies that get this right see real improvements in response time. Harvard Business Review's study of online lead response found that firms contacting a lead within an hour were seven times more likely to qualify it than firms that waited even two hours, and the odds kept falling from there. A five-minute enrichment window keeps you in that first hour consistently. Combined with the 60% lift in sales qualified leads that enrichment customers report, this is the highest-impact fix most sales teams can make this quarter.
Frequently asked questions
What data does lead enrichment add to Salesforce?
The workflow writes back the fields Claude extracts: company size, role seniority, buying intent, and industry vertical. You can extend the prompt to capture more, like technographic data from the lead's company website, and store each field in its own Salesforce custom field.
Do I need developer skills to set this up?
Basic familiarity with Salesforce objects and n8n workflows is helpful but you do not need to be a developer. n8n's visual editor makes it accessible to sales operations leads. If you have ever built a formula field in Salesforce, you can build this workflow.
Will this work with Salesforce Lightning and Classic?
Yes. n8n's Salesforce node works with both Lightning and Classic. The API endpoints are the same regardless of the UI version you use.
How much does the n8n workflow cost to run?
n8n offers a free self-hosted option. The Claude API calls cost roughly 0.5 cents per lead enrichment. For a team processing 200 leads a month, that is about one dollar. The Slack node is free. The only ongoing cost is Claude API usage.
Can I replace Claude with another AI model?
Yes. The n8n HTTP Request node works with any OpenAI-compatible API. You can swap Claude for ChatGPT, Gemini or any other model by changing the endpoint and API key. The prompt structure stays the same.