This workflow corresponds to n8n.io template #16415 — we link there as the canonical source.
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": "0PpUqDXVjQt4bAdZ",
"name": "Identify decision makers in the company",
"tags": [],
"nodes": [
{
"id": "3716f7a4-00f7-427d-8597-ad7b9a552ea3",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
112,
-240
],
"parameters": {
"width": 480,
"height": 896,
"content": "## Decision makers from company\n\n### How it works\n\n1. Manually trigger the workflow and fetch data from a Google Sheet.\n2. Process fetched data and search for companies using coresignal.\n3. Split data into batches and perform searches for employees and companies.\n4. Use conditional logic for additional searches based on prior results.\n5. Update the Google Sheet with processed and searched data.\n\n### Setup steps\n\n- [ ] Connect n8n to Google Sheets to fetch and update sheet data.\n- [ ] Configure coresignal nodes for company and employee searches.\n- [x] Make sure the JS code normalizes domains\n- [ ] Specify batch processing details if required.\n\n### Customization\n\nYou can customize search parameters in Coresignal nodes to refine employee search to match the titles you are looking for. "
},
"typeVersion": 1
},
{
"id": "b86267bb-d7df-47d6-b4a6-6c2f3b636803",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
672,
-160
],
"parameters": {
"color": 7,
"width": 400,
"height": 304,
"content": "## Trigger and fetch sheet data\n\nInitiates the workflow to fetch rows from the Google Sheet."
},
"typeVersion": 1
},
{
"id": "5a1169a5-798e-477a-89c7-fc7a5421dc82",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1120,
-160
],
"parameters": {
"color": 7,
"width": 448,
"height": 304,
"content": "## Process sheet data\n\nProcesses sheet data and initiates company-related searches using coresignal."
},
"typeVersion": 1
},
{
"id": "c02b69a0-c698-42d4-a583-167fce748947",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
1616,
-144
],
"parameters": {
"color": 7,
"width": 960,
"height": 448,
"content": "## Search and batch processing\n\nSplits data into batches and manages employee and company searches."
},
"typeVersion": 1
},
{
"id": "6734749e-a6b5-4b68-8f1a-d16c159895dd",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
2368,
336
],
"parameters": {
"color": 7,
"width": 784,
"height": 496,
"content": "## Conditional searches\n\nHandles additional conditional searches if the previous query was too narrow. "
},
"typeVersion": 1
},
{
"id": "fc04fefc-eb54-4c61-b040-30d1ba4c4c31",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
2592,
-192
],
"parameters": {
"color": 7,
"width": 560,
"height": 496,
"content": "## Update sheet with results\n\nUpdates rows in the Google Sheet with search results."
},
"typeVersion": 1
},
{
"id": "7b6be389-4572-493c-8f20-9e036d0d002e",
"name": "Manual Workflow Trigger",
"type": "n8n-nodes-base.manualTrigger",
"position": [
720,
-32
],
"parameters": {},
"typeVersion": 1
},
{
"id": "e1bee02b-6503-4e10-89ab-e6d2f1e096cf",
"name": "Read Sheet Data",
"type": "n8n-nodes-base.googleSheets",
"position": [
928,
-32
],
"parameters": {
"options": {},
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1PdyKGMZxbXpEf7ku5g4lGMCuwMNlLiULUil4dXTUqB4/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1PdyKGMZxbXpEf7ku5g4lGMCuwMNlLiULUil4dXTUqB4",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1PdyKGMZxbXpEf7ku5g4lGMCuwMNlLiULUil4dXTUqB4/edit?usp=drivesdk",
"cachedResultName": "Getting decision makers from the company"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 4.7
},
{
"id": "627af848-7395-40e0-8453-142a2cb6ddf8",
"name": "Search Employees via Elasticsearch",
"type": "n8n-nodes-coresignal-api.coresignal",
"onError": "continueRegularOutput",
"position": [
1936,
144
],
"parameters": {
"esQuery": "={\n \"query\": {\n \"bool\": {\n \"filter\": [\n {\n \"term\": {\n \"is_working\": 1\n }\n },\n {\n \"term\": {\n \"active_experience_company_id\": {{$json}}\n }\n }\n ],\n \"should\": [\n { \"match_phrase\": { \"active_experience_title\": \"Chief Technology Officer\" } },\n { \"match_phrase\": { \"active_experience_title\": \"CTO\" } },\n { \"match_phrase\": { \"active_experience_title\": \"Chief Marketing Officer\" } },\n { \"match_phrase\": { \"active_experience_title\": \"CMO\" } },\n { \"match_phrase\": { \"active_experience_title\": \"Chief Operating Officer\" } },\n { \"match_phrase\": { \"active_experience_title\": \"COO\" } },\n { \"match_phrase\": { \"active_experience_title\": \"Chief Executive Officer\" } },\n { \"match_phrase\": { \"active_experience_title\": \"CEO\" } },\n { \"match_phrase\": { \"active_experience_title\": \"Founder\" } },\n { \"match_phrase\": { \"active_experience_title\": \"Co-Founder\" } },\n { \"match_phrase\": { \"active_experience_title\": \"Chief Revenue Officer\" } },\n { \"match_phrase\": { \"active_experience_title\": \"Chief Sales Officer\" } },\n { \"match_phrase\": { \"active_experience_title\": \"Chief Product Officer\" } },\n { \"match_phrase\": { \"active_experience_title\": \"Chief Data Officer\" } },\n { \"match_phrase\": { \"active_experience_title\": \"VP Sales\" } },\n { \"match_phrase\": { \"active_experience_title\": \"VP Marketing\" } },\n { \"match_phrase\": { \"active_experience_title\": \"VP Engineering\" } },\n { \"match_phrase\": { \"active_experience_title\": \"Head of Sales\" } },\n { \"match_phrase\": { \"active_experience_title\": \"Head of Marketing\" } },\n { \"match_phrase\": { \"active_experience_title\": \"Head of Growth\" } },\n { \"match_phrase\": { \"active_experience_title\": \"Head of Partnerships\" } },\n { \"match_phrase\": { \"active_experience_title\": \"Head of Business Development\" } }\n ],\n \"minimum_should_match\": 1\n }\n }\n}",
"operation": "search_es_dsl"
},
"credentials": {
"coresignalApi": {
"name": "<your credential>"
}
},
"typeVersion": 1,
"alwaysOutputData": true
},
{
"id": "a0033f9c-4ac0-4f94-a125-bf976614c72d",
"name": "Process Sheet Data",
"type": "n8n-nodes-base.code",
"position": [
1168,
-32
],
"parameters": {
"jsCode": "return items.map(item => {\n const website = item.json.website || item.json.Website || \"\";\n\n const normalizedDomain = website\n .toString()\n .trim()\n .toLowerCase()\n .replace(/^https?:\\/\\//, \"\")\n .replace(/^www\\./, \"\")\n .split(\"/\")[0]\n .split(\"?\")[0]\n .split(\"#\")[0];\n\n return {\n json: {\n ...item.json,\n domain: normalizedDomain\n }\n };\n});"
},
"typeVersion": 2
},
{
"id": "89afb198-dc72-45a2-9de7-1ed6c5f47ed7",
"name": "Batch Process Records",
"type": "n8n-nodes-base.splitInBatches",
"position": [
1664,
-32
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "bbeacf25-e9d5-457e-9d4a-d19e6714e778",
"name": "Search Companies via Elasticsearch",
"type": "n8n-nodes-coresignal-api.coresignal",
"position": [
1424,
-32
],
"parameters": {
"esQuery": "={\n \"query\": {\n \"bool\": {\n \"filter\": [\n {\n \"term\": {\n \"website_domain\": \"{{$json.domain}}\"\n }\n },\n {\n \"term\": {\n \"unique_domain\": true\n }\n }\n ]\n }\n }\n}",
"resource": "company",
"operation": "search_es_dsl"
},
"credentials": {
"coresignalApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "26f63183-e992-477c-811d-a7a6edc646b5",
"name": "Retrieve Employee by ID",
"type": "n8n-nodes-coresignal-api.coresignal",
"position": [
2432,
112
],
"parameters": {
"fields": "id, first_name, last_name, active_experience_title, active_experience_management_level, headline, experience, primary_professional_email, linkedin_url",
"employeeId": "={{ $json }}"
},
"credentials": {
"coresignalApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "d7d4cc72-cd97-408b-863c-47d375f8f04e",
"name": "Check Employee Data Type",
"type": "n8n-nodes-base.if",
"position": [
2144,
144
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 3,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "a2c5c2c2-70f1-44a9-b311-273a7c0e3bd7",
"operator": {
"type": "boolean",
"operation": "true",
"singleValue": true
},
"leftValue": "={{ typeof $json === 'number' }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.3,
"alwaysOutputData": false
},
{
"id": "ac20b35e-1290-47d1-ac4b-72095995cdd4",
"name": "Search Multiple Employees",
"type": "n8n-nodes-coresignal-api.coresignal",
"onError": "continueRegularOutput",
"position": [
2416,
464
],
"parameters": {
"esQuery": "={\n \"query\": {\n \"bool\": {\n \"filter\": [\n {\n \"term\": {\n \"is_working\": 1\n }\n },\n {\n \"term\": {\n \"is_decision_maker\": 1\n }\n },\n {\n \"term\": {\n \"active_experience_company_id\": {{$('Batch Process Records').item.json}}\n }\n }\n ],\n \"must_not\": [\n {\n \"match_phrase\": {\n \"active_experience_title\": \"HRBP\"\n }\n },\n {\n \"match_phrase\": {\n \"active_experience_title\": \"HR Business Partner\"\n }\n },\n {\n \"match_phrase\": {\n \"active_experience_title\": \"Human Resources Business Partner\"\n }\n },\n {\n \"match_phrase\": {\n \"active_experience_title\": \"Human Resources\"\n }\n },\n {\n \"match_phrase\": {\n \"active_experience_title\": \"HR Manager\"\n }\n },\n {\n \"match_phrase\": {\n \"active_experience_title\": \"HR Director\"\n }\n },\n {\n \"match_phrase\": {\n \"active_experience_title\": \"Head of HR\"\n }\n },\n {\n \"match_phrase\": {\n \"active_experience_title\": \"Head of Human Resources\"\n }\n },\n {\n \"match_phrase\": {\n \"active_experience_title\": \"VP Human Resources\"\n }\n },\n {\n \"match_phrase\": {\n \"active_experience_title\": \"Chief Human Resources Officer\"\n }\n },\n {\n \"match_phrase\": {\n \"active_experience_title\": \"Chief People Officer\"\n }\n },\n {\n \"match_phrase\": {\n \"active_experience_title\": \"Head of People\"\n }\n },\n {\n \"match_phrase\": {\n \"active_experience_title\": \"People Partner\"\n }\n },\n {\n \"match_phrase\": {\n \"active_experience_title\": \"People Operations\"\n }\n },\n {\n \"match_phrase\": {\n \"active_experience_title\": \"Talent Acquisition\"\n }\n },\n {\n \"match_phrase\": {\n \"active_experience_title\": \"Recruiter\"\n }\n },\n {\n \"match_phrase\": {\n \"active_experience_department\": \"Human Resources\"\n }\n },\n {\n \"match_phrase\": {\n \"active_experience_department\": \"HR\"\n }\n }\n ]\n }\n }\n}",
"operation": "search_es_dsl"
},
"credentials": {
"coresignalApi": {
"name": "<your credential>"
}
},
"typeVersion": 1,
"alwaysOutputData": true
},
{
"id": "3a37ba8e-07ae-4f9a-9a00-f8a357e116e8",
"name": "Find Employee Details",
"type": "n8n-nodes-coresignal-api.coresignal",
"position": [
2992,
448
],
"parameters": {
"fields": "id, first_name, last_name, active_experience_title, active_experience_management_level, headline, experience, primary_professional_email, linkedin_url",
"employeeId": "={{ $json }}"
},
"credentials": {
"coresignalApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "49a30c0b-3c8f-4b06-b5be-262a32ca8262",
"name": "Verify Record Type",
"type": "n8n-nodes-base.if",
"position": [
2624,
464
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 3,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "a2c5c2c2-70f1-44a9-b311-273a7c0e3bd7",
"operator": {
"type": "boolean",
"operation": "true",
"singleValue": true
},
"leftValue": "={{ typeof $json === 'number' }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.3,
"alwaysOutputData": false
},
{
"id": "afce73ce-7078-4480-bf65-00365f30e4de",
"name": "Retrieve Company Details",
"type": "n8n-nodes-coresignal-api.coresignal",
"position": [
3008,
672
],
"parameters": {
"fields": "website, company_name",
"resource": "company",
"companyId": "={{$('Batch Process Records').item.json}}"
},
"credentials": {
"coresignalApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "fb4a0ff8-f0e8-4160-965f-e75fdb6530d3",
"name": "Update Decision Makers Sheet",
"type": "n8n-nodes-base.googleSheets",
"position": [
2832,
-48
],
"parameters": {
"columns": {
"value": {
"id": "={{$json.id}}",
"headline": "={{ $json.headline }}",
"location": "={{ $json.experience[0].location }}",
"last_name": "={{ $json.last_name }}",
"first_name": "={{ $json.first_name }}",
"company_name": "={{ $json.experience[0].company_name }}",
"company_website": "={{ $json.experience[0].company_website }}",
"active_experience_title": "={{ $json.active_experience_title }}",
"professional_network_url": "={{ $json.linkedin_url }}",
"no_employee_found_in_name": "={{ $json.company_name }}",
"primary_professional_email": "={{$json.primary_professional_email}}",
"no_employee_found_in_website": "={{ $json.website }}",
"active_experience_management_level": "={{ $json.active_experience_management_level }}"
},
"schema": [
{
"id": "id",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "id",
"defaultMatch": true,
"canBeUsedToMatch": true
},
{
"id": "first_name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "first_name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "last_name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "last_name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "headline",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "headline",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "active_experience_title",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "active_experience_title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "active_experience_management_level",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "active_experience_management_level",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "company_name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "company_name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "location",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "location",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "company_website",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "company_website",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "primary_professional_email",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "primary_professional_email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "professional_network_url",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "professional_network_url",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "no_employee_found_in_website",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "no_employee_found_in_website",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "no_employee_found_in_name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "no_employee_found_in_name",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"id"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "list",
"value": 1203662558,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1PdyKGMZxbXpEf7ku5g4lGMCuwMNlLiULUil4dXTUqB4/edit#gid=1203662558",
"cachedResultName": "Decision makers"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1PdyKGMZxbXpEf7ku5g4lGMCuwMNlLiULUil4dXTUqB4",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1PdyKGMZxbXpEf7ku5g4lGMCuwMNlLiULUil4dXTUqB4/edit?usp=drivesdk",
"cachedResultName": "Getting decision makers from the company"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 4.7
}
],
"active": false,
"settings": {
"binaryMode": "separate",
"executionOrder": "v1"
},
"versionId": "823f1191-ad18-45d6-b13a-460405d6966c",
"connections": {
"Read Sheet Data": {
"main": [
[
{
"node": "Process Sheet Data",
"type": "main",
"index": 0
}
]
]
},
"Process Sheet Data": {
"main": [
[
{
"node": "Search Companies via Elasticsearch",
"type": "main",
"index": 0
}
]
]
},
"Verify Record Type": {
"main": [
[
{
"node": "Find Employee Details",
"type": "main",
"index": 0
}
],
[
{
"node": "Retrieve Company Details",
"type": "main",
"index": 0
}
]
]
},
"Batch Process Records": {
"main": [
[
{
"node": "Update Decision Makers Sheet",
"type": "main",
"index": 0
}
],
[
{
"node": "Search Employees via Elasticsearch",
"type": "main",
"index": 0
}
]
]
},
"Find Employee Details": {
"main": [
[
{
"node": "Batch Process Records",
"type": "main",
"index": 0
}
]
]
},
"Manual Workflow Trigger": {
"main": [
[
{
"node": "Read Sheet Data",
"type": "main",
"index": 0
}
]
]
},
"Retrieve Employee by ID": {
"main": [
[
{
"node": "Batch Process Records",
"type": "main",
"index": 0
}
]
]
},
"Check Employee Data Type": {
"main": [
[
{
"node": "Retrieve Employee by ID",
"type": "main",
"index": 0
}
],
[
{
"node": "Search Multiple Employees",
"type": "main",
"index": 0
}
]
]
},
"Retrieve Company Details": {
"main": [
[
{
"node": "Batch Process Records",
"type": "main",
"index": 0
}
]
]
},
"Search Multiple Employees": {
"main": [
[
{
"node": "Verify Record Type",
"type": "main",
"index": 0
}
]
]
},
"Search Companies via Elasticsearch": {
"main": [
[
{
"node": "Batch Process Records",
"type": "main",
"index": 0
}
]
]
},
"Search Employees via Elasticsearch": {
"main": [
[
{
"node": "Check Employee Data Type",
"type": "main",
"index": 0
}
]
]
}
}
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
coresignalApigoogleSheetsOAuth2Api
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This workflow manually pulls company website data from Google Sheets, finds matching companies in Coresignal, and searches for decision-maker employees. It then writes the resulting contact and company details back to a dedicated “Decision makers” sheet in Google Sheets.…
Source: https://n8n.io/workflows/16415/ — 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.
TrackCollect_deeper. Uses googleSheets, httpRequest, @n-octo-n/n8n-nodes-json-database, itemLists. Event-driven trigger; 80 nodes.
This template is ideal for solo store owners, eCommerce marketers, automation beginners, or anyone using Shopify and Gmail who wants to recover lost revenue without coding.
PCN. Uses googleSheets, httpRequest, @n-octo-n/n8n-nodes-json-database, itemLists. Event-driven trigger; 60 nodes.
Product Ad Machine. Uses googleDrive, googleSheets, httpRequest, @ffmpeg-micro/n8n-nodes-ffmpeg-micro. Event-driven trigger; 60 nodes.
Basic AI SEO KW Research n8n DataForSEO Gumroad 030125. Uses googleSheets, googleDrive, httpRequest. Event-driven trigger; 56 nodes.