AutomationFlowsAI & RAG › Enrich Company Firmographic Data in Google Sheets with Explorium Mcp

Enrich Company Firmographic Data in Google Sheets with Explorium Mcp

Byexplorium @explorium on n8n.io

Google Sheets Company Enrichment with Explorium MCP

Event trigger★★★★☆ complexityAI-powered12 nodesGoogle Sheets TriggerAgentAnthropic ChatGoogle SheetsOutput Parser StructuredMcp Client Tool
AI & RAG Trigger: Event Nodes: 12 Complexity: ★★★★☆ AI nodes: yes Added:

This workflow corresponds to n8n.io template #4835 — we link there as the canonical source.

This workflow follows the Agent → Google Sheets 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 →

Download .json
{
  "id": "wPoAbM9MyEUmG20lcRWLB",
  "name": "Enrich Company Firmographic Data in Google Sheets with Explorium MCP",
  "tags": [],
  "nodes": [
    {
      "id": "e88652cf-cf09-4799-b664-45af4e314e83",
      "name": "Google Sheets Trigger",
      "type": "n8n-nodes-base.googleSheetsTrigger",
      "position": [
        -704,
        124
      ],
      "parameters": {
        "options": {},
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        },
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1bAMUxQ2UCU_rd1khEkNZ0RKqmBzal7eKk90-AnVScQE/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1bAMUxQ2UCU_rd1khEkNZ0RKqmBzal7eKk90-AnVScQE",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1bAMUxQ2UCU_rd1khEkNZ0RKqmBzal7eKk90-AnVScQE/edit?usp=drivesdk",
          "cachedResultName": "n8n test"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "04290361-ad81-4f1a-b267-3d707f8cd253",
      "name": "Filter Valid Rows",
      "type": "n8n-nodes-base.if",
      "position": [
        -480,
        124
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 1,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "8c7d5b8a-4569-4c8f-b5e8-6c5f5e5c5e5c",
              "operator": {
                "type": "string",
                "operation": "notEmpty"
              },
              "leftValue": "={{ $json.name }}",
              "rightValue": ""
            },
            {
              "id": "9d8e6c9b-5670-5d9f-c6f9-7d6g6f6d6f6d",
              "operator": {
                "type": "string",
                "operation": "notEmpty"
              },
              "leftValue": "={{ $json.website }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2
    },
    {
      "id": "8bf68e42-a28c-4769-9e33-e0633668a1d9",
      "name": "Loop Over Items",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        -256,
        124
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "625db31b-0236-4897-9ddd-6aba1c5672bf",
      "name": "AI Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        24,
        0
      ],
      "parameters": {
        "text": "=You will be provided with company information including:\n\nName: {{ $json.name }}\nDomain: {{ $json.website }}\n\nYour task is to research and extract the following key business metrics for this company:\nRequired Data Points:\n- Name (keep the same as provided)\n- Website (keep the same as provided)\n- Annual revenue (as business_id first, then get the range)\n- Number of employees (range)\n- NAICS code\n\nUse the Explorium tools to:\n1. First use match-business to find the business ID\n2. Then use enrich-businesses-firmographics to get the company details\n\nReturn the data exactly in this format.",
        "options": {},
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 1.6
    },
    {
      "id": "225f4f5d-fe00-4747-9181-a9ac4dcb1aa8",
      "name": "Anthropic Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
      "position": [
        -32,
        224
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "claude-sonnet-4-5-20250929",
          "cachedResultName": "Claude Sonnet 4.5"
        },
        "options": {}
      },
      "credentials": {
        "anthropicApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "0bab3c6b-51ad-44d5-8f48-f4108eeb6b54",
      "name": "Code - Format Output",
      "type": "n8n-nodes-base.code",
      "position": [
        432,
        0
      ],
      "parameters": {
        "jsCode": "// Simply pass through the AI output with proper formatting\nreturn {\n  name: $json.output.name || $json.name,\n  website: $json.output.website || $json.website,\n  business_id: $json.output.business_id || '',\n  naics: $json.output.naics || '',\n  number_of_employees_range: $json.output.number_of_employees_range || '',\n  yearly_revenue_range: $json.output.yearly_revenue_range || ''\n};"
      },
      "typeVersion": 2
    },
    {
      "id": "a76dbb00-24de-4cf2-b5ef-35839b7e68b3",
      "name": "Update Company Row",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        656,
        124
      ],
      "parameters": {
        "columns": {
          "value": {},
          "schema": [
            {
              "id": "name",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "website",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "website",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "business_id",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "business_id",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "naics",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "naics",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "number_of_employees_range",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "number_of_employees_range",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "yearly_revenue_range",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "yearly_revenue_range",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "autoMapInputData",
          "matchingColumns": [
            "name"
          ]
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1bAMUxQ2UCU_rd1khEkNZ0RKqmBzal7eKk90-AnVScQE/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1bAMUxQ2UCU_rd1khEkNZ0RKqmBzal7eKk90-AnVScQE",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1bAMUxQ2UCU_rd1khEkNZ0RKqmBzal7eKk90-AnVScQE/edit?usp=drivesdk",
          "cachedResultName": "n8n test"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "09191cb1-d819-4cd0-b0c1-01d6d4124b31",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -704,
        400
      ],
      "parameters": {
        "color": 5,
        "width": 460,
        "height": 280,
        "content": "# Enrich Company Data from Google Sheets with Explorium MCP\n\nThis workflow automatically enriches company data when new rows are added or when the name/website fields are updated in your Google Sheet."
      },
      "typeVersion": 1
    },
    {
      "id": "6190f78e-7d44-496d-9596-088fdca13584",
      "name": "Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        224,
        224
      ],
      "parameters": {
        "jsonSchemaExample": "{\n    \"name\": \"Microsoft Corporation\",\n    \"website\": \"https://www.microsoft.com\",\n    \"business_id\": \"a34bacf839b923770b2c360eefa26748\",\n    \"naics\": \"511210\",\n    \"number_of_employees_range\": \"10001+\",\n    \"yearly_revenue_range\": \"100B-1T\"\n}"
      },
      "typeVersion": 1.2
    },
    {
      "id": "d9e5f0fb-e66f-47a3-b0e0-92df54eb9450",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -208,
        400
      ],
      "parameters": {
        "width": 460,
        "height": 280,
        "content": "### Workflow Structure:\n\n**Google Sheets Trigger** \u2192 **Filter Valid Rows** \u2192 **Loop Over Items**\n                                                          \u2193\n                                                      **AI Agent**\n                                                           \u2193\n                                                   **Code - Format Output**\n                                                           \u2193\n                                                   **Update Company Row**\n                                                           \u2193\n                                                   (back to Loop Over Items)"
      },
      "typeVersion": 1
    },
    {
      "id": "ffc1473a-158f-4d0e-831e-32f172701d60",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        304,
        400
      ],
      "parameters": {
        "color": 4,
        "width": 460,
        "height": 460,
        "content": "### How the Loop Works:\n1. Loop Over Items splits the batch (size 1)\n2. Sends one item to AI Agent\n3. AI Agent enriches the data\n4. Code formats the output\n5. Google Sheets updates the row\n6. Flow returns to Loop Over Items for next item\n7. When all items are processed, loop ends\n\n### Key Points:\n- Each row is processed individually\n- The loop continues until all rows are done\n- Failed enrichments won't stop other rows\n\n### Testing:\n1. Add multiple rows with company names and websites\n2. Trigger the workflow\n3. Watch each row get processed sequentially\n4. All rows should be updated with enriched data"
      },
      "typeVersion": 1
    },
    {
      "id": "13f5c31b-be3b-4a09-b983-f33de15c4c2f",
      "name": "MCP Client",
      "type": "@n8n/n8n-nodes-langchain.mcpClientTool",
      "position": [
        96,
        224
      ],
      "parameters": {
        "options": {},
        "endpointUrl": "https://mcp-n8n.explorium.ai/mcp",
        "authentication": "headerAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "",
  "connections": {
    "AI Agent": {
      "main": [
        [
          {
            "node": "Code - Format Output",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "MCP Client": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "AI Agent",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [],
        [
          {
            "node": "AI Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter Valid Rows": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Update Company Row": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Anthropic Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Code - Format Output": {
      "main": [
        [
          {
            "node": "Update Company Row",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets Trigger": {
      "main": [
        [
          {
            "node": "Filter Valid Rows",
            "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.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Google Sheets Company Enrichment with Explorium MCP

Source: https://n8n.io/workflows/4835/ — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

This template enables natural-language-driven automation using Bright Data's MCP tools, triggered directly by new leads in HubSpot. It dynamically extracts and executes the right tool based on lead co

Google Sheets Trigger, Output Parser Structured, Output Parser Autofixing +7
AI & RAG

This n8n workflow automates company research by combining Explorium’s MCP server, web scraping tools, and an AI agent. Results are written to a Google Sheet for easy use in GTM, product analysis, or c

Tool Workflow, Output Parser Structured, Google Sheets +3
AI & RAG

This automation is designed to help you generate AI-powered music tracks, cover art, and fully rendered music videos — all triggered from a simple Telegram chat and managed via Google Sheets.

OpenAI Chat, Memory Buffer Window, Output Parser Structured +11
AI & RAG

This workflow is designed for marketers, content creators, agencies, and solo founders who want to publish long‑form posts with visuals on autopilot using n8n and AI agents. ​

Tool Http Request, Agent, HTTP Request +27
AI & RAG

Automated Book Generation System. Uses googleSheetsTrigger, gmail, lmChatOpenAi, outputParserStructured. Event-driven trigger; 43 nodes.

Google Sheets Trigger, Gmail, OpenAI Chat +6