AutomationFlowsAI & RAG › Categorize and Track Company Emails with Openrouter AI and Google Sheets

Categorize and Track Company Emails with Openrouter AI and Google Sheets

ByArchit Jain @architjn on n8n.io

How it works Watches inbox for new emails via IMAP. Fetches existing categories and requests from Google Sheets. Uses AI to analyze subject and body, then assigns a category and request type. Checks if the same category/request already exists in the sheet. If found, increments…

Manual trigger★★★★☆ complexityAI-powered10 nodesEmail Read ImapGoogle SheetsAgentOpenRouter ChatOutput Parser Structured
AI & RAG Trigger: Manual Nodes: 10 Complexity: ★★★★☆ AI nodes: yes Added:

This workflow corresponds to n8n.io template #7474 — 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": "qe52pIYq3o37sFft",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Email Summariser",
  "tags": [],
  "nodes": [
    {
      "id": "a021c340-eef0-4a3c-8df0-f8cd6e68ecfa",
      "name": "Email Trigger (IMAP)",
      "type": "n8n-nodes-base.emailReadImap",
      "position": [
        0,
        0
      ],
      "parameters": {},
      "typeVersion": 2.1
    },
    {
      "id": "3b6077d0-c6f7-4042-bd92-4cbb527c59a4",
      "name": "Get row(s) in sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        224,
        0
      ],
      "parameters": {},
      "typeVersion": 4.6,
      "alwaysOutputData": true
    },
    {
      "id": "1783b0f3-a0b6-4b35-87ef-c4d68b9d4a47",
      "name": "AI Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        448,
        0
      ],
      "parameters": {},
      "executeOnce": true,
      "typeVersion": 2.1
    },
    {
      "id": "5e070553-76aa-44f0-8c46-e0e123e8b9a7",
      "name": "Find Category",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        848,
        0
      ],
      "parameters": {},
      "typeVersion": 4.6,
      "alwaysOutputData": true
    },
    {
      "id": "b7364f49-c255-447c-b72d-47109c60a142",
      "name": "If",
      "type": "n8n-nodes-base.if",
      "position": [
        1072,
        0
      ],
      "parameters": {},
      "typeVersion": 2.2
    },
    {
      "id": "d1543da0-190c-40a1-8898-64dbbe2a5a1d",
      "name": "Edit Fields",
      "type": "n8n-nodes-base.set",
      "position": [
        1296,
        -96
      ],
      "parameters": {},
      "typeVersion": 3.4
    },
    {
      "id": "2f4f885a-37fc-41e9-b128-edb50fdb3450",
      "name": "Update Request Count",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1520,
        -96
      ],
      "parameters": {},
      "typeVersion": 4.6
    },
    {
      "id": "9e707831-5249-4995-b5f1-9d84842b46ac",
      "name": "Append row in sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1296,
        96
      ],
      "parameters": {},
      "typeVersion": 4.6
    },
    {
      "id": "e0651f0d-9045-42a9-8983-7b20578d600b",
      "name": "oAI OSS",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
      "position": [
        416,
        224
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "9d51f552-3d31-4f71-82b7-dca150e65c94",
      "name": "Category & Request",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        688,
        224
      ],
      "parameters": {},
      "typeVersion": 1.3
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "d7a7c964-d0b3-4dd9-a8c0-dfbb494baae2",
  "connections": {
    "If": {
      "main": [
        [
          {
            "node": "Edit Fields",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Append row in sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "oAI OSS": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "AI Agent": {
      "main": [
        [
          {
            "node": "Find Category",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit Fields": {
      "main": [
        [
          {
            "node": "Update Request Count",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Find Category": {
      "main": [
        [
          {
            "node": "If",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Category & Request": {
      "ai_outputParser": [
        [
          {
            "node": "AI Agent",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Get row(s) in sheet": {
      "main": [
        [
          {
            "node": "AI Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Email Trigger (IMAP)": {
      "main": [
        [
          {
            "node": "Get row(s) in sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Pro

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

About this workflow

How it works Watches inbox for new emails via IMAP. Fetches existing categories and requests from Google Sheets. Uses AI to analyze subject and body, then assigns a category and request type. Checks if the same category/request already exists in the sheet. If found, increments…

Source: https://n8n.io/workflows/7474/ — 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 workflow automates the process of analyzing emails and their attachments (PDFs and images) using AI models (DeepSeek, Gemini, and OpenRouter). It extracts and summarizes the content of emails and

Email Read Imap, OpenAI Chat, Chain Summarization +7
AI & RAG

This comprehensive workflow automates the complete financial document processing pipeline using AI. Upload invoices via chat, drop expense receipts into a folder, or add bank statements - the system a

Chat Trigger, HTTP Request, Google Sheets +8
AI & RAG

This workflow transforms your Telegram bot into an intelligent creative assistant. It can chat conversationally, fetch trending image prompts from PromptHero for inspiration, or perform a deep "remix"

Telegram Trigger, Output Parser Structured, Telegram +6
AI & RAG

leads. Uses supabase, gmail, formTrigger, httpRequest. Webhook trigger; 62 nodes.

Supabase, Gmail, Form Trigger +13
AI & RAG

This n8n workflow turns a script and character/setting description from Google Sheets into a complete stitched UGC-style video ad, fully automated from intake to final delivery.

Google Sheets, HTTP Request, OpenRouter Chat +7