This workflow corresponds to n8n.io template #8470 — we link there as the canonical source.
This workflow follows the Chainllm → Execute Workflow 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": "kgOvQTJXCMEL1g4p",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "Template - Qualify B2B Prospects with Web RAG and AI",
"tags": [
{
"id": "5iLhyafIfw7Wsj7s",
"name": "Templates",
"createdAt": "2025-09-08T15:27:47.811Z",
"updatedAt": "2025-09-08T15:27:47.811Z"
}
],
"nodes": [
{
"id": "84015f72-c836-49fd-99f3-ac52d6511700",
"name": "Process live web content",
"type": "n8n-nodes-base.code",
"onError": "continueErrorOutput",
"position": [
1392,
352
],
"parameters": {
"mode": "runOnceForEachItem",
"jsCode": "const prospect = $('Get Prospect').item.json;\n\nconst website_rag_node = $('Get RAG domain');\nconst website_rag = website_rag_node?.item?.json?.error ? null : website_rag_node?.item?.json;\n\nconst search_rag_node = $('Get RAG search');\nconst search_rag = search_rag_node?.item?.json?.error ? null : search_rag_node?.item?.json;\n\nconst basic_information = {\n name: website_rag?.home_company || prospect.name,\n city: prospect.city,\n country_code: prospect.country_code,\n domain: prospect.domain,\n sbi: prospect.sbi,\n ...(!!prospect.google_industry && { google_industry: prospect.google_industry })\n};\n\nconst website_content = !website_rag ? null : {\n keywords: website_rag.texts.profiles_keywords,\n descriptions: website_rag.texts.profiles_descriptions,\n about: website_rag.texts.about_metaarticle_sum,\n website: website_rag.texts.all_metaarticle_sum\n}\n\nconst search_content = !search_rag ? null : {\n ...(!!search_rag.results.length && {\n results: search_rag.results.filter(result => !!result.snippets && !!result.description).map((result) => {\n return {\n url: result.url,\n description: result.description,\n snippets: result.snippets\n }\n })\n })\n}\n\nreturn {\n basic_information,\n ...(!!website_content && { website_content }),\n ...(!!search_content && { search_content })\n};"
},
"typeVersion": 2
},
{
"id": "3542db00-a076-45f9-b831-9930e46e41ba",
"name": "Content available to proceed?",
"type": "n8n-nodes-base.if",
"position": [
1600,
352
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "cbbacb9d-e3c0-4568-83f3-9538ed6847f1",
"operator": {
"type": "boolean",
"operation": "true",
"singleValue": true
},
"leftValue": "={{ !!$json.website_content || !!$json.search_content }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "e80d7c12-ea0b-49d9-8a84-c4086af9e196",
"name": "Basic LLM Chain",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"onError": "continueErrorOutput",
"position": [
1824,
208
],
"parameters": {
"text": "=Company name:\n{{ $json.basic_information.name }}\n\nCompany SBI:\n{{ $json.basic_information.sbi }}\n\nCompany location:\n{{ $json.basic_information.city }} ({{ $json.basic_information.country_code }})\n\nIndustry on Google:\n{{ $json.basic_information.google_industry || '-' }}\n\nDescription(s):\n{{ $json.website_content.descriptions || \"-\" }}\n\nAbout:\n{{ $json.website_content.about || \"-\" }}\n\nMost important website snippets:\n{{ $json.website_content.website || \"-\" }}\n\nSearch engine result snippets:\n{{ $json.search_content || \"-\" }}",
"batching": {},
"messages": {
"messageValues": [
{
"message": "You assist data engineers in creating parts of company profiles. These profiles are used by people in various professions to assist them in their daily tasks. Stakeholders will define the insights they require. The data engineers will provide you with data and content they've gathered from various online sources. You will combine your general knowledge with the provided input to generate insights. As the input you'll get from the data engineers will not cover all inquiries, you're going to have to read between the lines without making things up. \n\nAdditional requirements:\n- Always output textual values in Dutch (NL)\n- Always adhere to JSON structure that's provided"
}
]
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 1.7
},
{
"id": "51c5f917-b8a6-4b79-8bca-36d09ef92f11",
"name": "OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
1824,
400
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1-mini"
},
"options": {
"maxTokens": 4000
}
},
"credentials": {
"openAiApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.2
},
{
"id": "32857931-ad3a-4885-90d5-58735357f2e3",
"name": "Structured Output Parser",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
1968,
368
],
"parameters": {
"schemaType": "manual",
"inputSchema": "{\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"title\": \"Company Classification\",\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"properties\": {\n \"is_b2b\": {\n \"type\": \"boolean\",\n \"description\": \"Indicate whether the company is B2B.\"\n },\n \"is_marketing\": {\n \"type\": \"boolean\",\n \"description\": \"Indicate whether the company offers marketing products/services to it's customers.\"\n },\n \"is_sales\": {\n \"type\": \"boolean\",\n \"description\": \"Indicate whether the company is a call center or offers other types of direct sales products/services.\"\n },\n \"is_crm_expert\": {\n \"type\": \"boolean\",\n \"description\": \"Indicate whether the company offers specific CRMs and/or related services.\"\n },\n \"is_saas\": {\n \"type\": \"boolean\",\n \"description\": \"Indicate whether the company sells software they develop themselves through a SaaS model.\"\n }\n },\n \"required\": [\n \"is_b2b\",\n \"is_marketing\",\n \"is_sales\",\n \"is_crm_expert\",\n \"is_saas\"\n ]\n}"
},
"typeVersion": 1.3
},
{
"id": "4ec77331-4bba-4ba9-83c3-139cc10aec07",
"name": "Get RAG domain",
"type": "@bedrijfsdatanl/n8n-nodes-bedrijfsdata.bedrijfsdata",
"position": [
1008,
352
],
"parameters": {
"domain": "={{ $json.domain }}",
"resource": "rag",
"operation": "get_domain",
"requestOptions": {}
},
"credentials": {
"bedrijfsdataApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "1190afa4-34b5-4fe2-b1b6-634c7c31140f",
"name": "Valid results?",
"type": "n8n-nodes-base.if",
"notes": "This is technically redundant (output parser will throw an error in the case that's currently tested), but this is a good place to add your own validation logic.",
"position": [
2128,
208
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "8930b1c1-167e-4f95-b367-335a6e2f44e3",
"operator": {
"type": "boolean",
"operation": "true",
"singleValue": true
},
"leftValue": "={{ Object?.keys($json.output).length > 0 && $json.output.hasOwnProperty('is_b2b') }}",
"rightValue": ""
}
]
}
},
"notesInFlow": true,
"typeVersion": 2.2
},
{
"id": "736ce3b3-d8a4-4aaf-85ba-acada789e338",
"name": "Qualify & Tag Prospect",
"type": "n8n-nodes-base.code",
"onError": "continueErrorOutput",
"position": [
2368,
352
],
"parameters": {
"mode": "runOnceForEachItem",
"jsCode": "// Get prospect data\nconst prospect = $('Get Prospect').item.json;\n\n// Use prospect data\nconst has_competitor = !(prospect.apps && prospect.apps.length > 1) ? false :\n prospect.apps.includes('leadinfo') ? 'leadinfo' :\n prospect.apps.includes('clearbit') ? 'clearbit' : false;\n\n// Prepare tags for updating\nconst tags = prospect.tags.length > 0 ? prospect.tags.split('|') : [];\n\n// Qualify by LLM data\nif(!!$json.output.is_b2b) {\n // All B2B companies fit ICP\n prospect.label = 1;\n\n // Segment B2B companies that fit ICP\n if(!!$json.output.is_saas || !!$json.output.is_crm_expert) {\n tags.push('Potential API');\n } else if (has_competitor) {\n tags.push('Potential ProspectPro');\n } else {\n tags.push('Potential Dataset');\n }\n} else {\n // Other companies are disqualified\n prospect.label = 0;\n}\n\n// IMPORTANT: confirm prospect has been processed by this workflow by adding a tag\ntags.push(\"AutoQualified\");\n\nreturn {\n ...prospect,\n tags\n};"
},
"typeVersion": 2
},
{
"id": "3b673df0-3399-433a-b345-3da15991bd26",
"name": "Update Prospect in ProspectPro",
"type": "@bedrijfsdatanl/n8n-nodes-prospectpro.prospectpro",
"onError": "continueErrorOutput",
"position": [
2544,
352
],
"parameters": {
"id": "={{ $json.id }}",
"operation": "patch",
"updateOptions": {
"tags": "={{ $json.tags }}",
"label": "={{ $json.label }}"
},
"requestOptions": {}
},
"credentials": {
"prospectproApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "8f7bc798-678f-4cfc-ae20-bff156db4977",
"name": "Update prospect",
"type": "@bedrijfsdatanl/n8n-nodes-prospectpro.prospectpro",
"onError": "continueRegularOutput",
"position": [
2560,
1120
],
"parameters": {
"id": "={{ $json.id }}",
"operation": "patch",
"updateOptions": {
"tags": "={{ $json.tags }}"
},
"requestOptions": {}
},
"credentials": {
"prospectproApi": {
"name": "<your credential>"
}
},
"typeVersion": 1,
"alwaysOutputData": true
},
{
"id": "c2603e19-27ba-41d4-a0ef-546aa53235f9",
"name": "return { result: false };",
"type": "n8n-nodes-base.code",
"position": [
2800,
1120
],
"parameters": {
"mode": "runOnceForEachItem",
"jsCode": "return { result: false };"
},
"typeVersion": 2
},
{
"id": "a1593819-bf62-4aeb-9c3f-7b3acf849330",
"name": "Set Tag: ManualQualification",
"type": "n8n-nodes-base.code",
"position": [
2368,
1120
],
"parameters": {
"mode": "runOnceForEachItem",
"jsCode": "const prospect = $('Get Prospect').item.json;\nconst tags = prospect.tags.length > 0 ? prospect.tags.split('|') : [];\n\ntags.push(\"ManualQualification\");\n\nreturn {\n ...prospect,\n tags\n};"
},
"typeVersion": 2
},
{
"id": "0891e5b1-6fd5-4e4f-952b-395af02fecba",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
2736,
176
],
"parameters": {
"width": 256,
"height": 1120,
"content": "## Set output\nThis workflow outputs:\n\n`{ result: Boolean }`\n\nThis allows parent-workflows to use this outcome, like to proceed only when a prospect fits the ICP."
},
"typeVersion": 1
},
{
"id": "765036f4-b6f4-4ad1-8cd4-3ef983875066",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
2304,
976
],
"parameters": {
"color": 3,
"width": 416,
"height": 320,
"content": "## Log Errors\nSet Tags in ProspectPro to easily detect issues that need to be resolved manually.\n\n**Important:** you should log this somewhere!"
},
"typeVersion": 1
},
{
"id": "67299053-d581-425a-97fc-120dd867cc6c",
"name": "Sticky Note7",
"type": "n8n-nodes-base.stickyNote",
"position": [
2304,
176
],
"parameters": {
"color": 4,
"width": 416,
"height": 368,
"content": "## Qualify and Segment Prospect\nUse LLM- and Prospect Data to qualify and segment prospects. For demonstration purposes, we've prepared an example that uses both, but that's totally up to you.\n\n**To do:** modify business logic for qualification."
},
"typeVersion": 1
},
{
"id": "d87da9d7-35fc-4489-896c-180484937389",
"name": "Sticky Note8",
"type": "n8n-nodes-base.stickyNote",
"position": [
1776,
0
],
"parameters": {
"color": 2,
"width": 512,
"height": 544,
"content": "## Use an LLM\nPrompt is set up in such a way it doesn't need changing for simple use cases. You can simply define the content you need in the **Structured Output Parser**, as demonstrated here.\n\n**To do:** Modify requirements for qualification.\n\n**Important:** always set a token limit and monitor your token usage during development to avoid unpleasant surprises."
},
"typeVersion": 1
},
{
"id": "2800cac9-1c5b-4e17-8019-414e725547c1",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
-256,
-32
],
"parameters": {
"width": 576,
"height": 576,
"content": "## Qualify B2B Prospects with Web RAG and AI (by Prospect ID)\n*Description:* Use live website content, search engine snippets and an LLM to qualify and segment a company.\n\n*Usage:* Workflow can be connected to a trigger directly (like ProspectPro's \"New website visitor\"), or be used as a sub-flow in a multi-step process.\n\n*Additional information:*\n- Workflow sets tags \"AutoQualified\" and \"ManualQualification\" in ProspectPro to indicate whether a prospect has been processed by this workflow. This allows you to prevent re-runs. Check out the \"ProspectPro Trigger Example\" below for an example.\n- Contact us through https://www.prospectpro.nl/klantenservice/ for support and extra tips on best practises for implementation."
},
"typeVersion": 1
},
{
"id": "f182d8fd-b92c-4178-80d4-0498ecb5a7f9",
"name": "Sticky Note9",
"type": "n8n-nodes-base.stickyNote",
"position": [
336,
176
],
"parameters": {
"color": 5,
"width": 608,
"height": 368,
"content": "## Start\nAs this workflow is designed to be as flexible as possible, we assume we just have a ProspectPro ID. We therefor start by retrieving the prospect and double-checking if the prospect was processed before. If it was, we quit the workflow early.\n\n**Important:** Web RAG requires a domain name. If a domain isn't available, the prospect should be qualified manually."
},
"typeVersion": 1
},
{
"id": "301c3c1d-ba51-4a88-a355-fc4fecc4d579",
"name": "Sticky Note10",
"type": "n8n-nodes-base.stickyNote",
"position": [
960,
176
],
"parameters": {
"color": 6,
"width": 800,
"height": 368,
"content": "## Get Web- & Search Engine content\nUse RAG to gather all important website pages (home, about, etc.) and search snippets. Validate the results and cherry pick the elements the LLM requires.\n\n**Important:** you may want to tweak the web content you feed into the LLM. Current setup is designed for flexibility and consistency."
},
"typeVersion": 1
},
{
"id": "eeaca725-fe31-40c8-9571-3a5c3284a504",
"name": "Continue?",
"type": "n8n-nodes-base.if",
"position": [
784,
352
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "15bc7f88-124b-4ace-9b9b-d211b83dd524",
"operator": {
"type": "boolean",
"operation": "true",
"singleValue": true
},
"leftValue": "={{ !!$json.domain }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "b6b197dd-4e9e-4a7b-8e32-28955582423c",
"name": "return { result: prospect.label === 1 };",
"type": "n8n-nodes-base.code",
"position": [
2800,
384
],
"parameters": {
"mode": "runOnceForEachItem",
"jsCode": "const prospect = $('Update Prospect in ProspectPro').item.json;\n\nreturn { \n result: !!(prospect.label === 1)\n};"
},
"typeVersion": 2
},
{
"id": "b3ccafc1-781b-47a0-b75b-62832d693852",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
528,
560
],
"parameters": {
"color": 4,
"width": 416,
"height": 272,
"content": "## Define response\nDetermine whether the prospect is Qualified to return the proper response to the \"parent workflow\"."
},
"typeVersion": 1
},
{
"id": "1659e9f1-bad3-4878-b73e-4d1513f4c274",
"name": "Not Processed Before?",
"type": "n8n-nodes-base.if",
"position": [
592,
352
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "c3696744-f335-4b14-852c-76a7659f3303",
"operator": {
"type": "boolean",
"operation": "false",
"singleValue": true
},
"leftValue": "={{ !!$json.tags.includes(\"AutoQualified\") || !!$json.tags.includes(\"ManualQualification\") }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "f591ac35-8d2f-4128-9f90-c4c26b5b5ef2",
"name": "Is Qualified?",
"type": "n8n-nodes-base.if",
"position": [
784,
688
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "0f746bf6-9dc2-4787-a2bd-69c494b8b134",
"operator": {
"type": "boolean",
"operation": "true",
"singleValue": true
},
"leftValue": "={{ !!$json.label && $json.label === 1 }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "21bb2b8d-6db7-42a7-a718-65c56f572aef",
"name": "When Executed by Another Workflow",
"type": "n8n-nodes-base.executeWorkflowTrigger",
"position": [
96,
352
],
"parameters": {
"workflowInputs": {
"values": [
{
"name": "id"
}
]
}
},
"typeVersion": 1.1
},
{
"id": "f6160205-28cd-4861-aee5-9d8727089779",
"name": "Get Prospect",
"type": "@bedrijfsdatanl/n8n-nodes-prospectpro.prospectpro",
"onError": "continueErrorOutput",
"position": [
400,
352
],
"parameters": {
"id": "={{ $json.id }}",
"operation": "get",
"requestOptions": {}
},
"credentials": {
"prospectproApi": {
"name": "<your credential>"
}
},
"typeVersion": 1,
"alwaysOutputData": false
},
{
"id": "3235a08a-4926-46ec-b247-745c495433b2",
"name": "ProspectPro Trigger Example",
"type": "@bedrijfsdatanl/n8n-nodes-prospectpro.prospectproTrigger",
"position": [
-160,
352
],
"parameters": {
"label": -1,
"not_tags": "={{ [\"AutoQualified\", \"ManualQualification\"] }}",
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
}
},
"credentials": {
"prospectproApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "f2871aec-65b5-4a24-8539-e74ef21d8d40",
"name": "Get RAG search",
"type": "@bedrijfsdatanl/n8n-nodes-bedrijfsdata.bedrijfsdata",
"onError": "continueRegularOutput",
"position": [
1200,
352
],
"parameters": {
"q": "={{ $('Continue?').item.json.name }} {{ $('Continue?').item.json.domain }}",
"resource": "rag",
"operation": "get_search",
"outputOptions": {},
"searchOptions": {
"limit": 10
},
"requestOptions": {}
},
"credentials": {
"bedrijfsdataApi": {
"name": "<your credential>"
}
},
"typeVersion": 1,
"alwaysOutputData": true
},
{
"id": "0ce72969-e0c4-4d3d-97e2-348f0ce6702c",
"name": "return { result: true };",
"type": "n8n-nodes-base.code",
"position": [
2800,
704
],
"parameters": {
"mode": "runOnceForEachItem",
"jsCode": "return { result: true };"
},
"typeVersion": 2
}
],
"active": false,
"settings": {
"callerPolicy": "workflowsFromSameOwner",
"errorWorkflow": "Mf7KVxCmCYTFgFAd",
"executionOrder": "v1"
},
"versionId": "bd2a6dc8-c91e-4c96-83b6-086a1937a1c2",
"connections": {
"Continue?": {
"main": [
[
{
"node": "Get RAG domain",
"type": "main",
"index": 0
}
],
[
{
"node": "Set Tag: ManualQualification",
"type": "main",
"index": 0
}
]
]
},
"Get Prospect": {
"main": [
[
{
"node": "Not Processed Before?",
"type": "main",
"index": 0
}
],
[
{
"node": "return { result: false };",
"type": "main",
"index": 0
}
]
]
},
"Is Qualified?": {
"main": [
[
{
"node": "return { result: true };",
"type": "main",
"index": 0
}
],
[
{
"node": "return { result: false };",
"type": "main",
"index": 0
}
]
]
},
"Get RAG domain": {
"main": [
[
{
"node": "Get RAG search",
"type": "main",
"index": 0
}
]
]
},
"Get RAG search": {
"main": [
[
{
"node": "Process live web content",
"type": "main",
"index": 0
}
]
]
},
"Valid results?": {
"main": [
[
{
"node": "Qualify & Tag Prospect",
"type": "main",
"index": 0
}
],
[
{
"node": "Set Tag: ManualQualification",
"type": "main",
"index": 0
}
]
]
},
"Basic LLM Chain": {
"main": [
[
{
"node": "Valid results?",
"type": "main",
"index": 0
}
],
[
{
"node": "Set Tag: ManualQualification",
"type": "main",
"index": 0
}
]
]
},
"Update prospect": {
"main": [
[
{
"node": "return { result: false };",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "Basic LLM Chain",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Not Processed Before?": {
"main": [
[
{
"node": "Continue?",
"type": "main",
"index": 0
}
],
[
{
"node": "Is Qualified?",
"type": "main",
"index": 0
}
]
]
},
"Qualify & Tag Prospect": {
"main": [
[
{
"node": "Update Prospect in ProspectPro",
"type": "main",
"index": 0
}
],
[
{
"node": "Set Tag: ManualQualification",
"type": "main",
"index": 0
}
]
]
},
"Process live web content": {
"main": [
[
{
"node": "Content available to proceed?",
"type": "main",
"index": 0
}
],
[
{
"node": "Set Tag: ManualQualification",
"type": "main",
"index": 0
}
]
]
},
"Structured Output Parser": {
"ai_outputParser": [
[
{
"node": "Basic LLM Chain",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Set Tag: ManualQualification": {
"main": [
[
{
"node": "Update prospect",
"type": "main",
"index": 0
}
]
]
},
"Content available to proceed?": {
"main": [
[
{
"node": "Basic LLM Chain",
"type": "main",
"index": 0
}
],
[
{
"node": "Set Tag: ManualQualification",
"type": "main",
"index": 0
}
]
]
},
"Update Prospect in ProspectPro": {
"main": [
[
{
"node": "return { result: prospect.label === 1 };",
"type": "main",
"index": 0
}
],
[
{
"node": "Set Tag: ManualQualification",
"type": "main",
"index": 0
}
]
]
},
"When Executed by Another Workflow": {
"main": [
[
{
"node": "Get Prospect",
"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.
bedrijfsdataApiopenAiApiprospectproApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This template qualifies and segments B2B prospects in ProspectPro using live web data and AI. It retrieves website content and search snippets, processes them with an LLM, and updates the prospect record in ProspectPro with qualification labels and tags. The workflow ensures…
Source: https://n8n.io/workflows/8470/ — 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 workflow contains community nodes that are only compatible with the self-hosted version of n8n.
This template attempts to replicate OpenAI's DeepResearch feature which, at time of writing, is only available to their pro subscribers.
The best content automation template in the market is now even better—with “deep research” on time-sensitive topics\! Unlike most n8n content automation templates that are mainly for “demo purposes,”
Typeform IA - YT. Uses typeformTrigger, agent, lmChatOpenAi, toolWorkflow. Event-driven trigger; 75 nodes.
Agent Nodes. Uses lmChatOpenAi, slack, stopAndError, errorTrigger. Event-driven trigger; 72 nodes.