Template

Auto-sync and qualify HubSpot CRM contacts

Time to build: 7 min
Difficulty: Medium
Tools: HubSpot ▪ Lusha ▪ n8n ▪ Slack

This n8n workflow runs every six hours. It finds HubSpot contacts with missing or outdated data, enriches them in one bulk request to Lusha, and scores each one against your ICP. The best-fit leads get flagged in Slack, so reps know who to contact first.

Why enrich and score HubSpot contacts automatically?

Responding fast doesn’t help if the lead isn’t a fit. Most teams either research leads by hand, which is slow, or follow up with everyone, which wastes rep time.

This workflow gives you both speed and focus. Every contact is enriched and scored with the same rules, and the leads that match your ICP rise to the top on their own.

What this workflow does

  • Runs every six hours and finds HubSpot contacts with missing or outdated data
  • Enriches them in one bulk request to Lusha, adding industry, company size, seniority, and more
  • Scores each contact against your ICP, using rules you define
  • Writes the enriched data and score back to HubSpot, so contacts aren’t enriched twice
  • Sends a Slack alert for high-scoring “fast-track” leads, with their LinkedIn URL, phone, and score
  • Enriches only the contacts that need it, so you don’t waste credits

How to set it up

01

Install the Lusha community node

Make sure your n8n instance has the Lusha community node installed, and add your Lusha API key as a credential. The node handles the bulk enrichment request.

02

Configure the HubSpot fetch filter

Connect a HubSpot account that can read and update contact properties. Set the workflow to pull contacts where “Lusha Enrichment Status” is empty or where specific firmographic fields are missing. This ensures you only spend credits on the data you need.

03

Define your qualification "fast-track"

Customize the ICP scoring weights within the n8n Code node.

Tip: Assign higher values to specific job titles (e.g., VP, Director) and target company sizes (e.g., 500-2000 employees) to trigger the Slack alerts.

04

Write enriched data back to HubSpot

Add a HubSpot Update Contact node after the Lusha step. Map the enriched fields and the ICP score to the contact properties, and set “Lusha Enrichment Status” to Enriched. Updated contacts no longer match the fetch filter, so they aren’t enriched and charged again on the next run.

05

Set up the Slack alert loop

Connect Slack and map the output for high-scoring leads to a dedicated Slack channel. Include key context like the contact’s LinkedIn URL, enriched phone number, and their calculated ICP score so reps can act immediately.

06

Activate the 6-hour trigger

Turn on the workflow. It runs every six hours and picks up only the contacts that still need enrichment.

What to do next

  • Automate routing: Use the ICP score to automatically route leads to the correct AE or SDR in HubSpot.
  • Personalize outreach: Use the enriched “Industry” or “Company Bio” fields to dynamically insert snippets into your email sequences.
  • Analyze the funnel: Compare the conversion rates of “fast-track” leads versus standard leads to refine your scoring logic over time.

The goal: Stop wasting your team’s time on unqualified data. This workflow makes your CRM a source of truth that tells your reps who to call and why.

FAQ

  • Use this n8n workflow. It enriches HubSpot contacts with Lusha, scores them against your ICP, and flags the best leads in Slack.

  • Every six hours.

  • You set the weights in the n8n Code node, for example, higher points for VP or Director titles and for your target company size.

  • Only contacts with missing data or no enrichment status, so you don’t spend credits on records that are already complete.

  • The contact’s LinkedIn URL, phone number, and ICP score, so reps can act right away.

Ready to run this?

One data connection. Works in Claude, ChatGPT, your CRM, or any agent you build.