What this template does
Most CRMs fill up with half-complete contacts: an email and a name, nothing else. This workflow fixes that automatically. When a new contact lands in HubSpot, n8n looks the company up in Apollo, verifies the email with Hunter, pulls the job title and firmographics, and writes it all back to the contact. Bad emails get skipped and flagged instead of silently corrupting your data.
The payoff is a CRM your sales team can actually segment and prioritize, without anyone manually researching each lead.
How it works
The trigger is a new contact added to HubSpot. Each run:
- Extracts the email and company from the contact.
- Looks up the company in Apollo’s database.
- Verifies email validity via Hunter.
- Fetches job title and LinkedIn profile.
- Pulls company funding and employee count.
- Updates the HubSpot contact properties.
- Tags the contact with its enrichment status.
Output: a contact enriched with company and professional data, ready for scoring and routing.
Setup steps
- Add a HubSpot credential with the contacts scope, set it to trigger on new contacts, and map the required fields.
- Create an Apollo API key and add an Apollo node to look up company, title, and industry.
- Create a Hunter API key and add a Hunter node to verify the email against the company domain.
- Map the enriched data back to HubSpot, add custom properties for the data source, and stamp an enrichment date.
- Add error handling: skip enrichment when the email is invalid, log failed enrichments for review, and add retry logic for API rate limits.
- Run hourly for new contacts, set up Slack alerts for errors, and monitor your API usage against plan limits.
When to use it
This is ideal for enriching imported contacts, cleaning up list uploads, and general CRM data quality work. It is also a strong prep step before account-based marketing campaigns, where you need firmographics to segment accurately. Watch your Apollo and Hunter quotas if you are ingesting large lists.
Need this customized? Let’s talk.
