{"workflow":{"id":13033,"name":"Extract invoice data from Gmail PDFs to JSON, Google Sheets and Airtable","views":94,"recentViews":0,"totalViews":94,"createdAt":"2026-01-27T12:10:23.761Z","description":"# Automated Invoice Intelligence: PDF-to-JSON Financial Orchestrator\n\n## 🎯 Description\nThis is an elite enterprise-grade solution for **Accounts Payable** and **Finance Ops** teams. It automates the high-volume extraction of unstructured data from PDF invoices using the **HTML to PDF (Parse PDF to JSON)** node, transforming raw email attachments into validated, audit-ready financial records across multiple platforms.\n\n### ✨ The Sovereign Lifecycle\n1. **Intelligent Intake & Validation** - Monitors **Gmail** for incoming invoices. Implements a strict validation layer to ensure only valid PDF binaries enter the intelligence stream, filtering out noise and non-invoice attachments.\n2. **Atomic JSON Transformation** - Leverages the **HTML to PDF (Parse PDF to JSON)** node to decompose monolithic PDF files into structured data objects. This allows the system to treat document text as actionable data points.\n3. **AI Ledger Mapping** - A sophisticated hybrid-intelligence Code Node acts as a virtual \"Financial Controller.\" It uses advanced pattern matching to extract key fields (Vendor Name, Invoice Number, Tax, and Total Amount) and calculates a **Confidence Score** for every entry.\n4. **Conditional Approval Gating** - Implements a \"Trust-but-Verify\" architecture:\n    - **Auto-Process:** High-confidence extractions of standard value invoices are posted immediately.\n    - **Human-in-the-Loop (HITL):** Low-confidence results (&lt;0.7) or high-value invoices (&gt;$5,000) are automatically diverted to a **Review Queue** in Google Sheets.\n5. **Multi-Platform Ledger Sync** - Simultaneously synchronizes data across **Google Sheets** (for real-time reporting) and **Airtable** (for project management), ensuring a single source of truth.\n6. **Forensic Archival & Alerts** - Moves original files to a secure **Google Drive** archive. High-priority items trigger instant **Slack** and **Gmail** alerts for the finance team.\n\n### 💡 Key Technical Features\n- **Heuristic Pattern Matching:** Dynamically handles various invoice layouts by analyzing financial context and keywords.\n- **Math Integrity Check:** Automatically verifies if (Subtotal + Tax = Total) to boost extraction confidence.\n- **Bi-Directional Governance:** Keeps track of every document with a unique Processing ID and metadata log for regulatory compliance.\n\n### 🚀 Benefits\n✅ **95% Reduction in Data Entry** - Shifts human effort from manual typing to high-level oversight.\n✅ **Financial Risk Mitigation** - Automatically flags high-value transactions and extraction anomalies before they hit the books.\n✅ **Real-Time Visibility** - Instant updates to financial dashboards the moment an invoice is received.\n\n---\n**Tags:** #finance #accounts-payable #pdf-to-json #automation #fintech #google-sheets #airtable\n\n**Category:** Finance & Operations | **Difficulty:** Advanced","workflow":{"meta":{"instanceId":"277842713620d9f5554de3b1518b865a152c8c4db680008bd8aec536fc18b4a8","templateCredsSetupCompleted":true},"nodes":[{"id":"8c8ca031-b331-45e8-954a-67256d21895d","name":"Sticky_Intake","type":"n8n-nodes-base.stickyNote","position":[256,-224],"parameters":{"color":7,"width":466,"height":330,"content":"## 📥 PHASE 1: Intake & Validation\nTriggers on Gmail attachments. Validates PDF format, filters out non-invoice emails, and performs initial data quality checks."},"typeVersion":1},{"id":"41d5378a-b652-4229-94a0-ba00dcd853e1","name":"Sticky_Parsing","type":"n8n-nodes-base.stickyNote","position":[736,-224],"parameters":{"color":7,"width":550,"height":362,"content":"## 🔬 PHASE 2: AI Parsing & Extraction\n**Parse PDF to JSON:** Converts binary PDF to structured data. **AI Ledger Mapper:** Extracts financial fields with intelligent pattern matching and confidence scoring."},"typeVersion":1},{"id":"69631f3b-3285-49ac-80e1-364df5c6c6d1","name":"Sticky_Sync","type":"n8n-nodes-base.stickyNote","position":[1312,-368],"parameters":{"color":7,"width":650,"height":650,"content":"## 🚀 PHASE 3: Ledger Sync & Archival\nUpdates Google Sheets ledger, creates Airtable records, archives to Drive. High-value or low-confidence items trigger Slack escalations for manual review."},"typeVersion":1},{"id":"69ed7655-68d0-4266-beab-2c715f24f648","name":"Sticky_ReviewQueue","type":"n8n-nodes-base.stickyNote","position":[1312,352],"parameters":{"color":7,"width":578,"height":350,"content":"## ⚠️ PHASE 4: Review Queue\nLow confidence scores (<0.7) or high-value invoices (>$5000) require manual approval before final posting."},"typeVersion":1},{"id":"23803aa6-c52d-4c26-a617-4e979a82d69f","name":"Gmail: Watch Invoices","type":"n8n-nodes-base.gmailTrigger","position":[320,-64],"webhookId":"invoice-trigger-webhook","parameters":{},"typeVersion":2},{"id":"8d464849-1f13-4476-a6d8-aca8768f5e65","name":"IF: Valid PDF Attachment","type":"n8n-nodes-base.if","position":[480,-64],"parameters":{"options":{},"conditions":{"options":{"leftValue":"","caseSensitive":false,"typeValidation":"strict"},"combinator":"and","conditions":[{"operator":{"type":"array","operation":"notEmpty"},"leftValue":"={{ $json.attachments }}","rightValue":""},{"operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.attachments[0].mimeType }}","rightValue":"application/pdf"}]}},"typeVersion":2},{"id":"9ceec5e8-db65-45fc-8a25-113ccab7f9de","name":"Code: Pre-Processor","type":"n8n-nodes-base.code","position":[640,-64],"parameters":{"jsCode":"// Code Node: Pre-Processing & Metadata\nconst items = $input.all();\n\nreturn items.map(item => {\n    const attachment = item.json.attachments[0];\n    \n    // Extract email metadata\n    item.json.emailSubject = item.json.subject || '';\n    item.json.senderEmail = item.json.from?.address || 'user@example.com';\n    item.json.senderName = item.json.from?.name || 'Unknown Sender';\n    item.json.receivedDate = item.json.date || new Date().toISOString();\n    item.json.gmailMessageId = item.json.id || '';\n    \n    // Attachment metadata\n    item.json.attachmentName = attachment.name;\n    item.json.attachmentSize = attachment.size || 0;\n    item.json.attachmentMimeType = attachment.mimeType;\n    \n    // Generate processing ID\n    item.json.processingId = `INV-${Date.now()}-${Math.random().toString(36).substring(2, 8).toUpperCase()}`;\n    item.json.intakeTimestamp = new Date().toISOString();\n    \n    return item;\n});"},"typeVersion":2},{"id":"46fec074-98c4-4b8b-814f-d7609ce7619f","name":"HTML to PDF: Parse to JSON","type":"n8n-nodes-htmlcsstopdf.htmlcsstopdf","position":[816,-64],"parameters":{"resource":"pdfManipulation","operation":"parsePdfToJson"},"credentials":{"htmlcsstopdfApi":{"id":"credential-id","name":"pdf munk - deepanshi"}},"typeVersion":1},{"id":"01d6530b-1b4b-45df-a9ca-39457bd9a87c","name":"Code: AI Ledger Mapper","type":"n8n-nodes-base.code","position":[976,-64],"parameters":{"jsCode":"// Code Node: AI-Powered Financial Data Extraction\nconst item = $input.first();\nconst text = item.json.text || '';\nconst lines = text.split('\\n');\n\n// Enhanced pattern matching for invoice fields\nconst patterns = {\n    // Amount patterns\n    total: [\n        /(?:total|amount due|balance due|grand total)[:\\s]*\\$?([0-9,]+\\.\\d{2})/i,\n        /(?:total)[:\\s]*([0-9,]+\\.\\d{2})/i,\n        /\\$([0-9,]+\\.\\d{2})(?:\\s*(?:total|due))/i\n    ],\n    \n    // Tax patterns\n    tax: [\n        /(?:tax|vat|gst|sales tax)[:\\s]*\\$?([0-9,]+\\.\\d{2})/i,\n        /(?:tax amount)[:\\s]*([0-9,]+\\.\\d{2})/i\n    ],\n    \n    // Vendor patterns\n    vendor: [\n        /(?:from|vendor|supplier|bill from)[:\\s]*([A-Za-z0-9\\s&\\.,'\\-]+?)(?:\\n|$)/i,\n        /^([A-Z][A-Za-z0-9\\s&\\.,'\\-]{3,40})$/m,  // Company name at start of line\n        /(?:payable to)[:\\s]*([A-Za-z0-9\\s&\\.,'\\-]+)/i\n    ],\n    \n    // Invoice number patterns\n    invoiceNumber: [\n        /(?:invoice|inv|bill)(?:\\s*#|\\s*no\\.?|\\s*number)[:\\s]*([A-Z0-9\\-]+)/i,\n        /#([A-Z0-9\\-]{3,20})/\n    ],\n    \n    // Date patterns\n    invoiceDate: [\n        /(?:invoice date|date|issued)[:\\s]*(\\d{1,2}[/-]\\d{1,2}[/-]\\d{2,4})/i,\n        /(\\d{1,2}\\/\\d{1,2}\\/\\d{2,4})/\n    ],\n    \n    // Due date patterns\n    dueDate: [\n        /(?:due date|payment due)[:\\s]*(\\d{1,2}[/-]\\d{1,2}[/-]\\d{2,4})/i\n    ],\n    \n    // Subtotal patterns\n    subtotal: [\n        /(?:subtotal|sub-total)[:\\s]*\\$?([0-9,]+\\.\\d{2})/i\n    ]\n};\n\n// Function to try multiple patterns\nfunction extractField(patterns, text) {\n    for (const pattern of patterns) {\n        const match = text.match(pattern);\n        if (match && match[1]) {\n            return match[1].trim();\n        }\n    }\n    return null;\n}\n\n// Extract all fields\nconst totalStr = extractField(patterns.total, text);\nconst taxStr = extractField(patterns.tax, text);\nconst subtotalStr = extractField(patterns.subtotal, text);\nconst vendorRaw = extractField(patterns.vendor, text);\nconst invoiceNumber = extractField(patterns.invoiceNumber, text);\nconst invoiceDate = extractField(patterns.invoiceDate, text);\nconst dueDate = extractField(patterns.dueDate, text);\n\n// Parse amounts\nconst totalAmount = totalStr ? parseFloat(totalStr.replace(/[,$]/g, '')) : 0;\nconst taxAmount = taxStr ? parseFloat(taxStr.replace(/[,$]/g, '')) : 0;\nconst subtotalAmount = subtotalStr ? parseFloat(subtotalStr.replace(/[,$]/g, '')) : (totalAmount - taxAmount);\n\n// Clean vendor name\nconst vendorName = vendorRaw ? vendorRaw.replace(/[\\n\\r]/g, ' ').trim().substring(0, 100) : 'Unknown Vendor';\n\n// Calculate confidence score\nlet confidence = 0;\nlet confidenceFactors = [];\n\nif (totalAmount > 0) {\n    confidence += 0.4;\n    confidenceFactors.push('amount_found');\n}\nif (vendorRaw && vendorRaw.length > 3) {\n    confidence += 0.3;\n    confidenceFactors.push('vendor_found');\n}\nif (invoiceNumber) {\n    confidence += 0.15;\n    confidenceFactors.push('invoice_number_found');\n}\nif (taxAmount > 0) {\n    confidence += 0.1;\n    confidenceFactors.push('tax_found');\n}\nif (invoiceDate) {\n    confidence += 0.05;\n    confidenceFactors.push('date_found');\n}\n\n// Validation checks\nconst isValidAmount = totalAmount > 0 && totalAmount < 1000000;\nconst isValidVendor = vendorName !== 'Unknown Vendor' && vendorName.length > 2;\nconst mathCheck = Math.abs((subtotalAmount + taxAmount) - totalAmount) < 1; // Allow $1 rounding\n\nif (mathCheck) {\n    confidence += 0.05;\n    confidenceFactors.push('math_verified');\n}\n\n// Build structured output\nitem.json.extracted = {\n    vendorName: vendorName,\n    totalAmount: totalAmount,\n    taxAmount: taxAmount,\n    subtotalAmount: subtotalAmount,\n    invoiceNumber: invoiceNumber || 'NOT_FOUND',\n    invoiceDate: invoiceDate || item.json.receivedDate?.split('T')[0] || '',\n    dueDate: dueDate || '',\n    confidence: Math.min(confidence, 0.99),\n    confidenceFactors: confidenceFactors,\n    validationStatus: isValidAmount && isValidVendor ? 'PASS' : 'REVIEW_REQUIRED',\n    extractedAt: new Date().toISOString(),\n    rawTextLength: text.length\n};\n\n// Flatten for easier access\nitem.json.vendorName = vendorName;\nitem.json.totalAmount = totalAmount;\nitem.json.taxAmount = taxAmount;\nitem.json.subtotalAmount = subtotalAmount;\nitem.json.invoiceNumber = invoiceNumber || 'NOT_FOUND';\nitem.json.invoiceDate = invoiceDate || item.json.receivedDate?.split('T')[0] || '';\nitem.json.dueDate = dueDate || '';\nitem.json.confidence = item.json.extracted.confidence;\nitem.json.validationStatus = item.json.extracted.validationStatus;\n\n// Categorization\nif (totalAmount > 5000) {\n    item.json.category = 'HIGH_VALUE';\n} else if (totalAmount > 1000) {\n    item.json.category = 'MEDIUM_VALUE';\n} else {\n    item.json.category = 'LOW_VALUE';\n}\n\n// Risk flag\nitem.json.requiresReview = confidence < 0.7 || totalAmount > 5000;\n\nreturn item;"},"typeVersion":2},{"id":"2f7df52f-a24c-4323-b275-9b2faf4f83ed","name":"IF: Auto-Approve","type":"n8n-nodes-base.if","position":[1136,-64],"parameters":{"options":{},"conditions":{"options":{"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"operator":{"type":"boolean","operation":"equals"},"leftValue":"={{ $json.requiresReview }}","rightValue":false}]}},"typeVersion":2},{"id":"9ed956df-b1a5-4756-91e7-b2fb13354242","name":"Google Sheets: Add Row","type":"n8n-nodes-base.googleSheets","position":[1424,-240],"parameters":{"columns":{"value":{"Category":"={{ $json.category }}","Due Date":"={{ $json.dueDate }}","Subtotal":"={{ $json.subtotalAmount }}","Tax Amount":"={{ $json.taxAmount }}","Sender Name":"={{ $json.senderName }}","Vendor Name":"={{ $json.vendorName }}","Invoice Date":"={{ $json.invoiceDate }}","Processed At":"={{ $json.extractedAt }}","Sender Email":"={{ $json.senderEmail }}","Total Amount":"={{ $json.totalAmount }}","Processing ID":"={{ $json.processingId }}","Received Date":"={{ $json.receivedDate }}","Invoice Number":"={{ $json.invoiceNumber }}","Confidence Score":"={{ $json.confidence }}","Gmail Message ID":"={{ $json.gmailMessageId }}","Validation Status":"={{ $json.validationStatus }}"},"schema":[],"mappingMode":"defineBelow","matchingColumns":[]},"options":{},"operation":"append","sheetName":{"__rl":true,"mode":"list","value":"gid=0","cachedResultName":"Sheet1"},"documentId":{"__rl":true,"mode":"list","value":"YOUR_SHEET_ID","cachedResultName":"Invoice Ledger"}},"credentials":{"googleSheetsOAuth2Api":{"id":"credential-id","name":"Google Sheets account - Deepanshi"}},"typeVersion":4.4},{"id":"17a425a2-a110-4798-b4fc-b307be2ec658","name":"Airtable: Create Record","type":"n8n-nodes-base.airtable","position":[1424,-80],"parameters":{"base":{"__rl":true,"mode":"list","value":"YOUR_BASE_ID","cachedResultName":"Invoice Processing"},"table":{"__rl":true,"mode":"list","value":"Invoices","cachedResultName":"Invoices"},"options":{},"operation":"create"},"typeVersion":2},{"id":"45f0dd21-60cb-4542-9d07-30114e2a69c1","name":"Google Drive: Archive Invoice","type":"n8n-nodes-base.googleDrive","position":[1424,80],"parameters":{"driveId":{"__rl":true,"mode":"list","value":"My Drive"},"options":{},"folderId":{"__rl":true,"mode":"list","value":"INVOICE_ARCHIVE_FOLDER_ID","cachedResultName":"Invoice Archive"}},"credentials":{"googleDriveOAuth2Api":{"id":"credential-id","name":"PDFMunk - Jitesh"}},"typeVersion":3},{"id":"4f5a2de1-9ad5-4e10-bc0a-c0f774ee9789","name":"Slack: Success Notification","type":"n8n-nodes-base.slack","position":[1632,-48],"webhookId":"success-webhook-id","parameters":{"operation":"create"},"typeVersion":2.1},{"id":"95f9207e-2c14-40fc-a2e2-61ebff886a3f","name":"Slack: Review Required","type":"n8n-nodes-base.slack","position":[1360,464],"webhookId":"review-webhook-id","parameters":{"operation":"create"},"typeVersion":2.1},{"id":"72e9a7e4-5a64-4068-9da5-c3af5ee35751","name":"Google Sheets: Review Queue","type":"n8n-nodes-base.googleSheets","position":[1552,480],"parameters":{"columns":{"value":{"Status":"PENDING_REVIEW","Category":"={{ $json.category }}","Confidence":"={{ $json.confidence }}","Flagged At":"={{ $now.toISO() }}","Vendor Name":"={{ $json.vendorName }}","Total Amount":"={{ $json.totalAmount }}","Processing ID":"={{ $json.processingId }}","Review Reason":"={{ $json.confidence < 0.7 ? 'Low Confidence' : 'High Value' }}","Gmail Message ID":"={{ $json.gmailMessageId }}"},"schema":[],"mappingMode":"defineBelow","matchingColumns":[]},"options":{},"operation":"append","sheetName":{"__rl":true,"mode":"list","value":"gid=1","cachedResultName":"Review Queue"},"documentId":{"__rl":true,"mode":"list","value":"YOUR_SHEET_ID","cachedResultName":"Invoice Ledger"}},"credentials":{"googleSheetsOAuth2Api":{"id":"credential-id","name":"Google Sheets account - Deepanshi"}},"typeVersion":4.4},{"id":"23726aef-e060-43f0-8786-516092fd7bc0","name":"Gmail: Review Alert","type":"n8n-nodes-base.gmail","position":[1728,464],"webhookId":"review-email-webhook","parameters":{"sendTo":"user@example.com","message":"=**INVOICE PENDING MANUAL REVIEW**\n\nAn invoice has been flagged for review due to {{ $json.confidence < 0.7 ? 'low confidence score' : 'high value' }}.\n\n**Invoice Details:**\n- Processing ID: {{ $json.processingId }}\n- Vendor: {{ $json.vendorName }}\n- Invoice Number: {{ $json.invoiceNumber }}\n- Date: {{ $json.invoiceDate }}\n- Total Amount: ${{ $json.totalAmount.toFixed(2) }}\n- Tax: ${{ $json.taxAmount.toFixed(2) }}\n- Confidence Score: {{ ($json.confidence * 100).toFixed(1) }}%\n\n**Sender Information:**\n- From: {{ $json.senderName }} ({{ $json.senderEmail }})\n- Received: {{ $json.receivedDate }}\n\n**Action Required:**\nPlease review the original email in Gmail (Message ID: {{ $json.gmailMessageId }}) and verify the extracted data.\n\nOnce reviewed, update the status in the Review Queue sheet.\n\n---\nAutomated Invoice Processing System","options":{"ccList":"user@example.com","attachmentsUi":{"attachmentsBinary":[{}]}},"subject":"=Invoice Review Required: {{ $json.vendorName }} - ${{ $json.totalAmount }}"},"credentials":{"gmailOAuth2":{"id":"credential-id","name":"jitesh0dugar@gmail.com"}},"typeVersion":2.1},{"id":"f04e30d3-7349-4042-9832-5d06d54d1244","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[-272,-992],"parameters":{"width":448,"height":704,"content":"## 💰 Autonomous Invoice Extraction Hub (v11.0)\n\nIndustrial-grade pipeline for automated financial data entry: Gmail → JSON Parsing → AI Ledger Mapping → Multi-Tier Sync.\n\n### ⚙️ Core Sovereign Logic\n* **PHASE 1: Intake & Validation:** Monitors Gmail for PDF attachments and performs binary integrity checks.\n* **PHASE 2: AI Parsing:** Uses **HTML to PDF (Parse)** to convert unstructured PDF data into structured JSON objects.\n* **PHASE 3: Intelligence Mapping:** Custom Code Node extracts Vendor, Total, Tax, and Due Date with pattern-matching confidence scoring.\n* **PHASE 4: Auto-Approval Gating:** - **Green Path:** Confidence > 0.7 & Value < $5k → Auto-posts to Sheets/Airtable.\n    - **Amber Path:** Low confidence or high value → Diverts to Review Queue & Slack Alert.\n* **PHASE 5: Compliance Archival:** Vaults original invoices in Google Drive with forensic metadata.\n\n### 📋 Setup & Prerequisites\n1. **Compulsory Node:** **HTML to PDF (Parse)** for data atomization.\n2. **Targets:** Set your Google Sheet ID (Ledger & Review tabs) and Airtable Base.\n3. **Alerts:** Configure Slack Webhook for manual review escalations.\n\n**Metrics:** `Extraction_Confidence`, `Tax_Variance`, `Approval_Latency`."},"typeVersion":1}],"pinData":{},"connections":{"IF: Auto-Approve":{"main":[[{"node":"Google Sheets: Add Row","type":"main","index":0},{"node":"Airtable: Create Record","type":"main","index":0},{"node":"Google Drive: Archive Invoice","type":"main","index":0}],[{"node":"Slack: Review Required","type":"main","index":0}]]},"Code: Pre-Processor":{"main":[[{"node":"HTML to PDF: Parse to JSON","type":"main","index":0}]]},"Code: AI Ledger Mapper":{"main":[[{"node":"IF: Auto-Approve","type":"main","index":0}]]},"Slack: Review Required":{"main":[[{"node":"Google Sheets: Review Queue","type":"main","index":0}]]},"IF: Valid PDF Attachment":{"main":[[{"node":"Code: Pre-Processor","type":"main","index":0}]]},"HTML to PDF: Parse to JSON":{"main":[[{"node":"Code: AI Ledger Mapper","type":"main","index":0}]]},"Google Sheets: Review Queue":{"main":[[{"node":"Gmail: Review Alert","type":"main","index":0}]]},"Google Drive: Archive Invoice":{"main":[[{"node":"Slack: Success Notification","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":18,"nodeTypes":{"n8n-nodes-base.if":{"count":2},"n8n-nodes-base.code":{"count":2},"n8n-nodes-base.gmail":{"count":1},"n8n-nodes-base.slack":{"count":2},"n8n-nodes-base.airtable":{"count":1},"n8n-nodes-base.stickyNote":{"count":5},"n8n-nodes-base.googleDrive":{"count":1},"n8n-nodes-base.gmailTrigger":{"count":1},"n8n-nodes-base.googleSheets":{"count":2},"n8n-nodes-htmlcsstopdf.htmlcsstopdf":{"count":1}}},"status":"published","readyToDemo":null,"user":{"name":"Jitesh Dugar","username":"jiteshdugar","bio":"AI Automation Specialist - OpenAI, CRM & Automation Expert with a solid understanding of various tools that include Zapier, Make, Zoho CRM, Hubspot, Google Sheets, Airtable, Pipedrive, Google Analytics, and more.","verified":true,"links":["https://www.linkedin.com/in/jiteshdugar"],"avatar":"https://gravatar.com/avatar/edaa3abb99806b0586dced559d0a5417f24a507e7c4464a63960f0638a4b1b90?r=pg&d=retro&size=200"},"nodes":[{"id":2,"icon":"file:airtable.svg","name":"n8n-nodes-base.airtable","codex":{"data":{"resources":{"generic":[{"url":"https://n8n.io/blog/2021-goals-level-up-your-vocabulary-with-vonage-and-n8n/","icon":"🎯","label":"2021 Goals: Level Up Your Vocabulary With Vonage and n8n"},{"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/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/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/building-an-expense-tracking-app-in-10-minutes/","icon":"📱","label":"Building an expense tracking app in 10 minutes"},{"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/learn-to-build-powerful-api-endpoints-using-webhooks/","icon":"🧰","label":"Learn to Build Powerful API Endpoints Using Webhooks"},{"url":"https://n8n.io/blog/sending-sms-the-low-code-way-with-airtable-twilio-programmable-sms-and-n8n/","icon":"📱","label":"Sending SMS the Low-Code Way with Airtable, Twilio Programmable SMS, and n8n"},{"url":"https://n8n.io/blog/automating-conference-organization-processes-with-n8n/","icon":"🙋‍♀️","label":"Automating Conference Organization Processes with n8n"},{"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/app-nodes/n8n-nodes-base.airtable/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/airtable/"}]},"categories":["Data & Storage"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"input\"]","defaults":{"name":"Airtable"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMDAgMTcwIj48cGF0aCBmaWxsPSIjZmNiNDAwIiBkPSJNODkgNC44IDE2LjIgMzQuOWMtNC4xIDEuNy00IDcuNC4xIDkuMWw3My4yIDI5YzYuNCAyLjYgMTMuNiAyLjYgMjAgMGw3My4yLTI5YzQuMS0xLjYgNC4xLTcuNC4xLTkuMWwtNzMtMzAuMUMxMDMuMiAyIDk1LjcgMiA4OSA0LjgiLz48cGF0aCBmaWxsPSIjMThiZmZmIiBkPSJNMTA1LjkgODguOXY3Mi41YzAgMy40IDMuNSA1LjggNi43IDQuNWw4MS42LTMxLjdjMS45LS43IDMuMS0yLjUgMy4xLTQuNVY1Ny4yYzAtMy40LTMuNS01LjgtNi43LTQuNUwxMDkgODQuM2MtMS45LjgtMy4xIDIuNi0zLjEgNC42Ii8+PHBhdGggZmlsbD0iI2Y4MmI2MCIgZD0ibTg2LjkgOTIuNi0yNC4yIDExLjctMi41IDEuMkw5LjEgMTMwYy0zLjIgMS42LTcuNC0uOC03LjQtNC40VjU3LjVjMC0xLjMuNy0yLjQgMS42LTMuM3EuNi0uNiAxLjItLjljMS4yLS43IDMtLjkgNC40LS4zbDc3LjUgMzAuN2M0IDEuNSA0LjMgNy4xLjUgOC45Ii8+PHBhdGggZmlsbD0iI2JhMWU0NSIgZD0ibTg2LjkgOTIuNi0yNC4yIDExLjctNTkuNC01MHEuNi0uNiAxLjItLjljMS4yLS43IDMtLjkgNC40LS4zbDc3LjUgMzAuN2M0IDEuNCA0LjMgNyAuNSA4LjgiLz48L3N2Zz4="},"displayName":"Airtable","typeVersion":2,"nodeCategories":[{"id":3,"name":"Data & Storage"}]},{"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":40,"icon":"file:slack.svg","name":"n8n-nodes-base.slack","codex":{"data":{"alias":["human","form","wait","hitl","approval"],"resources":{"generic":[{"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/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/build-your-own-virtual-assistant-with-n8n-a-step-by-step-guide/","icon":"👦","label":"Build your own virtual assistant with n8n: A step by step guide"},{"url":"https://n8n.io/blog/how-to-automatically-give-kudos-to-contributors-with-github-slack-and-n8n/","icon":"👏","label":"How to automatically give kudos to contributors with GitHub, Slack, and n8n"},{"url":"https://n8n.io/blog/automations-for-activists/","icon":"✨","label":"How Common Knowledge use workflow automation for activism"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.slack/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/slack/"}]},"categories":["Communication","HITL"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"HITL":["Human in the Loop"]}}},"group":"[\"output\"]","defaults":{"name":"Slack"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB2aWV3Qm94PSIwIDAgMTUwLjg1MiAxNTAuODUyIj48dXNlIHhsaW5rOmhyZWY9IiNhIiB4PSIuOTI2IiB5PSIuOTI2Ii8+PHN5bWJvbCBpZD0iYSIgb3ZlcmZsb3c9InZpc2libGUiPjxnIHN0cm9rZS13aWR0aD0iMS44NTIiPjxwYXRoIGZpbGw9IiNlMDFlNWEiIHN0cm9rZT0iI2UwMWU1YSIgZD0iTTQwLjc0MSA5My41NWMwLTguNzM1IDYuNjA3LTE1Ljc3MiAxNC44MTUtMTUuNzcyczE0LjgxNSA3LjAzNyAxNC44MTUgMTUuNzcydjM4LjgyNGMwIDguNzM3LTYuNjA3IDE1Ljc3NC0xNC44MTUgMTUuNzc0cy0xNC44MTUtNy4wMzctMTQuODE1LTE1Ljc3MnoiLz48cGF0aCBmaWxsPSIjZWNiMjJkIiBzdHJva2U9IiNlY2IyMmQiIGQ9Ik05My41NSAxMDcuNDA4Yy04LjczNSAwLTE1Ljc3Mi02LjYwNy0xNS43NzItMTQuODE1czcuMDM3LTE0LjgxNSAxNS43NzItMTQuODE1aDM4LjgyNmM4LjczNSAwIDE1Ljc3MiA2LjYwNyAxNS43NzIgMTQuODE1cy03LjAzNyAxNC44MTUtMTUuNzcyIDE0LjgxNXoiLz48cGF0aCBmaWxsPSIjMmZiNjdjIiBzdHJva2U9IiMyZmI2N2MiIGQ9Ik03Ny43NzggMTUuNzcyQzc3Ljc3OCA3LjAzNyA4NC4zODUgMCA5Mi41OTMgMHMxNC44MTUgNy4wMzcgMTQuODE1IDE1Ljc3MnYzOC44MjZjMCA4LjczNS02LjYwNyAxNS43NzItMTQuODE1IDE1Ljc3MnMtMTQuODE1LTcuMDM3LTE0LjgxNS0xNS43NzJ6Ii8+PHBhdGggZmlsbD0iIzM2YzVmMSIgc3Ryb2tlPSIjMzZjNWYxIiBkPSJNMTUuNzcyIDcwLjM3MUM3LjAzNyA3MC4zNzEgMCA2My43NjMgMCA1NS41NTZzNy4wMzctMTQuODE1IDE1Ljc3Mi0xNC44MTVoMzguODI2YzguNzM1IDAgMTUuNzcyIDYuNjA3IDE1Ljc3MiAxNC44MTVzLTcuMDM3IDE0LjgxNS0xNS43NzIgMTQuODE1eiIvPjxnIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiPjxwYXRoIGZpbGw9IiNlY2IyMmQiIHN0cm9rZT0iI2VjYjIyZCIgZD0iTTc3Ljc3OCAxMzMuMzMzYzAgOC4yMDggNi42MDcgMTQuODE1IDE0LjgxNSAxNC44MTVzMTQuODE1LTYuNjA3IDE0LjgxNS0xNC44MTUtNi42MDctMTQuODE1LTE0LjgxNS0xNC44MTVINzcuNzc4eiIvPjxwYXRoIGZpbGw9IiMyZmI2N2MiIHN0cm9rZT0iIzJmYjY3YyIgZD0iTTEzMy4zMzQgNzAuMzcxaC0xNC44MTVWNTUuNTU2YzAtOC4yMDcgNi42MDctMTQuODE1IDE0LjgxNS0xNC44MTVzMTQuODE1IDYuNjA3IDE0LjgxNSAxNC44MTUtNi42MDcgMTQuODE1LTE0LjgxNSAxNC44MTV6Ii8+PHBhdGggZmlsbD0iI2UwMWU1YSIgc3Ryb2tlPSIjZTAxZTVhIiBkPSJNMTQuODE1IDc3Ljc3OEgyOS42M3YxNC44MTVjMCA4LjIwNy02LjYwNyAxNC44MTUtMTQuODE1IDE0LjgxNVMwIDEwMC44IDAgOTIuNTkzczYuNjA3LTE0LjgxNSAxNC44MTUtMTQuODE1eiIvPjxwYXRoIGZpbGw9IiMzNmM1ZjEiIHN0cm9rZT0iIzM2YzVmMSIgZD0iTTcwLjM3MSAxNC44MTVWMjkuNjNINTUuNTU2Yy04LjIwNyAwLTE0LjgxNS02LjYwNy0xNC44MTUtMTQuODE1UzQ3LjM0OCAwIDU1LjU1NiAwczE0LjgxNSA2LjYwNyAxNC44MTUgMTQuODE1eiIvPjwvZz48L2c+PC9zeW1ib2w+PC9zdmc+"},"displayName":"Slack","typeVersion":2,"nodeCategories":[{"id":6,"name":"Communication"},{"id":28,"name":"HITL"}]},{"id":58,"icon":"file:googleDrive.svg","name":"n8n-nodes-base.googleDrive","codex":{"data":{"resources":{"generic":[{"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/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/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.googledrive/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"categories":["Data & Storage"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"input\"]","defaults":{"name":"Google Drive"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB2aWV3Qm94PSIwIDAgODEgNzMiPjx1c2UgeGxpbms6aHJlZj0iI2EiIHg9Ii41IiB5PSIuNSIvPjxzeW1ib2wgaWQ9ImEiIG92ZXJmbG93PSJ2aXNpYmxlIj48ZyBmaWxsLXJ1bGU9Im5vbnplcm8iIHN0cm9rZT0ibm9uZSI+PHBhdGggZmlsbD0iIzAwNjZkYSIgZD0ibTYuMDQ4IDYxLjI2IDMuNTI4IDYuMDk0Yy43MzMgMS4yODMgMS43ODcgMi4yOTEgMy4wMjQgMy4wMjRsMTIuNi0yMS44MUgwYTguMyA4LjMgMCAwIDAgMS4xIDQuMTI0eiIvPjxwYXRoIGZpbGw9IiMwMGFjNDciIGQ9Ik00MCAyMi45MSAyNy40IDEuMWMtMS4yMzcuNzMzLTIuMjkxIDEuNzQxLTMuMDI0IDMuMDI0TDEuMSA0NC40NDVBOC4zIDguMyAwIDAgMCAwIDQ4LjU2OGgyNS4yeiIvPjxwYXRoIGZpbGw9IiNlYTQzMzUiIGQ9Ik02Ny40IDcwLjM3OGMxLjIzNy0uNzMzIDIuMjkxLTEuNzQxIDMuMDI0LTMuMDI0bDEuNDY2LTIuNTIgNy4wMS0xMi4xNDJhOC4zIDguMyAwIDAgMCAxLjEtNC4xMjRINTQuNzk4bDUuMzYzIDEwLjUzOHoiLz48cGF0aCBmaWxsPSIjMDA4MzJkIiBkPSJNNDAgMjIuOTEgNTIuNiAxLjFDNTEuMzYzLjM2NyA0OS45NDMgMCA0OC40NzcgMEgzMS41MjRjLTEuNDY2IDAtMi44ODcuNDEyLTQuMTI0IDEuMXoiLz48cGF0aCBmaWxsPSIjMjY4NGZjIiBkPSJNNTQuNzk5IDQ4LjU2OEgyNS4ybC0xMi42IDIxLjgxYzEuMjM3LjczMyAyLjY1NyAxLjEgNC4xMjQgMS4xaDQ2LjU1MmMxLjQ2NiAwIDIuODg3LS40MTIgNC4xMjQtMS4xeiIvPjxwYXRoIGZpbGw9IiNmZmJhMDAiIGQ9Ik02Ny4yNjIgMjQuMjg0IDU1LjYyNCA0LjEyNEM1NC44OTEgMi44NDEgNTMuODM3IDEuODMzIDUyLjYgMS4xTDQwIDIyLjkxbDE0LjggMjUuNjU5aDI1LjE1NWE4LjMgOC4zIDAgMCAwLTEuMS00LjEyNHoiLz48L2c+PC9zeW1ib2w+PC9zdmc+"},"displayName":"Google Drive","typeVersion":3,"nodeCategories":[{"id":3,"name":"Data & Storage"}]},{"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":34,"name":"Invoice Processing"},{"id":49,"name":"AI Summarization"}],"image":[]}}