Comprehensive Contact Enrichment with Apollo, LinkedIn, and GPT-4o for HubSpot

Go to Workflow
0 views
Built by Interlock GTM Interlock GTM
Created on June 05, 2026

Description

Summary
Turns a plain name + email into a fully-enriched HubSpot contact by matching the person in Apollo, pulling their latest LinkedIn activity, summarising the findings with GPT-4o, and upserting the clean data into HubSpot

Key use-cases
SDRs enriching inbound demo requests before routing

RevOps teams keeping executive records fresh

Marketers building highly-segmented email audiences

Inputs
|Field |Type| Example|
|-|-|-|
name |string| “Jane Doe”
email| string |“[email protected]

Required credentials
|Service |Node |Notes|
|-|-|-|
Apollo.io API key | HTTP Request – “Enrich with Apollo” |Set in header x-api-key
RapidAPI key| (Fresh-LinkedIn-Profile-Data) “Get recent posts”| Header x-rapidapi-key
OpenAI 3 LangChain nodes| Supply an API key| default model gpt-4o-mini
HubSpot OAuth2| “Enrich in HubSpot”| Add/create any custom contact properties referenced

High-level flow
Trigger – Runs when another workflow passes name & email.

Clean – JS Code node normalises & deduplicates emails.

Apollo match – Queries /people/match; skips if no person.

LinkedIn fetch – Grabs up to 3 original posts from last 30 days.

AI summary chain

OpenAI → Structured/Auto-fixing parsers

Produces a strict JSON block with job title, location, summaries, etc.

HubSpot upsert – Maps every key (plus five custom properties) into the contact record.

Sticky-notes annotate the canvas; error-prone bits have retry logic.

Nodes Used (7)

Auto-fixing Output Parser
@n8n/n8n-nodes-langchain.outputParserAutofixing
Basic LLM Chain
@n8n/n8n-nodes-langchain.chainLlm
Code
n8n-nodes-base.code
HTTP Request
n8n-nodes-base.httpRequest
HubSpot
n8n-nodes-base.hubspot
OpenAI Chat Model
@n8n/n8n-nodes-langchain.lmChatOpenAi
Structured Output Parser
@n8n/n8n-nodes-langchain.outputParserStructured