🔓 Unlock all 10,000+ workflows & prompts free Join Newsletter →
✅ Full access unlocked — explore all 10,000 AI workflow and prompt templates Browse Templates →
Home n8n Workflow
January 22, 2026

HubSpot + ExactBuyer: complete contacts, faster follow up

Lisa Granqvist Partner Workflow Automation Expert

Your CRM is only as useful as the data inside it. And new HubSpot contacts often arrive half-empty, which turns “follow up fast” into “hunt for basics” across LinkedIn, email threads, and random tabs.

This is the kind of mess that slows down sales ops first, but marketers and agency teams feel it too. HubSpot ExactBuyer automation fills in key details automatically so the next touch is more personal and a lot less guesswork.

Below, you’ll see how the workflow enriches contacts, validates what’s missing, and updates HubSpot so your team works from cleaner records.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: HubSpot + ExactBuyer: complete contacts, faster follow up

The Problem: New HubSpot contacts are incomplete

A new lead comes in and HubSpot shows a name and maybe a company. That’s it. So someone on your team goes digging: trying to confirm an email, finding a phone number, checking location, hunting down social profiles, then copy-pasting it all back into the CRM. It’s not hard work. It’s just constant work, and it steals attention from the part that actually makes money (timely follow up with a relevant message). Worse, manual enrichment is inconsistent, so reporting and routing rules start failing in subtle ways.

The friction compounds. Here’s where it breaks down in day-to-day life:

  • Reps delay outreach because they don’t trust the contact details yet.
  • Teams end up enriching “important” leads only, which makes the CRM uneven and harder to segment.
  • Wrong or missing fields create routing mistakes, so leads bounce between owners or sit untouched.
  • Someone inevitably pastes outdated info, and now your record is “complete” but incorrect.

The Solution: Enrich and update HubSpot contacts automatically

This workflow watches for new contacts in HubSpot, pulls the contact record, and checks whether a key identifier (email) is present. If it is, it sends the contact data to ExactBuyer for enrichment via an HTTP request. ExactBuyer returns extra profile details that are useful for real follow up, like social profiles, location data, and better contact fields. Then n8n maps those enrichment fields into the format HubSpot expects and updates the contact in HubSpot automatically. If the enrichment can’t run because critical input is missing, the workflow exits cleanly with a “missing notice” path so you don’t silently write junk back to the CRM.

The workflow starts with a HubSpot “new contact” trigger. From there, n8n retrieves the full contact, maps the fields, validates the email, then enriches with ExactBuyer and writes the improved data back into HubSpot. No tab-hopping. No “I’ll do it later.”

What You Get: Automation vs. Results

Example: What This Looks Like

Say your team adds 20 new HubSpot contacts a day from forms, imports, and event scans. Manually, even a “quick” enrichment pass is maybe 5 minutes per contact (find LinkedIn, confirm email, add location, paste notes), which is about 1.5 hours daily. With this workflow, the rep does nothing beyond creating the contact; enrichment and updating run in the background in a couple minutes. That’s roughly an hour back every day, plus a CRM that stays consistent as volume grows.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • HubSpot as the CRM where contacts live.
  • ExactBuyer to enrich contact and profile details.
  • ExactBuyer API key (get it from your ExactBuyer dashboard).

Skill level: Intermediate. You’ll connect accounts, set scopes correctly, and confirm which fields should be written back into HubSpot.

Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).

How It Works

A new contact is created in HubSpot. The workflow begins instantly using a HubSpot trigger, so enrichment happens while the lead is still “hot.”

The workflow retrieves and prepares the contact data. n8n pulls the complete HubSpot record, then maps the fields into a consistent shape so downstream steps don’t break when properties are empty.

Email is validated before enrichment runs. If the email is missing, the workflow routes to a safe “do nothing” path (with a notice) instead of sending incomplete requests to ExactBuyer.

ExactBuyer enrichment is applied back to HubSpot. n8n calls ExactBuyer, receives additional data (social profiles, contact fields, location), then updates the HubSpot contact so your CRM stays current.

You can easily modify which ExactBuyer fields get saved to match your pipeline, routing rules, and segmentation needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the HubSpot Trigger

This workflow starts when a new HubSpot contact is created and immediately fetches the full contact record.

  1. Add the New Contact Trigger node and set it as the workflow trigger.
  2. Credential Required: Connect your hubspotDeveloperApi credentials in New Contact Trigger.
  3. Leave Events as configured (default contact creation event) in New Contact Trigger.
  4. Connect New Contact Trigger to Retrieve HubSpot Contact.

Step 2: Connect HubSpot and Retrieve Contact Details

This step pulls the newly created contact record by ID so the workflow can extract email and map fields.

  1. Open Retrieve HubSpot Contact and set Operation to get.
  2. Set Contact ID to {{ $json.contactId }}.
  3. Credential Required: Connect your hubspotOAuth2Api credentials in Retrieve HubSpot Contact.
  4. Connect Retrieve HubSpot Contact to Map Contact Fields.

Step 3: Map and Validate Contact Fields

