{"workflow":{"id":13903,"name":"Filter and label Gmail emails using keyword-based rules and Google Sheets logging","views":403,"recentViews":3,"totalViews":403,"createdAt":"2026-03-05T23:14:48.663Z","description":"## This workflow automatically filters and organizes incoming Gmail emails using keyword-based classification. \n\nThe goal is to reduce inbox noise and automatically organize repetitive types of emails so that imprtant messages remain visible while unsolicited or promotional emails are handled automatically.\n\n## How it works\n\n- When a new email arrives in Gmail, the workflow is triggered and retrieves the full email content. \n- It then analyzes the subject line and email snippet for keywords commonly associated with different types of emails.\n- Based on this analysis, the workflow classifies the message into one of several categories and performs actions such as applying Gmail labels, marking the email as read, or removing it from the inbox.\n\nThis allows you to automatically separate unsolicited outreach, marketing emails, and legitimate communication without manually reviewing every message.\n\n## How to use\n- The workflow will be triggered each time a new email comes in. However, you can change the trigger based on your own needs.\n- The email categories can be changed and adjusted to your own needs as well.\n- Make sure to follow the sticky notes in the workflow to set up your Gmail labels before starting to build the workflow.\n\n## Requirement:\n- Gmail connection\n- Optional: Google sheet connection\n\n## Customizing this workflow:\nChange the email categories based on your real-life needs and if you don't need to google sheet for logging and debugging purposes, feel free to omit them. ","workflow":{"id":"76EjZq8dvntzQ5wu","meta":{"instanceId":"7f67e27f63973461f40cf8c207e3492ef81ce3a5d19fb82a472d9d572f690e3d"},"name":"Smart Email Filtering System (using keywords)","tags":[{"id":"tA4sFR87A6qRJIoY","name":"Email Filtering","createdAt":"2026-03-05T22:03:32.067Z","updatedAt":"2026-03-05T22:03:32.067Z"}],"nodes":[{"id":"03449484-6387-4f40-9af0-c8c0bdf1822e","name":"Extract Email Data","type":"n8n-nodes-base.set","position":[-656,112],"parameters":{"options":{},"assignments":{"assignments":[{"id":"email_content","name":"email_content","type":"string","value":"={{ $json.subject + ' ' + $json.text }}"},{"id":"ae4a7020-91b7-4bff-8095-dfc02c84d697","name":"sender_email","type":"string","value":"={{ $json.from.value[0].address }}"},{"id":"a37859f3-0655-4dfc-875f-e6a3587df67a","name":"sender_name","type":"string","value":"={{ $json.from.value[0].name || 'Unknown' }}"},{"id":"message_id","name":"message_id","type":"string","value":"={{ $json.id }}"},{"id":"fcc66569-210c-49ca-a71c-7f4d08c225d9","name":"Subject","type":"string","value":"={{ $json.subject }}"}]}},"executeOnce":true,"typeVersion":3.3,"alwaysOutputData":true},{"id":"179d0ac6-8492-43e5-834b-cf5c0439a739","name":"Analyze Email Content","type":"n8n-nodes-base.code","position":[-448,112],"parameters":{"jsCode":"// TRUSTED DOMAINS - These ALWAYS get classified as legitimate\nconst TRUSTED_DOMAINS = [\n  'stripe.com', 'paypal.com', 'quickbooks.com', 'squareup.com', 'intuit.com',\n  'bill.com', 'plastiq.com', 'xero.com', 'freshbooks.com', 'waveapps.com',\n  'expensify.com', 'bench.co', 'shopify.com', 'amazon.com', 'ebay.com',\n  'etsy.com', 'bigcommerce.com', 'woocommerce.com', 'bankofamerica.com',\n  'chase.com', 'wellsfargo.com', 'usbank.com', 'capitalone.com',\n  'americanexpress.com', 'citibank.com', 'truist.com', 'okta.com',\n  'duosecurity.com', 'authy.com', 'onelogin.com', 'lastpass.com',\n  '1password.com', 'notion.so', 'gusto.com', 'zenefits.com',\n  'justworks.com', 'paychex.com', 'adp.com', 'tri-net.com',\n  'rippling.com', 'ups.com', 'fedex.com', 'usps.com', 'shipstation.com',\n  'easypost.com', 'dropbox.com', 'box.com', 'atlassian.com',\n  'slack.com', 'zoom.us', 'microsoft.com', 'google.com',\n  'docusign.net', 'hellosign.com', 'hubspotusercontent00.net'\n];\n\n// LEGITIMATE INDICATORS - Patterns that suggest legitimate emails\nconst LEGITIMATE_PATTERNS = [\n  'invoice', 'receipt', 'payment', 'billing', 'account',\n  'security alert', 'password', 'verification', 'confirm',\n  'order confirmation', 'shipping', 'delivery', 'support ticket',\n  'customer service', 'help desk', 'technical support'\n];\n\n// Cold outreach detection keywords (existing)\nconst coldKeywords = [\n  'boost your leads', 'white label', 'book a quick call',\n  'partnership opportunity', 'increase your revenue', 'grow your business',\n  'I noticed your website', 'schedule a brief call', 'quick question',\n  'following up', 'lead generation', 'marketing services',\n  'SEO services', 'web design', 'digital marketing', 'outreach',\n  'sales funnel', 'conversion optimization', 'traffic generation',\n  'business development', 'collaboration opportunity', 'mutual benefit',\n  'leverage', 'scale your business', 'competitive advantage',\n  'free consultation', 'free audit', 'free trial', 'no obligation',\n  'proven results', 'case study', 'success story', 'expertise',\n  'transform', 'optimize', 'maximize', 'accelerate', 'streamline'\n];\n\n// Sales tool domains (existing)\nconst salesToolDomains = [\n  'outreach.io', 'salesforce.com', 'hubspot.com', 'mailchimp.com',\n  'apollo.io', 'lemlist.com', 'reply.io', 'salesloft.com',\n  'mixmax.com', 'yesware.com', 'constantcontact.com'\n];\n\n// NEEDS REVIEW INDICATORS - Patterns that suggest AI-generated manipulation\nconst NEEDS_REVIEW_INDICATORS = [\n  // Artificial familiarity patterns\n  'I came across your', 'I noticed your company', 'I saw your recent',\n  'I found your contact', 'I was looking at your', 'I stumbled upon',\n  'caught my attention', 'impressed by your', 'admire your work',\n  \n  // Soft sales with fake personalization\n  'thought you might be interested', 'this might be relevant',\n  'could be valuable for', 'might help with', 'could benefit from',\n  'worth exploring', 'potential fit', 'makes sense for',\n  \n  // Urgency + softness combo\n  'quick favor', 'brief moment', 'short call', 'few minutes',\n  'when you have time', 'at your convenience', 'no pressure',\n  \n  // Generic + specific manipulation\n  'based on your industry', 'companies like yours', 'similar businesses',\n  'your specific needs', 'tailored solution', 'customized approach'\n];\n\n// Get email content and sender\nconst emailContent = $input.first().json.email_content.toLowerCase();\nconst senderEmail = $input.first().json.sender_email.toLowerCase();\nconst senderName = $input.first().json.sender_name || '';\nconst messageId = $input.first().json.message_id;\n\n// Extract domain from sender email\nconst senderDomain = senderEmail.split('@')[1] || '';\n\n// WHITELIST CHECK - Highest priority\nlet isFromTrustedDomain = false;\nfor (const domain of TRUSTED_DOMAINS) {\n  if (senderDomain.includes(domain.toLowerCase())) {\n    isFromTrustedDomain = true;\n    break;\n  }\n}\n\n// If from trusted domain, immediately classify as legitimate\nif (isFromTrustedDomain) {\n  return {\n    json: {\n      message_id: messageId,\n      email_type: 'legitimate',\n      confidence: 95,\n      classification_reason: 'trusted_domain',\n      found_keywords: [],\n      sales_tool_detected: false,\n      has_unsubscribe: false,\n      sender_email: senderEmail,\n      sender_domain: senderDomain,\n      analysis_timestamp: new Date().toISOString()\n    }\n  };\n}\n\n// Check for legitimate patterns\nlet legitimateScore = 0;\nlet foundLegitimatePatterns = [];\nfor (const pattern of LEGITIMATE_PATTERNS) {\n  if (emailContent.includes(pattern.toLowerCase())) {\n    legitimateScore += 15;\n    foundLegitimatePatterns.push(pattern);\n  }\n}\n\n// Check for cold outreach keywords\nlet foundKeywords = [];\nfor (const keyword of coldKeywords) {\n  if (emailContent.includes(keyword.toLowerCase())) {\n    foundKeywords.push(keyword);\n  }\n}\n\n// Check for sales tool domains\nlet salesToolDetected = false;\nfor (const domain of salesToolDomains) {\n  if (senderEmail.includes(domain)) {\n    salesToolDetected = true;\n    break;\n  }\n}\n\n// Check for needs review indicators\nlet reviewScore = 0;\nlet foundReviewIndicators = [];\nfor (const indicator of NEEDS_REVIEW_INDICATORS) {\n  if (emailContent.includes(indicator.toLowerCase())) {\n    reviewScore += 8;\n    foundReviewIndicators.push(indicator);\n  }\n}\n\n// Check for excessive personalization (manipulation tactic)\nconst nameCount = (emailContent.match(new RegExp(senderName.toLowerCase(), 'g')) || []).length;\nif (nameCount >= 3) {\n  reviewScore += 15;\n  foundReviewIndicators.push('excessive_name_usage');\n}\n\n// Check for unsubscribe links (marketing emails)\nconst hasUnsubscribe = emailContent.includes('unsubscribe') || \n                      emailContent.includes('opt out') || \n                      emailContent.includes('remove me') ||\n                      emailContent.includes('manage preferences') ||\n                      emailContent.includes('stop receiving') ||\n                      emailContent.includes('email preferences');\n\n// CLASSIFICATION LOGIC\nlet emailType = 'legitimate';\nlet confidence = legitimateScore;\nlet classificationReason = 'default';\n\n// Marketing emails - Check FIRST after trusted domains\nif (hasUnsubscribe && foundKeywords.length <= 1) {\n  emailType = 'marketing';\n  confidence = 40;\n  classificationReason = 'marketing_unsubscribe';\n}\n// High confidence cold outreach\nelse if (foundKeywords.length >= 2 || salesToolDetected) {\n  emailType = 'cold_outreach';\n  confidence = foundKeywords.length * 10 + (salesToolDetected ? 30 : 0);\n  classificationReason = 'cold_outreach_detected';\n}\n// Needs review - suspicious but not obvious cold outreach\nelse if (reviewScore >= 30 && foundKeywords.length <= 1 && legitimateScore < 15) {\n  emailType = 'needs_review';\n  confidence = reviewScore;\n  classificationReason = 'manipulation_indicators';\n}\n// Legitimate with strong indicators\nelse if (legitimateScore >= 15) {\n  emailType = 'legitimate';\n  confidence = legitimateScore;\n  classificationReason = 'legitimate_patterns';\n}\n// Default to legitimate if no strong indicators either way\nelse {\n  emailType = 'legitimate';\n  confidence = 20;\n  classificationReason = 'default_legitimate';\n}\n\n// Return analysis results\nreturn {\n  json: {\n    message_id: messageId,\n    email_type: emailType,\n    confidence: confidence,\n    classification_reason: classificationReason,\n    found_keywords: foundKeywords,\n    found_legitimate_patterns: foundLegitimatePatterns,\n    found_review_indicators: foundReviewIndicators,\n    sales_tool_detected: salesToolDetected,\n    has_unsubscribe: hasUnsubscribe,\n    sender_email: senderEmail,\n    sender_domain: senderDomain,\n    legitimate_score: legitimateScore,\n    review_score: reviewScore,\n    analysis_timestamp: new Date().toISOString()\n  }\n};"},"typeVersion":2},{"id":"a1a5a7ed-c90b-4f75-8d1a-3ea78372cc20","name":"Label as Outreach","type":"n8n-nodes-base.gmail","position":[0,0],"webhookId":"e364a866-1fc4-4b82-8105-5de0a771dcd3","parameters":{"labelIds":["Label_1684442270786871755"],"messageId":"={{ $json.message_id }}","operation":"addLabels"},"typeVersion":2},{"id":"bc8a106d-300b-44b7-b8bd-219c9b0bf26c","name":"Remove from Inbox","type":"n8n-nodes-base.gmail","position":[224,0],"webhookId":"18eb78cf-b33d-4d50-9697-41f100a999f4","parameters":{"labelIds":["INBOX"],"messageId":"={{ $json.id }}","operation":"removeLabels"},"typeVersion":2},{"id":"cacc4443-e5ab-4ff6-96f8-b17283bd711a","name":"Mark as Read","type":"n8n-nodes-base.gmail","position":[448,0],"webhookId":"1b7bd453-2242-43ea-b4d7-09fcb422a3ca","parameters":{"messageId":"={{ $json.id }}","operation":"markAsRead"},"typeVersion":2},{"id":"d21174b5-d5c4-44f6-85a4-f6b5b08ca357","name":"Check if Marketing","type":"n8n-nodes-base.if","position":[64,544],"parameters":{"options":{},"conditions":{"options":{"version":1,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"marketing_condition","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.email_type }}","rightValue":"marketing"}]}},"typeVersion":2},{"id":"c2bc918a-73f4-479e-9f21-a648b8631819","name":"Label as Legitimate","type":"n8n-nodes-base.gmail","position":[352,720],"webhookId":"710454ff-12d5-4fc5-be81-5a788eb45346","parameters":{"labelIds":["Label_9187111232+1234567890"],"messageId":"={{ $json.message_id }}","operation":"addLabels"},"typeVersion":2},{"id":"801a1be0-171e-4304-886c-dc8ed2f4f39e","name":"Gmail Trigger","type":"n8n-nodes-base.gmailTrigger","position":[-1056,112],"parameters":{"filters":{},"pollTimes":{"item":[{"mode":"everyMinute"}]}},"typeVersion":1.2},{"id":"b0e4bdb8-cb9f-49f9-a2c9-32135c4c7183","name":"Get a message","type":"n8n-nodes-base.gmail","position":[-864,112],"webhookId":"a1071750-4abe-4990-94a7-ea9f9b6b9e3e","parameters":{"simple":false,"options":{},"messageId":"={{ $json.id }}","operation":"get"},"typeVersion":2.1},{"id":"1e1eb89b-aa0c-4939-ad4f-713059830b29","name":"Check if Needs_review","type":"n8n-nodes-base.if","position":[-176,368],"parameters":{"options":{},"conditions":{"options":{"version":1,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"marketing_condition","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.email_type }}","rightValue":"needs_review"}]}},"typeVersion":2},{"id":"11c3f86c-03ca-47af-9b85-7e05459eedce","name":"Label as Needs Review","type":"n8n-nodes-base.gmail","position":[80,304],"webhookId":"d144f99e-0f9d-4330-9cf2-784c47c24215","parameters":{"labelIds":["Label_221566828550691632"],"messageId":"={{ $json.message_id }}","operation":"addLabels"},"typeVersion":2},{"id":"ed1ec15e-5d31-4a00-a463-1fef1245df25","name":"Check If Cold Outreach","type":"n8n-nodes-base.if","position":[-224,112],"parameters":{"options":{},"conditions":{"options":{"version":1,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"cold_outreach_condition","operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.email_type }}","rightValue":"cold_outreach"}]}},"typeVersion":2},{"id":"0fc883f1-ed7b-432d-9aab-7848ad84594b","name":"Edit Fields (outreach)","type":"n8n-nodes-base.set","position":[672,0],"parameters":{"options":{},"assignments":{"assignments":[{"id":"0e19a6df-4afd-4ee7-8276-00ca6dfd4978","name":"analysis_timestamp","type":"string","value":"={{ $('Analyze Email Content').first().json.analysis_timestamp }}"},{"id":"a88dcad7-9361-4060-a40a-49f061508872","name":"message_id","type":"string","value":"={{ $('Analyze Email Content').first().json.message_id }}"},{"id":"923ed8d5-f75e-4bb4-a2e2-ef96800303ef","name":"sender_email","type":"string","value":"={{ $('Analyze Email Content').first().json.sender_email }}"},{"id":"a300d4e9-d99e-40c7-aa99-60283b1abbe5","name":"sender_name","type":"string","value":"={{ $('Extract Email Data').first().json.sender_name }}"},{"id":"1bbf7f8f-f045-48d8-8c14-972d51076e17","name":"subject","type":"string","value":"={{ $('Extract Email Data').first().json.Subject }}"},{"id":"35da8cf5-11f7-4162-89b8-c51cee6e7d47","name":"email_type","type":"string","value":"={{ $('Analyze Email Content').first().json.email_type }}"},{"id":"96473dbf-f401-40a8-83a3-803ff362ed40","name":"confidence","type":"string","value":"={{ $('Analyze Email Content').first().json.confidence }}"},{"id":"00f80c92-0aa5-4b30-b4e7-d86ca2fd219f","name":"keywords_found","type":"string","value":"={{ $('Analyze Email Content').first().json.found_keywords.join(', ') }}"}]}},"typeVersion":3.4},{"id":"6f7e573d-0043-4a27-8ee1-0496bbf2f0d7","name":"Edit Fields (needs review)","type":"n8n-nodes-base.set","position":[320,272],"parameters":{"options":{},"assignments":{"assignments":[{"id":"0e19a6df-4afd-4ee7-8276-00ca6dfd4978","name":"analysis_timestamp","type":"string","value":"={{ $('Analyze Email Content').first().json.analysis_timestamp }}"},{"id":"a88dcad7-9361-4060-a40a-49f061508872","name":"message_id","type":"string","value":"={{ $('Analyze Email Content').first().json.message_id }}"},{"id":"923ed8d5-f75e-4bb4-a2e2-ef96800303ef","name":"sender_email","type":"string","value":"={{ $('Analyze Email Content').first().json.sender_email }}"},{"id":"a300d4e9-d99e-40c7-aa99-60283b1abbe5","name":"sender_name","type":"string","value":"={{ $('Extract Email Data').first().json.sender_name }}"},{"id":"1bbf7f8f-f045-48d8-8c14-972d51076e17","name":"subject","type":"string","value":"={{ $('Extract Email Data').first().json.Subject }}"},{"id":"35da8cf5-11f7-4162-89b8-c51cee6e7d47","name":"email_type","type":"string","value":"={{ $('Analyze Email Content').first().json.email_type }}"},{"id":"96473dbf-f401-40a8-83a3-803ff362ed40","name":"confidence","type":"string","value":"={{ $('Analyze Email Content').first().json.confidence }}"},{"id":"00f80c92-0aa5-4b30-b4e7-d86ca2fd219f","name":"keywords_found","type":"string","value":"={{ $('Analyze Email Content').first().json.found_keywords.join(', ') }}"}]}},"typeVersion":3.4},{"id":"d1c83d0c-7eb0-43c5-a860-ebd331d9e3ee","name":"Edit Fields (marketing)","type":"n8n-nodes-base.set","position":[624,464],"parameters":{"options":{},"assignments":{"assignments":[{"id":"0e19a6df-4afd-4ee7-8276-00ca6dfd4978","name":"analysis_timestamp","type":"string","value":"={{ $('Analyze Email Content').first().json.analysis_timestamp }}"},{"id":"a88dcad7-9361-4060-a40a-49f061508872","name":"message_id","type":"string","value":"={{ $('Analyze Email Content').first().json.message_id }}"},{"id":"923ed8d5-f75e-4bb4-a2e2-ef96800303ef","name":"sender_email","type":"string","value":"={{ $('Analyze Email Content').first().json.sender_email }}"},{"id":"a300d4e9-d99e-40c7-aa99-60283b1abbe5","name":"sender_name","type":"string","value":"={{ $('Extract Email Data').first().json.sender_name }}"},{"id":"1bbf7f8f-f045-48d8-8c14-972d51076e17","name":"subject","type":"string","value":"={{ $('Extract Email Data').first().json.Subject }}"},{"id":"35da8cf5-11f7-4162-89b8-c51cee6e7d47","name":"email_type","type":"string","value":"={{ $('Analyze Email Content').first().json.email_type }}"},{"id":"96473dbf-f401-40a8-83a3-803ff362ed40","name":"confidence","type":"string","value":"={{ $('Analyze Email Content').first().json.confidence }}"},{"id":"00f80c92-0aa5-4b30-b4e7-d86ca2fd219f","name":"keywords_found","type":"string","value":"={{ $('Analyze Email Content').first().json.found_keywords.join(', ') }}"}]}},"typeVersion":3.4},{"id":"527fdc6f-c77c-4a3f-9081-fecff667b793","name":"Edit Fields (Legitimate)","type":"n8n-nodes-base.set","position":[624,720],"parameters":{"options":{},"assignments":{"assignments":[{"id":"0e19a6df-4afd-4ee7-8276-00ca6dfd4978","name":"analysis_timestamp","type":"string","value":"={{ $('Analyze Email Content').first().json.analysis_timestamp }}"},{"id":"a88dcad7-9361-4060-a40a-49f061508872","name":"message_id","type":"string","value":"={{ $('Analyze Email Content').first().json.message_id }}"},{"id":"923ed8d5-f75e-4bb4-a2e2-ef96800303ef","name":"sender_email","type":"string","value":"={{ $('Analyze Email Content').first().json.sender_email }}"},{"id":"a300d4e9-d99e-40c7-aa99-60283b1abbe5","name":"sender_name","type":"string","value":"={{ $('Extract Email Data').first().json.sender_name }}"},{"id":"1bbf7f8f-f045-48d8-8c14-972d51076e17","name":"subject","type":"string","value":"={{ $('Extract Email Data').first().json.Subject }}"},{"id":"35da8cf5-11f7-4162-89b8-c51cee6e7d47","name":"email_type","type":"string","value":"={{ $('Analyze Email Content').first().json.email_type }}"},{"id":"96473dbf-f401-40a8-83a3-803ff362ed40","name":"confidence","type":"string","value":"={{ $('Analyze Email Content').first().json.confidence }}"},{"id":"00f80c92-0aa5-4b30-b4e7-d86ca2fd219f","name":"keywords_found","type":"string","value":"={{ $('Analyze Email Content').first().json.found_keywords.join(', ') }}"}]}},"typeVersion":3.4},{"id":"99d3da05-070a-4caa-9403-42f726c87c21","name":"Log to Spreadsheet (outreach)","type":"n8n-nodes-base.googleSheets","position":[912,0],"parameters":{"columns":{"value":{"subject":"={{ $json.subject }}","timestamp":"={{ $json.analysis_timestamp }}","confidence":"={{ $json.confidence }}","email_type":"={{ $json.email_type }}","message_id":"={{ $json.message_id }}","sender_name":"={{ $json.sender_name }}","sender_email":"={{ $json.sender_email }}","keywords_found":"={{ $json.keywords_found }}"},"schema":[{"id":"timestamp","type":"string","display":true,"removed":false,"required":false,"displayName":"timestamp","defaultMatch":false,"canBeUsedToMatch":true},{"id":"message_id","type":"string","display":true,"removed":false,"required":false,"displayName":"message_id","defaultMatch":false,"canBeUsedToMatch":true},{"id":"sender_email","type":"string","display":true,"removed":false,"required":false,"displayName":"sender_email","defaultMatch":false,"canBeUsedToMatch":true},{"id":"sender_name","type":"string","display":true,"removed":false,"required":false,"displayName":"sender_name","defaultMatch":false,"canBeUsedToMatch":true},{"id":"subject","type":"string","display":true,"removed":false,"required":false,"displayName":"subject","defaultMatch":false,"canBeUsedToMatch":true},{"id":"email_type","type":"string","display":true,"removed":false,"required":false,"displayName":"email_type","defaultMatch":false,"canBeUsedToMatch":true},{"id":"confidence","type":"string","display":true,"removed":false,"required":false,"displayName":"confidence","defaultMatch":false,"canBeUsedToMatch":true},{"id":"keywords_found","type":"string","display":true,"removed":false,"required":false,"displayName":"keywords_found","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"append","sheetName":{"__rl":true,"mode":"list","value":"gid=0","cachedResultUrl":"https://docs.google.com/spreadsheets/d/1zGITC9Zm6PFR-5KXFdcVrwafMRbzcX1OL_x3P1tjSqM/edit#gid=0","cachedResultName":"Sheet1"},"documentId":{"__rl":true,"mode":"id","value":""}},"typeVersion":4},{"id":"57b7a58a-ba34-414d-bc06-19a7c95ffad6","name":"Log to Spreadsheet (needs review)","type":"n8n-nodes-base.googleSheets","position":[592,272],"parameters":{"columns":{"value":{"subject":"={{ $json.subject }}","timestamp":"={{ $json.analysis_timestamp }}","confidence":"={{ $json.confidence }}","email_type":"={{ $json.email_type }}","message_id":"={{ $json.message_id }}","sender_name":"={{ $json.sender_name }}","sender_email":"={{ $json.sender_email }}","keywords_found":"={{ $json.keywords_found }}"},"schema":[{"id":"timestamp","type":"string","display":true,"removed":false,"required":false,"displayName":"timestamp","defaultMatch":false,"canBeUsedToMatch":true},{"id":"message_id","type":"string","display":true,"removed":false,"required":false,"displayName":"message_id","defaultMatch":false,"canBeUsedToMatch":true},{"id":"sender_email","type":"string","display":true,"removed":false,"required":false,"displayName":"sender_email","defaultMatch":false,"canBeUsedToMatch":true},{"id":"sender_name","type":"string","display":true,"removed":false,"required":false,"displayName":"sender_name","defaultMatch":false,"canBeUsedToMatch":true},{"id":"subject","type":"string","display":true,"removed":false,"required":false,"displayName":"subject","defaultMatch":false,"canBeUsedToMatch":true},{"id":"email_type","type":"string","display":true,"removed":false,"required":false,"displayName":"email_type","defaultMatch":false,"canBeUsedToMatch":true},{"id":"confidence","type":"string","display":true,"removed":false,"required":false,"displayName":"confidence","defaultMatch":false,"canBeUsedToMatch":true},{"id":"keywords_found","type":"string","display":true,"removed":false,"required":false,"displayName":"keywords_found","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"append","sheetName":{"__rl":true,"mode":"list","value":1826282113,"cachedResultUrl":"https://docs.google.com/spreadsheets/d/1wWOTOFFXB3xvT5TqV2v75V3T6B_B8uoY29LO5Pma3us/edit#gid=1826282113","cachedResultName":"Needs_review"},"documentId":{"__rl":true,"mode":"id","value":""}},"typeVersion":4},{"id":"246b4c41-7b53-4d7e-8f98-9bc4ae495f38","name":"Log to Spreadsheet (legitimate)","type":"n8n-nodes-base.googleSheets","position":[880,720],"parameters":{"columns":{"value":{"subject":"={{ $json.subject }}","timestamp":"={{ $json.analysis_timestamp }}","confidence":"={{ $json.confidence }}","email_type":"={{ $json.email_type }}","message_id":"={{ $json.message_id }}","sender_name":"={{ $json.sender_name }}","sender_email":"={{ $json.sender_email }}","keywords_found":"={{ $json.keywords_found }}"},"schema":[{"id":"timestamp","type":"string","display":true,"removed":false,"required":false,"displayName":"timestamp","defaultMatch":false,"canBeUsedToMatch":true},{"id":"message_id","type":"string","display":true,"removed":false,"required":false,"displayName":"message_id","defaultMatch":false,"canBeUsedToMatch":true},{"id":"sender_email","type":"string","display":true,"removed":false,"required":false,"displayName":"sender_email","defaultMatch":false,"canBeUsedToMatch":true},{"id":"sender_name","type":"string","display":true,"removed":false,"required":false,"displayName":"sender_name","defaultMatch":false,"canBeUsedToMatch":true},{"id":"subject","type":"string","display":true,"removed":false,"required":false,"displayName":"subject","defaultMatch":false,"canBeUsedToMatch":true},{"id":"email_type","type":"string","display":true,"removed":false,"required":false,"displayName":"email_type","defaultMatch":false,"canBeUsedToMatch":true},{"id":"confidence","type":"string","display":true,"removed":false,"required":false,"displayName":"confidence","defaultMatch":false,"canBeUsedToMatch":true},{"id":"keywords_found","type":"string","display":true,"removed":false,"required":false,"displayName":"keywords_found","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"append","sheetName":{"__rl":true,"mode":"list","value":1381922806,"cachedResultUrl":"https://docs.google.com/spreadsheets/d/1wWOTOFFXB3xvT5TqV2v75V3T6B_B8uoY29LO5Pma3us/edit#gid=1381922806","cachedResultName":"Legitimate"},"documentId":{"__rl":true,"mode":"id","value":""}},"typeVersion":4},{"id":"943c3f79-eab1-404c-b0a5-dd4445a12406","name":"Log to Spreadsheet (marketing/Ads)","type":"n8n-nodes-base.googleSheets","position":[880,464],"parameters":{"columns":{"value":{"subject":"={{ $json.subject }}","timestamp":"={{ $json.analysis_timestamp }}","confidence":"={{ $json.confidence }}","email_type":"={{ $json.email_type }}","message_id":"={{ $json.message_id }}","sender_name":"={{ $json.sender_name }}","sender_email":"={{ $json.sender_email }}","keywords_found":"={{ $json.keywords_found }}"},"schema":[{"id":"timestamp","type":"string","display":true,"removed":false,"required":false,"displayName":"timestamp","defaultMatch":false,"canBeUsedToMatch":true},{"id":"message_id","type":"string","display":true,"removed":false,"required":false,"displayName":"message_id","defaultMatch":false,"canBeUsedToMatch":true},{"id":"sender_email","type":"string","display":true,"removed":false,"required":false,"displayName":"sender_email","defaultMatch":false,"canBeUsedToMatch":true},{"id":"sender_name","type":"string","display":true,"removed":false,"required":false,"displayName":"sender_name","defaultMatch":false,"canBeUsedToMatch":true},{"id":"subject","type":"string","display":true,"removed":false,"required":false,"displayName":"subject","defaultMatch":false,"canBeUsedToMatch":true},{"id":"email_type","type":"string","display":true,"removed":false,"required":false,"displayName":"email_type","defaultMatch":false,"canBeUsedToMatch":true},{"id":"confidence","type":"string","display":true,"removed":false,"required":false,"displayName":"confidence","defaultMatch":false,"canBeUsedToMatch":true},{"id":"keywords_found","type":"string","display":true,"removed":false,"required":false,"displayName":"keywords_found","defaultMatch":false,"canBeUsedToMatch":true}],"mappingMode":"defineBelow","matchingColumns":[],"attemptToConvertTypes":false,"convertFieldsToString":false},"options":{},"operation":"append","sheetName":{"__rl":true,"mode":"list","value":626188348,"cachedResultUrl":"https://docs.google.com/spreadsheets/d/1wWOTOFFXB3xvT5TqV2v75V3T6B_B8uoY29LO5Pma3us/edit#gid=626188348","cachedResultName":"Marketing"},"documentId":{"__rl":true,"mode":"id","value":""}},"typeVersion":4},{"id":"41d96057-e17e-4327-9454-4c8cbaef6c18","name":"Label as Marketing/Ads","type":"n8n-nodes-base.gmail","position":[368,464],"webhookId":"d144f99e-0f9d-4330-9cf2-784c47c24215","parameters":{"labelIds":["Label_999978575131975706"],"messageId":"={{ $json.message_id }}","operation":"addLabels"},"typeVersion":2},{"id":"33d7e260-454d-4b28-8b63-c0185c711362","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[-1328,-480],"parameters":{"color":"#897070","width":400,"height":832,"content":"## Workflow Overview +Gmail Setup\n\nThis workflow automatically filters incoming Gmail emails using keyword detection.\n\nThe workflow analyzes the email subject and snippet to determine whether the email is likely:\n\n• Cold outreach\n• Marketing / promotional\n• Needs manual review\n• Legitimate communication\n\nBefore running the workflow, create the following Gmail labels:\n\nCold Outreach\nMarketing\nNeeds Review\nLegitimate\n\nYou can create these labels in Gmail by selecting \"Create new label\" in the left sidebar.\n\nThe Gmail trigger node listens for new incoming emails and starts the workflow whenever a message arrives."},"typeVersion":1},{"id":"7f900928-7caf-4852-8e0f-e3ffc10b2b02","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[-880,-432],"parameters":{"color":"#897070","width":576,"height":768,"content":"## Email Data Extraction and Analyze\n\nThese nodes retrieve the full Gmail message and analyze them.\n\nThe workflow extracts useful fields such as:\n\n• Sender email\n• Subject line\n• Email snippet\n• Timestamp\n\nThese values are then used in the filtering logic to determine the email category."},"typeVersion":1},{"id":"bf5395cc-46e7-4543-bb39-0f5ef4c02722","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[-720,544],"parameters":{"color":"#897070","width":576,"height":400,"content":"## Keyword Filtering Logic\n\nThis section checks the email subject and snippet for keywords commonly associated with:\n\nCold outreach:\nsales outreach, partnership opportunity, quick call, growth strategy, etc.\n\nMarketing emails:\nnewsletter, promotion, discount, marketing campaign, etc.\n\nIf the workflow detects these patterns, the email is classified accordingly.\n\nEmails that do not match clear patterns are sent to the \"Needs Review\" category.\n\nYou can customize these keyword lists to better match your inbox."},"typeVersion":1},{"id":"815d3736-f471-4d50-a83c-baded65a371f","name":"Sticky Note3","type":"n8n-nodes-base.stickyNote","position":[1248,-96],"parameters":{"color":"#897070","width":576,"height":544,"content":"##Email Actions and Optional Logging\n\nAfter classification, the workflow applies the appropriate Gmail label.\n\nActions performed:\n\n• Apply the label (Cold Outreach / Marketing / Needs Review / Legitimate)\n• Mark the email as read\n• Optionally remove it from the inbox\n\nOptional: Google Sheets logging\n\nThe workflow can log processed emails to Google Sheets to keep a record of:\n\n• timestamp\n• sender\n• subject\n• classification\n\nNote: make sure to make a google sheet in advance with those columns.\n\nYou can disable the logging node if you do not need this feature."},"typeVersion":1}],"active":false,"pinData":{},"settings":{"binaryMode":"separate","availableInMCP":false,"executionOrder":"v1"},"versionId":"85cf3b39-a9af-4eec-b505-c4cadf0c90a5","connections":{"Mark as Read":{"main":[[{"node":"Edit Fields (outreach)","type":"main","index":0}]]},"Get a message":{"main":[[{"node":"Extract Email Data","type":"main","index":0}]]},"Gmail Trigger":{"main":[[{"node":"Get a message","type":"main","index":0}]]},"Label as Outreach":{"main":[[{"node":"Remove from Inbox","type":"main","index":0}]]},"Remove from Inbox":{"main":[[{"node":"Mark as Read","type":"main","index":0}]]},"Check if Marketing":{"main":[[{"node":"Label as Marketing/Ads","type":"main","index":0}],[{"node":"Label as Legitimate","type":"main","index":0}]]},"Extract Email Data":{"main":[[{"node":"Analyze Email Content","type":"main","index":0}]]},"Label as Legitimate":{"main":[[{"node":"Edit Fields (Legitimate)","type":"main","index":0}]]},"Analyze Email Content":{"main":[[{"node":"Check If Cold Outreach","type":"main","index":0}]]},"Check if Needs_review":{"main":[[{"node":"Label as Needs Review","type":"main","index":0}],[{"node":"Check if Marketing","type":"main","index":0}]]},"Label as Needs Review":{"main":[[{"node":"Edit Fields (needs review)","type":"main","index":0}]]},"Check If Cold Outreach":{"main":[[{"node":"Label as Outreach","type":"main","index":0}],[{"node":"Check if Needs_review","type":"main","index":0}]]},"Edit Fields (outreach)":{"main":[[{"node":"Log to Spreadsheet (outreach)","type":"main","index":0}]]},"Label as Marketing/Ads":{"main":[[{"node":"Edit Fields (marketing)","type":"main","index":0}]]},"Edit Fields (marketing)":{"main":[[{"node":"Log to Spreadsheet (marketing/Ads)","type":"main","index":0}]]},"Edit Fields (Legitimate)":{"main":[[{"node":"Log to Spreadsheet (legitimate)","type":"main","index":0}]]},"Edit Fields (needs review)":{"main":[[{"node":"Log to Spreadsheet (needs review)","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":25,"nodeTypes":{"n8n-nodes-base.if":{"count":3},"n8n-nodes-base.set":{"count":5},"n8n-nodes-base.code":{"count":1},"n8n-nodes-base.gmail":{"count":7},"n8n-nodes-base.stickyNote":{"count":4},"n8n-nodes-base.gmailTrigger":{"count":1},"n8n-nodes-base.googleSheets":{"count":4}}},"status":"published","readyToDemo":null,"user":{"name":"Cole Hallgarth","username":"colehalltechsolutions","bio":"Automation engineer creating production-ready workflow templates with n8n.\n\nMy work focuses on building scalable automation systems that integrate AI models, APIs, CRMs, and SaaS platforms into unified workflows.\n\nI publish reusable automation templates designed to help founders, agencies, and operators deploy powerful automations quickly without building complex infrastructure from scratch.","verified":false,"links":["halltech.solutions"],"avatar":"https://gravatar.com/avatar/b23d68395adf68b5b6b384f8168a017d47754714f5600f22e2dbd59bbe4dbe0e?r=pg&d=retro&size=200"},"nodes":[{"id":18,"icon":"file:googleSheets.svg","name":"n8n-nodes-base.googleSheets","codex":{"data":{"alias":["CSV","Sheet","Spreadsheet","GS"],"resources":{"generic":[{"url":"https://n8n.io/blog/love-at-first-sight-ricardos-n8n-journey/","icon":"❤️","label":"Love at first sight: Ricardo’s n8n journey"},{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/","icon":"🧾","label":"Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"},{"url":"https://n8n.io/blog/supercharging-your-conference-registration-process-with-n8n/","icon":"🎫","label":"Supercharging your conference registration process with n8n"},{"url":"https://n8n.io/blog/creating-triggers-for-n8n-workflows-using-polling/","icon":"⏲","label":"Creating triggers for n8n workflows using polling"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/migrating-community-metrics-to-orbit-using-n8n/","icon":"📈","label":"Migrating Community Metrics to Orbit using n8n"},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/your-business-doesnt-need-you-to-operate/","icon":" 🖥️","label":"Hey founders! Your business doesn't need you to operate"},{"url":"https://n8n.io/blog/how-honest-burgers-use-automation-to-save-100k-per-year/","icon":"🍔","label":"How Honest Burgers Use Automation to Save $100k per year"},{"url":"https://n8n.io/blog/how-a-digital-strategist-uses-n8n-for-online-marketing/","icon":"💻","label":"How a digital strategist uses n8n for online marketing"},{"url":"https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/","icon":"🧠","label":"Why this Product Manager loves workflow automation with n8n"},{"url":"https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/","icon":"🙌","label":"Sending Automated Congratulations with Google Sheets, Twilio, and n8n "},{"url":"https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/","icon":"📈","label":"How a Membership Development Manager automates his work and investments"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"categories":["Data & Storage","Productivity"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"input\",\"output\"]","defaults":{"name":"Google Sheets"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2MCIgaGVpZ2h0PSI2MCI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGZpbGw9IiMyOEI0NDYiIGQ9Ik0zNS42OSAxIDUyIDE3LjIyNXYzOS4wODdhMy42NyAzLjY3IDAgMCAxLTEuMDg0IDIuNjFBMy43IDMuNyAwIDAgMSA0OC4yOTMgNjBIMTIuNzA3YTMuNyAzLjcgMCAwIDEtMi42MjMtMS4wNzhBMy42NyAzLjY3IDAgMCAxIDkgNTYuMzEyVjQuNjg4YTMuNjcgMy42NyAwIDAgMSAxLjA4NC0yLjYxQTMuNyAzLjcgMCAwIDEgMTIuNzA3IDF6Ii8+PHBhdGggZmlsbD0iIzZBQ0U3QyIgZD0iTTM1LjY5IDEgNTIgMTcuMjI1SDM5LjM5N2MtMi4wNTQgMC0zLjcwNy0xLjgyOS0zLjcwNy0zLjg3MnoiLz48cGF0aCBmaWxsPSIjMjE5QjM4IiBkPSJNMzkuMjExIDE3LjIyNSA1MiAyMi40OHYtNS4yNTV6Ii8+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTIwLjEyIDMxLjk3NWMwLS44MTcuNjYyLTEuNDc1IDEuNDgzLTEuNDc1aDE3Ljc5NGMuODIxIDAgMS40ODIuNjU4IDEuNDgyIDEuNDc1djE1LjQ4N2MwIC44MTgtLjY2MSAxLjQ3NS0xLjQ4MiAxLjQ3NUgyMS42MDNhMS40NzYgMS40NzYgMCAwIDEtMS40ODItMS40NzRWMzEuOTc0em0yLjIyNSAxLjQ3NWg2LjY3MnYyLjIxMmgtNi42NzJ6bTAgNS4xNjJoNi42NzJ2Mi4yMTNoLTYuNjcyem0wIDUuMTYzaDYuNjcydjIuMjEyaC02LjY3MnptOS42MzgtMTAuMzI1aDYuNjcydjIuMjEyaC02LjY3MnptMCA1LjE2Mmg2LjY3MnYyLjIxM2gtNi42NzJ6bTAgNS4xNjNoNi42NzJ2Mi4yMTJoLTYuNjcyeiIvPjxwYXRoIGZpbGw9IiMyOEI0NDYiIGQ9Ik0zNC42OSAwIDUxIDE2LjIyNXYzOS4wODdhMy42NyAzLjY3IDAgMCAxLTEuMDg0IDIuNjFBMy43IDMuNyAwIDAgMSA0Ny4yOTMgNTlIMTEuNzA3YTMuNyAzLjcgMCAwIDEtMi42MjMtMS4wNzhBMy42NyAzLjY3IDAgMCAxIDggNTUuMzEyVjMuNjg4YTMuNjcgMy42NyAwIDAgMSAxLjA4NC0yLjYxQTMuNyAzLjcgMCAwIDEgMTEuNzA3IDB6Ii8+PHBhdGggZmlsbD0iIzZBQ0U3QyIgZD0iTTM0LjY5IDAgNTEgMTYuMjI1SDM4LjM5N2MtMi4wNTQgMC0zLjcwNy0xLjgyOS0zLjcwNy0zLjg3MnoiLz48cGF0aCBmaWxsPSIjMjE5QjM4IiBkPSJNMzguMjExIDE2LjIyNSA1MSAyMS40OHYtNS4yNTV6Ii8+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTE5LjEyIDMwLjk3NWMwLS44MTcuNjYyLTEuNDc1IDEuNDgzLTEuNDc1aDE3Ljc5NGMuODIxIDAgMS40ODIuNjU4IDEuNDgyIDEuNDc1djE1LjQ4N2MwIC44MTgtLjY2MSAxLjQ3NS0xLjQ4MiAxLjQ3NUgyMC42MDNhMS40NzYgMS40NzYgMCAwIDEtMS40ODItMS40NzRWMzAuOTc0em0yLjIyNSAxLjQ3NWg2LjY3MnYyLjIxMmgtNi42NzJ6bTAgNS4xNjJoNi42NzJ2Mi4yMTNoLTYuNjcyem0wIDUuMTYzaDYuNjcydjIuMjEyaC02LjY3MnptOS42MzgtMTAuMzI1aDYuNjcydjIuMjEyaC02LjY3MnptMCA1LjE2Mmg2LjY3MnYyLjIxM2gtNi42NzJ6bTAgNS4xNjNoNi42NzJ2Mi4yMTJoLTYuNjcyeiIvPjwvZz48L3N2Zz4="},"displayName":"Google Sheets","typeVersion":5,"nodeCategories":[{"id":3,"name":"Data & Storage"},{"id":4,"name":"Productivity"}]},{"id":20,"icon":"fa:map-signs","name":"n8n-nodes-base.if","codex":{"data":{"alias":["Router","Filter","Condition","Logic","Boolean","Branch"],"details":"The IF node can be used to implement binary conditional logic in your workflow. You can set up one-to-many conditions to evaluate each item of data being inputted into the node. That data will either evaluate to TRUE or FALSE and route out of the node accordingly.\n\nThis node has multiple types of conditions: Bool, String, Number, and Date & Time.","resources":{"generic":[{"url":"https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/","icon":"🏭","label":"Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"},{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/create-a-toxic-language-detector-for-telegram/","icon":"🤬","label":"Create a toxic language detector for Telegram in 4 step"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/","icon":"🔗","label":"How to build a low-code, self-hosted URL shortener in 3 steps"},{"url":"https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/","icon":"⚙️","label":"Automate your data processing pipeline in 9 steps"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/automation-for-maintainers-of-open-source-projects/","icon":"🏷️","label":"How to automatically manage contributions to open-source projects"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/","icon":"🧠","label":"Why this Product Manager loves workflow automation with n8n"},{"url":"https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/","icon":"🙌","label":"Sending Automated Congratulations with Google Sheets, Twilio, and n8n "},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.if/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"transform\"]","defaults":{"name":"If","color":"#408000"},"iconData":{"icon":"map-signs","type":"icon"},"displayName":"If","typeVersion":2,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":38,"icon":"fa:pen","name":"n8n-nodes-base.set","codex":{"data":{"alias":["Set","JS","JSON","Filter","Transform","Map"],"resources":{"generic":[{"url":"https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/","icon":"🏭","label":"Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"},{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/automatically-pulling-and-visualizing-data-with-n8n/","icon":"📈","label":"Automatically pulling and visualizing data with n8n"},{"url":"https://n8n.io/blog/database-monitoring-and-alerting-with-n8n/","icon":"📡","label":"Database Monitoring and Alerting with n8n"},{"url":"https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/","icon":"🧾","label":"Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/","icon":"🔗","label":"How to build a low-code, self-hosted URL shortener in 3 steps"},{"url":"https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/","icon":"⚙️","label":"Automate your data processing pipeline in 9 steps"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/building-an-expense-tracking-app-in-10-minutes/","icon":"📱","label":"Building an expense tracking app in 10 minutes"},{"url":"https://n8n.io/blog/the-ultimate-guide-to-automate-your-video-collaboration-with-whereby-mattermost-and-n8n/","icon":"📹","label":"The ultimate guide to automate your video collaboration with Whereby, Mattermost, and n8n"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/learn-to-build-powerful-api-endpoints-using-webhooks/","icon":"🧰","label":"Learn to Build Powerful API Endpoints Using Webhooks"},{"url":"https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/","icon":"📈","label":"How a Membership Development Manager automates his work and investments"},{"url":"https://n8n.io/blog/a-low-code-bitcoin-ticker-built-with-questdb-and-n8n-io/","icon":"📈","label":"A low-code bitcoin ticker built with QuestDB and n8n.io"},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"},{"url":"https://n8n.io/blog/how-goomer-automated-their-operations-with-over-200-n8n-workflows/","icon":"🛵","label":"How Goomer automated their operations with over 200 n8n workflows"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.set/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Data Transformation"]}}},"group":"[\"input\"]","defaults":{"name":"Edit Fields"},"iconData":{"icon":"pen","type":"icon"},"displayName":"Edit Fields (Set)","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":356,"icon":"file:gmail.svg","name":"n8n-nodes-base.gmail","codex":{"data":{"alias":["email","human","form","wait","hitl","approval"],"resources":{"generic":[{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/supercharging-your-conference-registration-process-with-n8n/","icon":"🎫","label":"Supercharging your conference registration process with n8n"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/your-business-doesnt-need-you-to-operate/","icon":" 🖥️","label":"Hey founders! Your business doesn't need you to operate"},{"url":"https://n8n.io/blog/using-automation-to-boost-productivity-in-the-workplace/","icon":"💪","label":"Using Automation to Boost Productivity in the Workplace"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.gmail/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"categories":["Communication","HITL"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"HITL":["Human in the Loop"]}}},"group":"[\"transform\"]","defaults":{"name":"Gmail"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTYiIGhlaWdodD0iMTkzIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+PHBhdGggZmlsbD0iIzQyODVGNCIgZD0iTTU4LjE4MiAxOTIuMDVWOTMuMTRMMjcuNTA3IDY1LjA3NyAwIDQ5LjUwNHYxMjUuMDkxYzAgOS42NTggNy44MjUgMTcuNDU1IDE3LjQ1NSAxNy40NTV6Ii8+PHBhdGggZmlsbD0iIzM0QTg1MyIgZD0iTTE5Ny44MTggMTkyLjA1aDQwLjcyN2M5LjY1OSAwIDE3LjQ1NS03LjgyNiAxNy40NTUtMTcuNDU1VjQ5LjUwNWwtMzEuMTU2IDE3LjgzNy0yNy4wMjYgMjUuNzk4eiIvPjxwYXRoIGZpbGw9IiNFQTQzMzUiIGQ9Im01OC4xODIgOTMuMTQtNC4xNzQtMzguNjQ3IDQuMTc0LTM2Ljk4OUwxMjggNjkuODY4bDY5LjgxOC01Mi4zNjQgNC42NyAzNC45OTItNC42NyA0MC42NDRMMTI4IDE0NS41MDR6Ii8+PHBhdGggZmlsbD0iI0ZCQkMwNCIgZD0iTTE5Ny44MTggMTcuNTA0VjkzLjE0TDI1NiA0OS41MDRWMjYuMjMxYzAtMjEuNTg1LTI0LjY0LTMzLjg5LTQxLjg5LTIwLjk0NXoiLz48cGF0aCBmaWxsPSIjQzUyMjFGIiBkPSJtMCA0OS41MDQgMjYuNzU5IDIwLjA3TDU4LjE4MiA5My4xNFYxNy41MDRMNDEuODkgNS4yODZDMjQuNjEtNy42NiAwIDQuNjQ2IDAgMjYuMjN6Ii8+PC9zdmc+"},"displayName":"Gmail","typeVersion":2,"nodeCategories":[{"id":6,"name":"Communication"},{"id":28,"name":"HITL"}]},{"id":565,"icon":"fa:sticky-note","name":"n8n-nodes-base.stickyNote","codex":{"data":{"alias":["Comments","Notes","Sticky"],"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"input\"]","defaults":{"name":"Sticky Note","color":"#FFD233"},"iconData":{"icon":"sticky-note","type":"icon"},"displayName":"Sticky Note","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":824,"icon":"file:gmail.svg","name":"n8n-nodes-base.gmailTrigger","codex":{"data":{"resources":{"generic":[{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/supercharging-your-conference-registration-process-with-n8n/","icon":"🎫","label":"Supercharging your conference registration process with n8n"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/your-business-doesnt-need-you-to-operate/","icon":" 🖥️","label":"Hey founders! Your business doesn't need you to operate"},{"url":"https://n8n.io/blog/using-automation-to-boost-productivity-in-the-workplace/","icon":"💪","label":"Using Automation to Boost Productivity in the Workplace"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/trigger-nodes/n8n-nodes-base.gmailtrigger/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"categories":["Communication"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"trigger\"]","defaults":{"name":"Gmail Trigger"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTYiIGhlaWdodD0iMTkzIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+PHBhdGggZmlsbD0iIzQyODVGNCIgZD0iTTU4LjE4MiAxOTIuMDVWOTMuMTRMMjcuNTA3IDY1LjA3NyAwIDQ5LjUwNHYxMjUuMDkxYzAgOS42NTggNy44MjUgMTcuNDU1IDE3LjQ1NSAxNy40NTV6Ii8+PHBhdGggZmlsbD0iIzM0QTg1MyIgZD0iTTE5Ny44MTggMTkyLjA1aDQwLjcyN2M5LjY1OSAwIDE3LjQ1NS03LjgyNiAxNy40NTUtMTcuNDU1VjQ5LjUwNWwtMzEuMTU2IDE3LjgzNy0yNy4wMjYgMjUuNzk4eiIvPjxwYXRoIGZpbGw9IiNFQTQzMzUiIGQ9Im01OC4xODIgOTMuMTQtNC4xNzQtMzguNjQ3IDQuMTc0LTM2Ljk4OUwxMjggNjkuODY4bDY5LjgxOC01Mi4zNjQgNC42NyAzNC45OTItNC42NyA0MC42NDRMMTI4IDE0NS41MDR6Ii8+PHBhdGggZmlsbD0iI0ZCQkMwNCIgZD0iTTE5Ny44MTggMTcuNTA0VjkzLjE0TDI1NiA0OS41MDRWMjYuMjMxYzAtMjEuNTg1LTI0LjY0LTMzLjg5LTQxLjg5LTIwLjk0NXoiLz48cGF0aCBmaWxsPSIjQzUyMjFGIiBkPSJtMCA0OS41MDQgMjYuNzU5IDIwLjA3TDU4LjE4MiA5My4xNFYxNy41MDRMNDEuODkgNS4yODZDMjQuNjEtNy42NiAwIDQuNjQ2IDAgMjYuMjN6Ii8+PC9zdmc+"},"displayName":"Gmail Trigger","typeVersion":1,"nodeCategories":[{"id":6,"name":"Communication"}]},{"id":834,"icon":"file:code.svg","name":"n8n-nodes-base.code","codex":{"data":{"alias":["cpde","Javascript","JS","Python","Script","Custom Code","Function"],"details":"The Code node allows you to execute JavaScript in your workflow.","resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.code/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers","Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Code"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xMTcxXzQ0MSkiPgo8cGF0aCBkPSJNMTcwLjI4MyA0OEgxOTYuNUMyMDMuMTI3IDQ4IDIwOC41IDQyLjYyNzQgMjA4LjUgMzZWMTJDMjA4LjUgNS4zNzI1OCAyMDMuMTI3IDAgMTk2LjUgMEgxNzAuMjgzQzEyNi4xIDAgOTAuMjgzIDM1LjgxNzIgOTAuMjgzIDgwVjE3NkM5MC4yODMgMjA2LjkyOCA2NS4yMTA5IDIzMiAzNC4yODMgMjMySDIzQzE2LjM3MjYgMjMyIDExIDIzNy4zNzIgMTEgMjQ0VjI2OEMxMSAyNzQuNjI3IDE2LjM3MjQgMjgwIDIyLjk5OTYgMjgwTDM0LjI4MyAyODBDNjUuMjEwOSAyODAgOTAuMjgzIDMwNS4wNzIgOTAuMjgzIDMzNlY0NDBDOTAuMjgzIDQ3OS43NjQgMTIyLjUxOCA1MTIgMTYyLjI4MyA1MTJIMTk2LjVDMjAzLjEyNyA1MTIgMjA4LjUgNTA2LjYyNyAyMDguNSA1MDBWNDc2QzIwOC41IDQ2OS4zNzMgMjAzLjEyNyA0NjQgMTk2LjUgNDY0SDE2Mi4yODNDMTQ5LjAyOCA0NjQgMTM4LjI4MyA0NTMuMjU1IDEzOC4yODMgNDQwVjMzNkMxMzguMjgzIDMwOS4wMjIgMTI4LjAxMSAyODQuNDQzIDExMS4xNjQgMjY1Ljk2MUMxMDYuMTA5IDI2MC40MTYgMTA2LjEwOSAyNTEuNTg0IDExMS4xNjQgMjQ2LjAzOUMxMjguMDExIDIyNy41NTcgMTM4LjI4MyAyMDIuOTc4IDEzOC4yODMgMTc2VjgwQzEzOC4yODMgNjIuMzI2OSAxNTIuNjEgNDggMTcwLjI4MyA0OFoiIGZpbGw9IiNGRjk5MjIiLz4KPHBhdGggZD0iTTMwNSAzNkMzMDUgNDIuNjI3NCAzMTAuMzczIDQ4IDMxNyA0OEgzNDIuOTc5QzM2MC42NTIgNDggMzc0Ljk3OCA2Mi4zMjY5IDM3NC45NzggODBWMTc2QzM3NC45NzggMjAyLjk3OCAzODUuMjUxIDIyNy41NTcgNDAyLjA5OCAyNDYuMDM5QzQwNy4xNTMgMjUxLjU4NCA0MDcuMTUzIDI2MC40MTYgNDAyLjA5OCAyNjUuOTYxQzM4NS4yNTEgMjg0LjQ0MyAzNzQuOTc4IDMwOS4wMjIgMzc0Ljk3OCAzMzZWNDMyQzM3NC45NzggNDQ5LjY3MyAzNjAuNjUyIDQ2NCAzNDIuOTc5IDQ2NEgzMTdDMzEwLjM3MyA0NjQgMzA1IDQ2OS4zNzMgMzA1IDQ3NlY1MDBDMzA1IDUwNi42MjcgMzEwLjM3MyA1MTIgMzE3IDUxMkgzNDIuOTc5QzM4Ny4xNjEgNTEyIDQyMi45NzggNDc2LjE4MyA0MjIuOTc4IDQzMlYzMzZDNDIyLjk3OCAzMDUuMDcyIDQ0OC4wNTEgMjgwIDQ3OC45NzkgMjgwSDQ5MEM0OTYuNjI3IDI4MCA1MDIgMjc0LjYyOCA1MDIgMjY4VjI0NEM1MDIgMjM3LjM3MyA0OTYuNjI4IDIzMiA0OTAgMjMyTDQ3OC45NzkgMjMyQzQ0OC4wNTEgMjMyIDQyMi45NzggMjA2LjkyOCA0MjIuOTc4IDE3NlY4MEM0MjIuOTc4IDM1LjgxNzIgMzg3LjE2MSAwIDM0Mi45NzkgMEgzMTdDMzEwLjM3MyAwIDMwNSA1LjM3MjU4IDMwNSAxMlYzNloiIGZpbGw9IiNGRjk5MjIiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8xMTcxXzQ0MSI+CjxyZWN0IHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo="},"displayName":"Code","typeVersion":2,"nodeCategories":[{"id":5,"name":"Development"},{"id":9,"name":"Core Nodes"}]}],"categories":[{"id":41,"name":"Ticket Management"},{"id":49,"name":"AI Summarization"}],"image":[]}}