This workflow corresponds to n8n.io template #6063 — we link there as the canonical source.
This workflow follows the Agent → 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": "9h9ppDLnWx1FriWK",
"meta": {
"templateId": "4262",
"templateCredsSetupCompleted": true
},
"name": "Score Company ICP with Explorium",
"tags": [],
"nodes": [
{
"id": "53ac44a9-4774-42f5-8b3d-d7c83272c1fa",
"name": "On form submission",
"type": "n8n-nodes-base.formTrigger",
"position": [
1300,
880
],
"parameters": {
"options": {},
"formTitle": "Company ICP scoring",
"formFields": {
"values": [
{
"fieldLabel": "Company Name",
"placeholder": "Apple",
"requiredField": true
}
]
},
"formDescription": "=This automation takes company's Linkedin Profile URL and Airtop Profile (authenticated for Linkedin) and returns the company's ICP score"
},
"typeVersion": 2.2
},
{
"id": "376edace-c71d-40ca-a0e7-4cc6d11bed17",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
1100,
720
],
"parameters": {
"width": 400,
"height": 500,
"content": "## Input Parameters\nRun this workflow using a form "
},
"typeVersion": 1
},
{
"id": "8687eea7-1059-43e4-8575-f8a6ebeae0a2",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
1520,
720
],
"parameters": {
"color": 5,
"width": 960,
"height": 500,
"content": "## Calculate ICP"
},
"typeVersion": 1
},
{
"id": "5f2723ea-8df0-430e-8a4c-a057b7e6081a",
"name": "Sticky Note7",
"type": "n8n-nodes-base.stickyNote",
"position": [
360,
460
],
"parameters": {
"width": 700,
"height": 880,
"content": "# \ud83e\udde0 ICP Scoring Agent (n8n + Explorium + LLM)\n\n## \ud83d\udd27 How It Works\n1. Input: Company name\n2. MCP Server pulls firmographic & tech data\n3. LLM scores the company using 3-pillar framework\n4. Output: Structured Google doc created with leveraged @AgentGeeks formater \n\n## \ud83d\udcca Scoring System (100 pts total)\n| Pillar | Max |\n|---------------------------|-----|\n| Strategic Fit | 40 |\n| AI / Tech Readiness | 40 |\n| Engagement & Reachability | 20 |\n\n## \ud83e\udde0 Criteria\n- **Strategic Fit:** Industry, size, buyer roles, use case\n- **Tech Readiness:** AI focus, hiring, stack maturity\n- **Reachability:** Geography, contactability, data quality\n\n## \ud83c\udfc1 Verdicts\n- **90\u2013100:** \u2b50 Ideal ICP \n- **70\u201389:** \u2705 Good Fit \n- **40\u201369:** \u26a0\ufe0f Medium Fit \n- **< 40:** \u274c Poor Fit \n\n## \ud83d\udcbc Use Case\nScore and rank companies automatically for GTM prioritization. Use structured JSON to map into CRMs, Docs, or lead routing systems.\n"
},
"typeVersion": 1
},
{
"id": "7c5a0104-f73c-42be-bb1b-6b335e81501f",
"name": "AI Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
1620,
880
],
"parameters": {
"text": "=Generate a clean Markdown report for the company \"{{ $json['Company Name'] }}\" based on the following:\n\n- Strategic Fit (score out of 40, summary, justification)\n- AI/Tech Readiness (score out of 40, summary, justification)\n- Engagement & Reachability (score out of 20, summary, justification)\n- Final Summary (1\u20132 sentence wrap-up)\n- Total ICP Score: Sum of the 3 categories (max = 100)\n- Verdict: Poor Fit, Medium Fit, Good Fit, or Ideal ICP\n\nThe output should be a clean Markdown document with headers and bold labels, like this:\n\n## \ud83d\udccc Strategic Fit \n**Score:** 36 / 40 \n**Summary:** ... \n**Justification:** ...\n\nDo not include any explanation or JSON. Just return the report in Markdown.\n",
"options": {
"systemMessage": "=You are an AI business analyst tasked with generating clean Markdown reports summarizing ICP (Ideal Customer Profile) evaluations.\n\nUse this 3-pillar scoring system (max 100 points total):\n- Strategic Fit: 0\u201340 points\n- AI/Tech Readiness: 0\u201340 points\n- Engagement & Reachability: 0\u201320 points\n\nYour output must:\n- Be formatted in Markdown\n- Use headers (##) and bold labels (e.g., **Score:**)\n- Include only the report \u2014 no preamble, explanation, or extra intro\n- Always show the total score out of 100\n- Use one of the following verdicts: Poor Fit, Medium Fit, Good Fit, Ideal ICP\n\nNever scale the total to 300. Never include anything outside the report.\n"
},
"promptType": "define"
},
"typeVersion": 1.9
},
{
"id": "53b09fbf-c8da-43a0-b7ac-ed9ebacd2dba",
"name": "MCP Client",
"type": "@n8n/n8n-nodes-langchain.mcpClientTool",
"position": [
1780,
1080
],
"parameters": {
"sseEndpoint": "mcp.explorium.ai/sse",
"authentication": "headerAuth"
},
"credentials": {
"httpHeaderAuth": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "6f0c8ee4-5aad-4b49-9202-bb2071f6b933",
"name": "Anthropic Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
"position": [
1620,
1060
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "claude-3-7-sonnet-20250219",
"cachedResultName": "Claude 3.7 Sonnet"
},
"options": {}
},
"credentials": {
"anthropicApi": {
"name": "<your credential>"
}
},
"typeVersion": 1.3
},
{
"id": "3b60d56a-b305-40af-aea7-f9847bdc3aee",
"name": "HTTP Request",
"type": "n8n-nodes-base.httpRequest",
"position": [
2060,
880
],
"parameters": {
"url": "https://md2doc.n8n.aemalsayer.com",
"method": "POST",
"options": {},
"sendBody": true,
"authentication": "predefinedCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "output",
"value": "={{ $json.output }}"
},
{
"name": "fileName",
"value": "={{ $('On form submission').item.json['Company Name'] }} ICP Report"
}
]
},
"nodeCredentialType": "googleDocsOAuth2Api"
},
"credentials": {
"googleDocsOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 4.2
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "d145e079-faa1-4302-b5c9-fb7ad2841560",
"connections": {
"AI Agent": {
"main": [
[
{
"node": "HTTP Request",
"type": "main",
"index": 0
}
]
]
},
"MCP Client": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"On form submission": {
"main": [
[
{
"node": "AI Agent",
"type": "main",
"index": 0
}
]
]
},
"Anthropic Chat Model": {
"ai_languageModel": [
[
{
"node": "AI Agent",
"type": "ai_languageModel",
"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.
anthropicApigoogleDocsOAuth2ApihttpHeaderAuth
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This workflow automates Ideal Customer Profile (ICP) scoring for any company using a combination of Explorium data and an LLM-driven evaluation framework. Input: Company name is submitted via form. Data Enrichment: Explorium's MCP Server is used to fetch firmographic, hiring,…
Source: https://n8n.io/workflows/6063/ — 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 n8n workflow automatically generates professionally formatted Word documents (DOCX) with consistent company branding using AI. It leverages Json2Doc and the Json2Doc MCP server to transform simpl
This workflow is designed for ecommerce brands, marketers, agencies, and content teams who want to generate static product ads faster from minimal product input.
pd_automacao_n8n_fluxo_principal. Uses formTrigger, stopAndError, agent, lmChatGroq. Event-driven trigger; 27 nodes.
Transform your landing page audits into a powerful lead generation machine with this professional n8n workflow powered by 4 specialized AI agents.
Content creators, marketers, and social media managers who want to turn high-performing YouTube videos into viral X (Twitter) threads using keywords (without manual research). Perfect for anyone looki