Map the contact ID and email, then validate that an email exists before enrichment.

  1. In Map Contact Fields, add an assignment for user_id with value {{ $json.vid }}.
  2. In Map Contact Fields, add an assignment for email with value {{ $json.properties.email?.value }}.
  3. Open Validate Email Present and configure a condition: String notEmpty with Left Value set to {{ $json.email }}.
  4. Connect Map Contact Fields to Validate Email Present, and Validate Email Present to ExactBuyer Data Enrichment.

⚠️ Common Pitfall: If the email property is missing in HubSpot, Validate Email Present will block enrichment. Ensure contacts have an email field populated.

Step 4: Enrich Contacts and Update HubSpot

Send the email to ExactBuyer for enrichment and write the returned data back into HubSpot.

  1. In ExactBuyer Data Enrichment, set URL to https://api.exactbuyer.com/v1/enrich.
  2. Enable Send Query and add query parameters: email = {{ $json.email }} and required = work_email,personal_email,email.
  3. Credential Required: Connect your httpHeaderAuth credentials in ExactBuyer Data Enrichment.
  4. In Modify HubSpot Contact, set Email to {{ $('Map Contact Fields').item.json.email }} and map Additional Fields to the enrichment outputs (e.g., jobTitle = {{ $json.result.employment?.job?.title }}).
  5. Credential Required: Connect your hubspotOAuth2Api credentials in Modify HubSpot Contact.
  6. Connect ExactBuyer Data Enrichment to Modify HubSpot Contact. The secondary output can also route to User Missing Notice for non-blocking failures.

If you want to log enrichment failures, use the existing User Missing Notice node as a placeholder for a Slack or email alert.

Step 5: Test and Activate Your Workflow

Run a manual test and confirm the enrichment fields are written back into HubSpot before enabling the workflow.

  1. Click Execute Workflow and create a new test contact in HubSpot to trigger New Contact Trigger.
  2. Verify Retrieve HubSpot Contact returns the contact ID and that Map Contact Fields outputs email and user_id.
  3. Confirm ExactBuyer Data Enrichment returns results and Modify HubSpot Contact updates fields like jobTitle, companyName, and phoneNumber in HubSpot.
  4. When successful, toggle the workflow to Active to enable production automation.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Common Gotchas

  • HubSpot credentials can expire or need specific permissions. If things break, check your connected app scopes and the credential status inside n8n first.
  • If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
  • ExactBuyer API responses can include fields you’re not mapping yet. Honestly, if you don’t update the “Map Contact Fields” step early, you’ll keep wondering why HubSpot still looks sparse.

Frequently Asked Questions

How long does it take to set up this HubSpot ExactBuyer automation automation?

About 30 minutes if your HubSpot scopes and ExactBuyer key are ready.

Do I need coding skills to automate HubSpot ExactBuyer automation?

No. You’ll connect HubSpot and ExactBuyer, then choose which fields to map. The only “fiddly” part is getting HubSpot permissions right.

Is n8n free to use for this HubSpot ExactBuyer automation workflow?

Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in ExactBuyer API costs based on your plan and enrichment volume.

Where can I host n8n to run this automation?

Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.

Can I customize this HubSpot ExactBuyer automation workflow for adding more enrichment fields?

Yes, and you probably should. You can expand what gets saved by updating the “Map Contact Fields” step to include more ExactBuyer attributes, then passing those into the HubSpot update step. Common customizations include adding extra social URLs, writing richer location fields for territory routing, and saving firmographic notes into a custom property for SDR context.

Why is my HubSpot connection failing in this workflow?

Usually it’s scopes. The trigger and the update node often need different HubSpot permissions, so the credential that works for “New Contact Trigger” can still fail on “Modify HubSpot Contact.” Reconnect the HubSpot credential in n8n, confirm the app has the required scopes, and then re-test with a fresh contact. If it’s intermittent, rate limiting or temporary HubSpot outages can also show up as random HTTP errors.

How many contacts can this HubSpot ExactBuyer automation automation handle?

A lot. On n8n Cloud, your limit is mostly plan-based executions per month, while self-hosting depends on your server. In practice, most small teams can enrich hundreds to thousands of new contacts per month comfortably, as long as your ExactBuyer plan supports that volume.

Is this HubSpot ExactBuyer automation automation better than using Zapier or Make?

It depends on how picky you are about logic and data cleanliness. n8n makes it easier to add conditional checks (like “only enrich if email exists”), map fields carefully, and keep the workflow maintainable as your CRM rules get stricter. It also gives you a self-hosting option, which can matter once your enrichment volume grows. Zapier or Make can be fine for a simple “create contact then call enrichment” flow, but you may hit limits once you want branching, re-tries, and richer mapping. If you want a second opinion, Talk to an automation expert.

Clean contact data changes everything downstream: routing, personalization, and speed. Set this HubSpot ExactBuyer automation up once, and your team stops doing enrichment by hand.

Need Help Setting This Up?

Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.

Lisa Granqvist

Workflow Automation Expert

Expert in workflow automation and no-code tools.

×

Use template

Get instant access to this n8n workflow Json file

💬
Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Launch login modal Launch register modal