This workflow corresponds to n8n.io template #4259 — we link there as the canonical source.
This workflow follows the Execute Workflow Trigger → Form Trigger recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"id": "bB1VfLkZ793CWekn",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "Enrich Company Data",
"tags": [],
"nodes": [
{
"id": "40a24c05-6a12-4f60-b70c-03354e0a5152",
"name": "Aggregate",
"type": "n8n-nodes-base.aggregate",
"position": [
960,
0
],
"parameters": {
"options": {},
"aggregate": "aggregateAllItemData",
"destinationFieldName": ""
},
"typeVersion": 1
},
{
"id": "0365d1ef-a48f-4e04-8f50-ef731faa07bf",
"name": "Company info",
"type": "n8n-nodes-base.executeWorkflow",
"position": [
760,
0
],
"parameters": {
"options": {},
"workflowId": {
"__rl": true,
"mode": "list",
"value": "Ipc5s7U9UzuqexMI",
"cachedResultName": "AIRTOP \u2014 Extract company data and calculate ICP"
},
"workflowInputs": {
"value": {
"Company domain": "={{ $json[\"Company domain\"] }}",
"Company LinkedIn": "={{ $json[\"Company LinkedIn\"] }}",
"Airtop Profile (connected to Linkedin)": "={{ $json[\"Airtop Profile (connected to Linkedin)\"] }}"
},
"schema": [
{
"id": "Company domain",
"type": "string",
"display": true,
"required": false,
"displayName": "Company domain",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Airtop Profile (connected to Linkedin)",
"type": "string",
"display": true,
"required": false,
"displayName": "Airtop Profile (connected to Linkedin)",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Company LinkedIn",
"type": "string",
"display": true,
"required": false,
"displayName": "Company LinkedIn",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": true
}
},
"typeVersion": 1.2
},
{
"id": "409bf870-a1d3-433d-b0dd-46643a09d337",
"name": "Save company Hubspot",
"type": "n8n-nodes-base.executeWorkflow",
"position": [
1400,
0
],
"parameters": {
"options": {},
"workflowId": {
"__rl": true,
"mode": "list",
"value": "I5o15J4MI1P1GRjh",
"cachedResultName": "AIRTOP \u2014 Upsert company in Hubspot"
},
"workflowInputs": {
"value": {
"city": "={{ $json.city }}",
"name": "={{ $json.name }}",
"state": "={{ $json.state }}",
"country": "={{ $json.country }}",
"tagline": "={{ $json.tagline }}",
"website": "={{ $json.website }}",
"linkedin": "={{ $json.linkedin }}",
"icp_score": "={{ $json.icp_score }}",
"company_domain": "={{ $json.company_domain }}",
"employee_count": "={{ $json.employee_count }}",
"company_profile": "={{ $json.company_profile }}"
},
"schema": [
{
"id": "company_profile",
"type": "string",
"display": true,
"required": false,
"displayName": "company_profile",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "city",
"type": "string",
"display": true,
"required": false,
"displayName": "city",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "company_domain",
"type": "string",
"display": true,
"required": false,
"displayName": "company_domain",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "name",
"type": "string",
"display": true,
"required": false,
"displayName": "name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "country",
"type": "string",
"display": true,
"required": false,
"displayName": "country",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "tagline",
"type": "string",
"display": true,
"required": false,
"displayName": "tagline",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "employee_count",
"type": "number",
"display": true,
"required": false,
"displayName": "employee_count",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "icp_score",
"type": "number",
"display": true,
"required": false,
"displayName": "icp_score",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "linkedin",
"type": "string",
"display": true,
"required": false,
"displayName": "linkedin",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "state",
"type": "string",
"display": true,
"required": false,
"displayName": "state",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "website",
"type": "string",
"display": true,
"required": false,
"displayName": "website",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": true
}
},
"typeVersion": 1.2
},
{
"id": "b0563618-a702-49f0-89ae-3af16d255851",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
460,
-200
],
"parameters": {
"color": 4,
"width": 220,
"height": 460,
"content": "## Keep only corporate emails"
},
"typeVersion": 1
},
{
"id": "e0633395-62e4-433e-a231-450f4286a083",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
700,
-200
],
"parameters": {
"color": 5,
"width": 220,
"height": 460,
"content": "## Retrive company info"
},
"typeVersion": 1
},
{
"id": "a7f17a76-df9f-4fe8-8ea4-ff3be9ba1311",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
940,
-200
],
"parameters": {
"color": 6,
"width": 640,
"height": 460,
"content": "## Save info in Hubspot"
},
"typeVersion": 1
},
{
"id": "6e797623-203d-409c-85b6-740a4ebde4c4",
"name": "On form submission",
"type": "n8n-nodes-base.formTrigger",
"position": [
80,
-100
],
"parameters": {
"options": {},
"formTitle": "New contact signup",
"formFields": {
"values": [
{
"fieldLabel": "Airtop Profile (connected to Linkedin)",
"requiredField": true
},
{
"fieldLabel": "Company domain",
"requiredField": true
},
{
"fieldLabel": "Company LinkedIn"
}
]
},
"formDescription": "This automation searches for the contact's company and enriches the data accordingly"
},
"typeVersion": 2.2
},
{
"id": "7fffe483-4e4e-4524-89cf-dbb83f430619",
"name": "When Executed by Another Workflow",
"type": "n8n-nodes-base.executeWorkflowTrigger",
"position": [
80,
100
],
"parameters": {
"workflowInputs": {
"values": [
{
"name": "Airtop Profile (connected to Linkedin)"
},
{
"name": "Company domain"
},
{
"name": "Company LinkedIn"
}
]
}
},
"typeVersion": 1.1
},
{
"id": "fe563760-4e3b-4fdc-ba94-d09c28a8da33",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
40,
-200
],
"parameters": {
"width": 400,
"height": 460,
"content": "## Input Parameters\nRun this workflow using a form or from another workflow"
},
"typeVersion": 1
},
{
"id": "de64f719-7467-4a38-8f03-4bedacc89b4e",
"name": "Unify Params",
"type": "n8n-nodes-base.set",
"position": [
300,
0
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "0033e14d-e1cc-45c8-a450-de8d60a33312",
"name": "Airtop Profile (connected to Linkedin)",
"type": "string",
"value": "={{ $json[\"Airtop Profile (connected to Linkedin)\"] }}"
},
{
"id": "f40df649-186c-4238-b331-00072a568683",
"name": "Company domain",
"type": "string",
"value": "={{ $json[\"Company domain\"] }}"
},
{
"id": "a855ff32-db29-4ef8-8a12-4db96ff84f67",
"name": "Company LinkedIn",
"type": "string",
"value": "={{ $json[\"Company LinkedIn\"] }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "1535a9d6-f0e9-4546-819f-5dad8519a55d",
"name": "Map information",
"type": "n8n-nodes-base.set",
"position": [
1180,
0
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "d7709bb5-d093-4c3a-a081-ed555bcb4c8b",
"name": "company_profile",
"type": "string",
"value": "={{ $json[\"\"][0].company_profile.overview }}"
},
{
"id": "21ca7ea6-fb8c-4927-a0f1-9c2f66585627",
"name": "city",
"type": "string",
"value": "={{ $json[\"\"][0].company_profile.location.city }}"
},
{
"id": "f96d0cdf-52b0-466f-8202-4126659faba7",
"name": "company_domain",
"type": "string",
"value": "={{ $('Is corporate email?').item.json[\"Company domain\"] }}"
},
{
"id": "589b7797-7d80-4d15-9036-6fbe5490acc0",
"name": "name",
"type": "string",
"value": "={{ $json[\"\"][0].company_profile.name }}"
},
{
"id": "bc8d3dd6-61f5-4acf-9a51-0f2f8007517b",
"name": "country",
"type": "string",
"value": "={{ $json[\"\"][0].company_profile.location.country }}"
},
{
"id": "77f1dc98-ebde-47fa-91d1-85916e2b7b31",
"name": "tagline",
"type": "string",
"value": "={{ $json[\"\"][0].company_profile.tagline }}"
},
{
"id": "19565667-c14a-47ef-8a61-63d9cc600005",
"name": "employee_count",
"type": "number",
"value": "={{ $json[\"\"][0].scale.employee_count }}"
},
{
"id": "4493276c-313f-4981-80d2-e5c81aba0134",
"name": "icp_score",
"type": "number",
"value": "={{ $json[\"\"][2].icp_company_score }}"
},
{
"id": "5bf90342-4919-4330-bf82-2c47419980bd",
"name": "linkedin",
"type": "string",
"value": "={{ $json[\"\"][1].company_linkedin }}"
},
{
"id": "1a1b6850-c7ea-4060-8f97-a4b8410efc4f",
"name": "state",
"type": "string",
"value": "={{ $json[\"\"][0].company_profile.location.state }}"
},
{
"id": "d927bce2-823a-4e3c-80d9-b04bddaf440a",
"name": "website",
"type": "string",
"value": "={{ $json[\"\"][0].company_profile.website }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "d3083a33-1a65-41e2-9458-d3563cecc110",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-840,
-600
],
"parameters": {
"width": 860,
"height": 1140,
"content": "README\n\n# Automating Company Data Enrichment and HubSpot Integration\n\n## Use Case\n\nThis automation enriches company data based on email domain and LinkedIn profile, calculates an ICP (Ideal Customer Profile) score, and updates the corresponding company record in HubSpot. It\u2019s ideal for onboarding, qualification, and CRM enrichment.\n\n## What This Automation Does\n\n### Input Parameters\n\n- **Contact email**: Used to derive the company domain.\n- **Company domain**: Primary web domain of the company.\n- **Company LinkedIn** *(optional)*: LinkedIn URL for enrichment accuracy.\n- **Airtop Profile (connected to LinkedIn)**: An authenticated [Airtop Profile](https://portal.airtop.ai/browser-profiles).\n\n### What It Outputs\n\n- Full company profile (name, tagline, website, headquarters)\n- Employee count\n- ICP score based on AI/tech profile, scale, agency type, and location\n- Updates/creates record in HubSpot with all enriched attributes\n\n## How It Works\n\n1. **Input Validation**: Filters out non-corporate domains like Gmail, Yahoo, or .edu.\n2. **Enrichment Trigger**: Launches Airtop workflows to extract and analyze data from LinkedIn and calculate the ICP score.\n3. **Data Mapping**: Compiles structured fields including:\n - Overview, location (city, state, country)\n - Company website and domain\n - LinkedIn URL, employee count\n - ICP score\n4. **HubSpot Sync**: Sends all the enriched fields to the designated HubSpot object for upsertion.\n\n## Setup Requirements\n\n1. [Airtop API Key](https://portal.airtop.ai/api-keys)\n2. [Airtop Profile](https://portal.airtop.ai/browser-profiles) with active LinkedIn authentication\n3. HubSpot integration enabled for object updates\n\n## Next Steps\n\n- **Use in Webforms**: Trigger this on signup to auto-populate CRM records.\n- **Enrich Manually Entered Contacts**: Use with list-based workflows for batch enrichment.\n- **Sync to Other CRMs**: Replace HubSpot step with Salesforce, Pipedrive, etc. for flexible integration.\n"
},
"typeVersion": 1
},
{
"id": "4e5348ba-c285-4068-9d90-17bed5c752c4",
"name": "Is corporate email?",
"type": "n8n-nodes-base.filter",
"position": [
520,
0
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "b42f06fe-5708-4e22-8202-7585230bbabb",
"operator": {
"type": "string",
"operation": "notRegex"
},
"leftValue": "={{ $json[\"Company domain\"] }}",
"rightValue": "=\\b(gmail|hotmail|yahoo|outlook|icloud|aol|protonmail|live|msn|ya)\\b"
},
{
"id": "5128b950-9f99-419b-b34b-223382f2d4f2",
"operator": {
"type": "string",
"operation": "notEndsWith"
},
"leftValue": "={{ $json[\"Company domain\"] }}",
"rightValue": ".edu"
}
]
}
},
"typeVersion": 2.2
}
],
"active": false,
"settings": {
"callerPolicy": "workflowsFromSameOwner",
"errorWorkflow": "jOzgI7as1gGhlZ91",
"executionOrder": "v1"
},
"versionId": "a161b997-14a1-4951-89a6-98fba5fa5d78",
"connections": {
"Aggregate": {
"main": [
[
{
"node": "Map information",
"type": "main",
"index": 0
}
]
]
},
"Company info": {
"main": [
[
{
"node": "Aggregate",
"type": "main",
"index": 0
}
]
]
},
"Unify Params": {
"main": [
[
{
"node": "Is corporate email?",
"type": "main",
"index": 0
}
]
]
},
"Map information": {
"main": [
[
{
"node": "Save company Hubspot",
"type": "main",
"index": 0
}
]
]
},
"On form submission": {
"main": [
[
{
"node": "Unify Params",
"type": "main",
"index": 0
}
]
]
},
"Is corporate email?": {
"main": [
[
{
"node": "Company info",
"type": "main",
"index": 0
}
]
]
},
"When Executed by Another Workflow": {
"main": [
[
{
"node": "Unify Params",
"type": "main",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This automation enriches company data based on email domain and LinkedIn profile, calculates an ICP (Ideal Customer Profile) score, and updates the corresponding company record in HubSpot. It’s ideal for onboarding, qualification, and CRM enrichment. Contact email: Used to…
Source: https://n8n.io/workflows/4259/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
This automation enriches a person’s professional profile using their name and work email, scores them against an ICP (Ideal Customer Profile), and updates their record in HubSpot. It’s ideal for sales
Hunter Pipedrive. Uses stickyNote, formTrigger, noOp, hunter. Event-driven trigger; 15 nodes.
This workflow automatically qualifies great leads from a form and sends them an email 😮.. It also adds the user to Hubspot if not already added and records the outreach. Add you MadKudu, Hunter, and G
When collecting leads via an online form, you often need to manually add those new leads into your Pipedrive CRM. This not only takes a lot of time but is also error-prone. This workflow automates thi
Hunter Form. Uses formTrigger, hunter, stickyNote, clearbit. Event-driven trigger; 11 nodes.