{
  "workflow": {
    "id": 4376,
    "name": "Extract invoice data from email to Google Sheets using GPT-4o AI automation",
    "views": 17829,
    "recentViews": 3,
    "totalViews": 17829,
    "createdAt": "2025-05-25T06:03:38.031Z",
    "description": "\nTransform your invoice processing from manual data entry into an intelligent automation system. This powerful n8n workflow monitors Gmail for invoice attachments, extracts data using AI-powered analysis, and creates organized Google Sheets with all relevant financial information automatically structured and ready for your accounting workflows.\n\n## 🔄 How It Works\n\nThis sophisticated 8-step automation eliminates manual invoice processing:\n\n**Step 1: Intelligent Email Monitoring**\nThe workflow continuously monitors your Gmail account for emails with specific labels, checking every minute for new invoice attachments that need processing.\n\n**Step 2: Attachment Verification**\nSmart filtering ensures only emails with PDF attachments are processed, preventing unnecessary workflow triggers from text-only emails.\n\n**Step 3: Advanced PDF Extraction**\nThe system automatically downloads and converts PDF invoices into readable text, handling various invoice formats and layouts with high accuracy.\n\n**Step 4: AI-Powered Data Analysis**\nGPT-4 processes the extracted text using specialized prompts designed for financial document analysis, identifying and extracting:\n- Company information and contact details\n- Invoice numbers, dates, and payment terms\n- Detailed line items with quantities and pricing\n- Tax calculations including CGST, SGST, and VAT\n- Billing and shipping addresses\n- Payment methods and transaction references\n\n**Step 5: Structured Data Formatting**\nThe AI output is automatically formatted into clean, consistent JSON structure with 25+ standardized fields for comprehensive invoice tracking.\n\n**Step 6: Dynamic Spreadsheet Creation**\nEach processed invoice generates a new Google Sheets document with timestamp naming and organized data layout, ready for accounting review.\n\n**Step 7: Automated File Organization**\nProcessed spreadsheets are automatically moved to designated Google Drive folders, maintaining organized file structure for easy retrieval and audit trails.\n\n**Step 8: Data Population**\nAll extracted invoice data is populated into the spreadsheet with proper formatting, formulas, and structure for immediate use in accounting workflows.\n\n## ⚙️ Setup Steps\n\n### Prerequisites\n- Gmail account with invoice-receiving capability\n- Google Workspace access for Sheets and Drive\n- OpenAI API account for data extraction\n- n8n instance (cloud or self-hosted)\n- PDF invoices (text-based, not scanned images)\n\n### Gmail Configuration Requirements\n\n**Label Setup:**\nCreate specific Gmail labels for invoice processing:\n```\n📧 Labels to Create:\n- \"Invoice-Processing\" (main processing label)\n- \"Invoice-Vendors\" (supplier invoices)\n- \"Invoice-Clients\" (customer invoices)  \n- \"Invoice-Processed\" (completed items)\n```\n\n**Email Filter Configuration:**\nSet up automatic labeling rules:\n- Emails from known vendors → Auto-apply \"Invoice-Processing\"\n- Emails with \"Invoice\" in subject → Auto-apply \"Invoice-Processing\"  \n- Attachments with PDF extension → Auto-apply \"Invoice-Processing\"\n\n### Configuration Steps\n\n**1. Credential Setup**\n- **Gmail OAuth2**: Full email access including attachments\n- **OpenAI API Key**: GPT-4 access for intelligent data extraction\n- **Google Sheets OAuth2**: Spreadsheet creation and editing permissions\n- **Google Drive OAuth2**: File organization and folder management\n\n**2. Google Drive Folder Structure**\nCreate organized folder hierarchy:\n```\n📁 Invoice Management/\n├── 📁 Incoming Invoices/\n├── 📁 Processed Invoices/\n│   ├── 📁 2024/\n│   │   ├── 📁 Q1/\n│   │   ├── 📁 Q2/\n│   │   └── 📁 Q3/\n├── 📁 Vendor Invoices/\n└── 📁 Client Invoices/\n```\n\n**3. AI Extraction Customization**\nThe default AI prompt extracts standard invoice fields but can be customized for:\n- **Regional Tax Systems**: GST (India), VAT (EU), Sales Tax (US)\n- **Industry-Specific Fields**: Purchase orders, project codes, cost centers\n- **Company Standards**: Custom fields, approval workflows, coding requirements\n- **Multi-Currency**: Exchange rates, currency conversion, international invoices\n\n**4. Data Validation Rules**\nImplement quality control measures:\n- **Required Field Validation**: Ensure critical data is always extracted\n- **Format Standardization**: Consistent date formats, number formatting\n- **Duplicate Detection**: Identify potentially duplicate invoices\n- **Accuracy Scoring**: Confidence levels for extracted data\n\n**5. Workflow Activation**\n- Import the workflow JSON into your n8n instance\n- Configure all credential connections and test each step\n- Process test invoices to verify accuracy\n- Activate Gmail trigger for continuous monitoring\n\n## 🚀 Use Cases\n\n### **Accounting Firms & Bookkeepers**\n- **Client Service Automation**: Process invoices for multiple clients efficiently\n- **Data Entry Elimination**: Convert hours of manual work into automated processing\n- **Accuracy Improvement**: Reduce human errors in financial data transcription\n- **Scalable Operations**: Handle increased client volume without proportional staff increase\n\n### **Small & Medium Businesses**\n- **Accounts Payable Automation**: Streamline vendor invoice processing\n- **Cash Flow Management**: Quick access to payment due dates and amounts\n- **Expense Tracking**: Organized categorization of business expenses\n- **Audit Preparation**: Maintain organized, searchable invoice records\n\n### **Corporate Finance Teams**\n- **Procurement Processing**: Handle purchase orders and vendor invoices at scale\n- **Multi-Location Operations**: Centralize invoice processing across offices\n- **Compliance Management**: Ensure consistent data capture for regulatory requirements\n- **Integration Readiness**: Prepare data for ERP and accounting system import\n\n### **Freelancers & Consultants**\n- **Client Invoice Tracking**: Organize incoming payments and project billing\n- **Expense Management**: Categorize business expenses for tax preparation\n- **Cash Flow Monitoring**: Track outstanding invoices and payment schedules\n- **Professional Organization**: Maintain clean financial records for business growth\n\n### **E-commerce & Retail**\n- **Supplier Invoice Processing**: Manage inventory purchasing and cost tracking\n- **Multi-Vendor Operations**: Handle invoices from numerous suppliers efficiently\n- **Cost Analysis**: Track product costs and supplier performance\n- **Inventory Reconciliation**: Match invoice data with purchase orders and receipts\n\n## 🔧 Advanced Customization Options\n\n### **Multi-Format Invoice Handling**\nExtend processing capabilities:\n```\n- PDF Text-Based: Standard invoice PDFs with selectable text\n- Scanned Documents: Add OCR processing for image-based invoices\n- Email Body Invoices: Extract data from invoice details in email content  \n- Excel Attachments: Process invoices sent as spreadsheet files\n- Multi-Page Documents: Handle complex invoices with multiple pages\n```\n\n### **Intelligent Data Validation**\nImplement quality assurance features:\n- **Cross-Reference Validation**: Compare extracted data against purchase orders\n- **Vendor Database Matching**: Verify company details against known vendor lists\n- **Tax Calculation Verification**: Validate tax amounts and rates for accuracy\n- **Currency Conversion**: Handle multi-currency invoices with real-time exchange rates\n\n### **Workflow Integration Extensions**\nConnect to existing business systems:\n- **ERP Integration**: Direct data export to SAP, Oracle, or Microsoft Dynamics\n- **Accounting Software**: Push data to QuickBooks, Xero, or FreshBooks\n- **Approval Workflows**: Add review and approval steps before final processing\n- **Payment Processing**: Connect to banking systems for automated payment scheduling\n\n### **Advanced Analytics & Reporting**\nGenerate business insights:\n- **Vendor Performance Analysis**: Track pricing trends and payment terms\n- **Expense Category Reporting**: Automated expense categorization and analysis\n- **Cash Flow Forecasting**: Predict payment obligations based on due dates\n- **Audit Trail Management**: Maintain comprehensive processing logs for compliance\n\n## 📊 Extracted Data Structure\n\n### **Standard Invoice Fields (25+ Data Points)**\nThe AI extraction captures comprehensive invoice information:\n\n**Header Information:**\n- Billed To (Customer/Company Name)\n- Invoice Number (Unique Identifier)\n- Date of Issue (Invoice Creation Date)\n- Due Date (Payment Deadline)\n\n**Line Item Details:**\n- Item Description (Product/Service Details)\n- Quantity (Number of Items/Hours)\n- Rate (Unit Price)\n- Amount (Line Total)\n\n**Tax and Financial Calculations:**\n- CGST/SGST Rates and Amounts (Indian GST System)\n- VAT Calculations (European Tax System)\n- Subtotal (Pre-tax Amount)\n- Total Amount (Final Invoice Value)\n\n**Company and Contact Information:**\n- Vendor Company Name\n- Contact Phone/Mobile\n- Email Address\n- Website URL\n- GST Registration Number\n- PAN Number (Indian Tax ID)\n\n**Address Information:**\n- Billing Address\n- Shipping Address  \n- Place of Supply\n- Place of Delivery\n\n**Payment Details:**\n- Transaction IDs\n- Payment Mode (Check, Bank Transfer, Card)\n- Terms and Conditions\n- Special Instructions\n\n### **Sample Extracted Data:**\n```json\n{\n  \"billed_to\": \"Tech Solutions Inc.\",\n  \"invoice_number\": \"INV-2024-0156\",\n  \"date_of_issue\": \"2024-03-15\",\n  \"due_date\": \"2024-04-15\",\n  \"item_0_description\": \"Web Development Services\",\n  \"item_0_quantity\": 40,\n  \"item_0_rate\": 75.00,\n  \"item_0_amount\": 3000.00,\n  \"tax_0_cgst_rate\": 9,\n  \"tax_0_cgst_amount\": 270.00,\n  \"tax_0_sgst_rate\": 9,\n  \"tax_0_sgst_amount\": 270.00,\n  \"subtotal\": 3000.00,\n  \"total\": 3540.00,\n  \"company_name\": \"Digital Services LLC\",\n  \"company_email\": \"billing@digitalservices.com\",\n  \"payment_transaction_ids\": \"TXN123456789\",\n  \"mode_of_payment\": \"Bank Transfer\"\n}\n```\n\n## 🛠️ Troubleshooting & Best Practices\n\n### **Common Issues & Solutions**\n\n**PDF Extraction Challenges**\n- **Scanned Documents**: Original workflow handles text-based PDFs only\n- **Complex Layouts**: Some invoice formats may require prompt refinement\n- **Multi-Page Invoices**: Large invoices might need pagination handling\n- **Password Protection**: Encrypted PDFs require manual processing\n\n**AI Extraction Accuracy**\n- **Field Recognition**: Some custom invoice formats may need prompt tuning\n- **Currency Handling**: Multi-currency invoices may require specific configuration\n- **Date Formats**: International date formats might need standardization\n- **Vendor Variations**: Different vendor invoice styles may affect accuracy\n\n**Gmail Integration Limitations**\n- **Label Management**: Ensure consistent labeling for proper processing\n- **Attachment Size**: Large PDFs may hit Gmail API limits\n- **Email Volume**: High-volume processing may require rate limiting\n- **Security Settings**: Corporate Gmail may have additional restrictions\n\n### **Optimization Strategies**\n\n**Processing Efficiency**\n- **Batch Processing**: Group similar invoices for more efficient processing\n- **Template Recognition**: Create vendor-specific extraction templates\n- **Quality Scoring**: Implement confidence ratings for extracted data\n- **Error Handling**: Add fallback processes for failed extractions\n\n**Data Quality Assurance**\n- **Validation Rules**: Implement business logic for data verification\n- **Duplicate Detection**: Prevent duplicate invoice processing\n- **Manual Review Queues**: Flag uncertain extractions for human review\n- **Audit Logging**: Maintain detailed processing logs for troubleshooting\n\n**Business Process Integration**\n- **Approval Workflows**: Add management approval steps for high-value invoices\n- **Exception Handling**: Create special processes for unusual invoice types\n- **Reporting Automation**: Generate regular summaries of processed invoices\n- **Archive Management**: Implement retention policies for processed documents\n\n## 📈 Success Metrics\n\n### **Efficiency Improvements**\n- **Processing Time**: Reduce manual data entry from hours to minutes\n- **Accuracy Rates**: Achieve 95%+ data extraction accuracy\n- **Volume Capacity**: Process 10-50x more invoices with same resources\n- **Error Reduction**: Eliminate manual transcription errors\n\n### **Business Impact Measurements**\n- **Cost Savings**: Calculate labor cost reduction from automation\n- **Cash Flow Management**: Faster invoice processing enables better payment scheduling\n- **Compliance**: Improved audit trails and data consistency\n- **Scalability**: Ability to handle business growth without proportional staff increase\n\n## 📞 Questions & Support\n\nNeed help implementing or optimizing your AI Invoice Processor Agent?\n\n**📧 Expert Technical Support**\n- **Email**: Yaron@nofluff.online\n- **Response Time**: Within 24 hours on business days\n- **Specialization**: Invoice processing automation, AI data extraction, accounting workflow integration\n\n**🎥 Comprehensive Training Resources**\n- **YouTube Channel**: [https://www.youtube.com/@YaronBeen/videos](https://www.youtube.com/@YaronBeen/videos)\n  - Complete setup and configuration walkthroughs\n  - Advanced customization for different invoice types\n  - Integration tutorials for popular accounting software\n  - Troubleshooting common extraction and processing issues\n  - Best practices for financial document automation\n\n**🤝 Professional Community & Updates**\n- **LinkedIn**: [https://www.linkedin.com/in/yaronbeen/](https://www.linkedin.com/in/yaronbeen/)\n  - Connect for ongoing automation consulting and support\n  - Share your invoice processing success stories and ROI results\n  - Access exclusive workflow templates and advanced configurations\n  - Join discussions about financial automation trends and innovations\n\n**💬 Support Request Guidelines**\nInclude in your support message:\n- Your current invoice processing volume and types\n- Specific vendor formats or invoice layouts you handle\n- Target accounting software or systems for integration\n- Any technical errors or extraction accuracy issues\n- Current manual processing workflow and pain points\n\n\n\n---\n\n*Ready to eliminate manual invoice processing forever? Deploy this AI Invoice Processor Agent and transform your accounting workflow from tedious data entry into intelligent, automated financial management!*",
    "workflow": {
      "meta": {
        "instanceId": "5aaf4236c70e34e423fbdb2c7b754d19253a933bb1476d548f75848a01e473cf",
        "templateCredsSetupCompleted": true
      },
      "nodes": [
        {
          "id": "70ca3a90-55c8-4e46-9278-6a8fd3d107cd",
          "name": "Gmail Trigger",
          "type": "n8n-nodes-base.gmailTrigger",
          "position": [
            -1820,
            220
          ],
          "parameters": {
            "simple": false,
            "filters": {
              "labelIds": [
                "Label_1393502052621954450"
              ]
            },
            "options": {
              "downloadAttachments": true
            },
            "pollTimes": {
              "item": [
                {
                  "mode": "everyMinute"
                }
              ]
            }
          },
          "typeVersion": 1.2
        },
        {
          "id": "f7dcff0f-7e98-4042-a33e-2fc32d876908",
          "name": "Create blank spreadsheet",
          "type": "n8n-nodes-base.googleSheets",
          "position": [
            -780,
            220
          ],
          "parameters": {
            "title": "=invoice_{{ $now }}",
            "options": {},
            "resource": "spreadsheet",
            "sheetsUi": {
              "sheetValues": [
                {
                  "title": "=invoice_details"
                }
              ]
            }
          },
          "executeOnce": false,
          "typeVersion": 4.5
        },
        {
          "id": "9769ad04-a41c-4d55-806a-042b7d00e131",
          "name": "Move spreadsheet in invoice folder",
          "type": "n8n-nodes-base.googleDrive",
          "position": [
            -560,
            220
          ],
          "parameters": {
            "fileId": {
              "__rl": true,
              "mode": "id",
              "value": "={{ $json.spreadsheetId }}"
            },
            "driveId": {
              "__rl": true,
              "mode": "list",
              "value": "My Drive",
              "cachedResultUrl": "https://drive.google.com/drive/my-drive",
              "cachedResultName": "My Drive"
            },
            "folderId": {
              "__rl": true,
              "mode": "list",
              "value": "1JIdajTJvK6gj4bRjniBJvHEJbQ1pn3AM",
              "cachedResultUrl": "https://drive.google.com/drive/folders/1JIdajTJvK6gj4bRjniBJvHEJbQ1pn3AM",
              "cachedResultName": "invoices"
            },
            "operation": "move"
          },
          "typeVersion": 3
        },
        {
          "id": "f9dbfe55-70b0-4abc-9745-9f4a65d5d1c2",
          "name": "OpenAI Chat Model",
          "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
          "position": [
            -1180,
            480
          ],
          "parameters": {
            "model": {
              "__rl": true,
              "mode": "list",
              "value": "gpt-4o-mini"
            },
            "options": {
              "responseFormat": "json_object"
            }
          },
          "credentials": {
            "openAiApi": {
              "id": "credential-id",
              "name": "openAiApi Credential"
            }
          },
          "typeVersion": 1.2
        },
        {
          "id": "00c59142-6079-4e9c-9374-ad487e48f072",
          "name": "Attachment Verification",
          "type": "n8n-nodes-base.filter",
          "position": [
            -1600,
            220
          ],
          "parameters": {
            "options": {
              "ignoreCase": false
            },
            "conditions": {
              "options": {
                "version": 2,
                "leftValue": "",
                "caseSensitive": true,
                "typeValidation": "strict"
              },
              "combinator": "and",
              "conditions": [
                {
                  "id": "efd974d9-aa20-461a-86ae-6e0a16d1527d",
                  "operator": {
                    "type": "object",
                    "operation": "exists",
                    "singleValue": true
                  },
                  "leftValue": "={{ $('Gmail Trigger').item.binary }}",
                  "rightValue": ""
                }
              ]
            }
          },
          "typeVersion": 2.2
        },
        {
          "id": "8a29ac14-be2b-468a-97fa-540d28e80006",
          "name": "Extract Invoice data",
          "type": "n8n-nodes-base.extractFromFile",
          "position": [
            -1380,
            220
          ],
          "parameters": {
            "options": {},
            "operation": "pdf",
            "binaryPropertyName": "={{ $('Attachment Verification').item.binary.keys() }}"
          },
          "typeVersion": 1
        },
        {
          "id": "ae08cdc8-fcf9-4891-be86-b2dcf6f35278",
          "name": "Preparing Final data",
          "type": "n8n-nodes-base.code",
          "position": [
            -340,
            220
          ],
          "parameters": {
            "mode": "runOnceForEachItem",
            "jsCode": "// Loop over input items and add a new field called 'myNewField' to the JSON of $input$json.output.first().json.outputeach one\n\nlet invoice_details = $('Invoice AI Agent').item.json.output\n\nreturn JSON.parse(invoice_details)"
          },
          "typeVersion": 2
        },
        {
          "id": "7615a5b0-8761-43e2-82b0-32ac5c772f44",
          "name": "Final Spreadsheet with Invoice data",
          "type": "n8n-nodes-base.googleSheets",
          "position": [
            -140,
            220
          ],
          "parameters": {
            "columns": {
              "value": {},
              "schema": [
                {
                  "id": "billed_to",
                  "type": "string",
                  "display": true,
                  "removed": false,
                  "required": false,
                  "displayName": "billed_to",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "invoice_number",
                  "type": "string",
                  "display": true,
                  "removed": false,
                  "required": false,
                  "displayName": "invoice_number",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "date_of_issue",
                  "type": "string",
                  "display": true,
                  "removed": false,
                  "required": false,
                  "displayName": "date_of_issue",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "due_date",
                  "type": "string",
                  "display": true,
                  "removed": false,
                  "required": false,
                  "displayName": "due_date",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "item_0_description",
                  "type": "string",
                  "display": true,
                  "removed": false,
                  "required": false,
                  "displayName": "item_0_description",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "item_0_quantity",
                  "type": "string",
                  "display": true,
                  "removed": false,
                  "required": false,
                  "displayName": "item_0_quantity",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "item_0_rate",
                  "type": "string",
                  "display": true,
                  "removed": false,
                  "required": false,
                  "displayName": "item_0_rate",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "item_0_amount",
                  "type": "string",
                  "display": true,
                  "removed": false,
                  "required": false,
                  "displayName": "item_0_amount",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "tax_0_cgst_rate",
                  "type": "string",
                  "display": true,
                  "removed": false,
                  "required": false,
                  "displayName": "tax_0_cgst_rate",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "tax_0_cgst_amount",
                  "type": "string",
                  "display": true,
                  "removed": false,
                  "required": false,
                  "displayName": "tax_0_cgst_amount",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "tax_0_sgst_rate",
                  "type": "string",
                  "display": true,
                  "removed": false,
                  "required": false,
                  "displayName": "tax_0_sgst_rate",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "tax_0_sgst_amount",
                  "type": "string",
                  "display": true,
                  "removed": false,
                  "required": false,
                  "displayName": "tax_0_sgst_amount",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "item_0_total_amount",
                  "type": "string",
                  "display": true,
                  "removed": false,
                  "required": false,
                  "displayName": "item_0_total_amount",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "subtotal",
                  "type": "string",
                  "display": true,
                  "removed": false,
                  "required": false,
                  "displayName": "subtotal",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "total",
                  "type": "string",
                  "display": true,
                  "removed": false,
                  "required": false,
                  "displayName": "total",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "terms",
                  "type": "string",
                  "display": true,
                  "removed": false,
                  "required": false,
                  "displayName": "terms",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "conditions_instructions",
                  "type": "string",
                  "display": true,
                  "removed": false,
                  "required": false,
                  "displayName": "conditions_instructions",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "company_name",
                  "type": "string",
                  "display": true,
                  "removed": false,
                  "required": false,
                  "displayName": "company_name",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "company_mobile",
                  "type": "string",
                  "display": true,
                  "removed": false,
                  "required": false,
                  "displayName": "company_mobile",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "company_email",
                  "type": "string",
                  "display": true,
                  "removed": false,
                  "required": false,
                  "displayName": "company_email",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "company_website",
                  "type": "string",
                  "display": true,
                  "removed": false,
                  "required": false,
                  "displayName": "company_website",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "payment_transaction_ids",
                  "type": "string",
                  "display": true,
                  "removed": false,
                  "required": false,
                  "displayName": "payment_transaction_ids",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "mode_of_payment",
                  "type": "string",
                  "display": true,
                  "removed": false,
                  "required": false,
                  "displayName": "mode_of_payment",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "billing_address",
                  "type": "string",
                  "display": true,
                  "removed": false,
                  "required": false,
                  "displayName": "billing_address",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "shipping_address",
                  "type": "string",
                  "display": true,
                  "removed": false,
                  "required": false,
                  "displayName": "shipping_address",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "place_of_supply",
                  "type": "string",
                  "display": true,
                  "removed": false,
                  "required": false,
                  "displayName": "place_of_supply",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "place_of_delivery",
                  "type": "string",
                  "display": true,
                  "removed": false,
                  "required": false,
                  "displayName": "place_of_delivery",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "gst_registration_no",
                  "type": "string",
                  "display": true,
                  "removed": false,
                  "required": false,
                  "displayName": "gst_registration_no",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                },
                {
                  "id": "pan_no",
                  "type": "string",
                  "display": true,
                  "removed": false,
                  "required": false,
                  "displayName": "pan_no",
                  "defaultMatch": false,
                  "canBeUsedToMatch": true
                }
              ],
              "mappingMode": "autoMapInputData",
              "matchingColumns": [],
              "attemptToConvertTypes": false,
              "convertFieldsToString": false
            },
            "options": {},
            "operation": "append",
            "sheetName": {
              "__rl": true,
              "mode": "name",
              "value": "invoice_details"
            },
            "documentId": {
              "__rl": true,
              "mode": "id",
              "value": "={{ $('Create blank spreadsheet').item.json.spreadsheetId }}"
            }
          },
          "typeVersion": 4.5
        },
        {
          "id": "e68aa386-7150-4070-a5d7-1dcb963b620d",
          "name": "Invoice AI Agent",
          "type": "@n8n/n8n-nodes-langchain.agent",
          "position": [
            -1160,
            220
          ],
          "parameters": {
            "text": "={{ $json.text }}",
            "options": {
              "systemMessage": "you are an financial advisor , who reads the array of data to identify certain elements of an Invoice, from the input data and provide a json response. use only following specified keys \nfor example:\n{\n\"billed_to\": \"John\",\n\"invoice_number\": \"569871234\",\n\"date_of_issue\": \"2025-05-21\",\n\"due_date\": \"2025-05-25\",\n\"item_0_description\": \"Computer CPU\",\n\"item_0_quantity\": 6,\n\"item_0_rate\": 15,\n\"item_0_amount\": 90,\n\"item_1_description\": \"Chair Wooden\",\n\"item_1_quantity\": 8,\n\"item_1_rate\": 10,\n\"item_1_amount\": 80,\n\"subtotal\": 170.00,\n\"discount\": 20.00,\n\"total\": 150.00,\n\"terms\": \"Sold items not be acceptable\",\n\"conditions_instructions\": \"xyaABC\",\n\"company_name\": \"Digital Electronics\",\n\"company_mobile\": \"987654321\",\n\"company_email\": \"user@example.com\",\n\"company_website\": \"www.abc.com\"\n}"
            },
            "promptType": "define",
            "hasOutputParser": true
          },
          "typeVersion": 1.9,
          "alwaysOutputData": false
        },
        {
          "id": "335a80c5-ad86-4379-b1a6-9a2ef7285f3c",
          "name": "Sticky Note",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -2860,
            100
          ],
          "parameters": {
            "width": 880,
            "height": 1520,
            "content": "AI Invoice Processor Agent: Email to Structured Data\nAutomatically extract, analyze, and organize invoice data from Gmail attachments into structured Google Sheets. Perfect for:\n✅ Accountants & bookkeepers — eliminate manual data entry from invoices\n✅ Small businesses — streamline invoice processing and tracking\n✅ Finance teams — automate accounts payable workflows\n\n⚙️ What's Used\nn8n Nodes:\nGmail Trigger → File Extraction → AI Agent → OpenAI Chat Model → Google Sheets → Google Drive\nExternal Tools:\n\nGmail API – Monitor specific labeled emails with attachments\nPDF Extraction – Convert invoice PDFs to readable text\nOpenAI GPT-4 – Intelligent invoice data extraction and structuring\nGoogle Sheets – Create organized spreadsheets with invoice details\nGoogle Drive – Automatically organize files in invoice folders\n\n\n🔑 Setup – Credentials Needed\n\nGmail OAuth2 → Access emails and download attachments\nOpenAI API Key → For AI-powered invoice data extraction\nGoogle Sheets OAuth2 → Create and populate spreadsheets\nGoogle Drive OAuth2 → Organize files in designated folders\n\n\n📧 Gmail Setup Required\nCreate a Gmail label (e.g., \"Invoice Processing\") and apply it to emails containing invoice attachments. The workflow will monitor this label for new emails every minute.\n\n🚀 Workflow Steps\n\nEmail Monitoring\nContinuously watches Gmail for new emails with specific labels and attachments\nAttachment Verification\nFilters emails to ensure they contain PDF attachments before processing\nData Extraction\nConverts PDF invoices to text and extracts readable content\nAI-Powered Analysis\nGPT processes invoice text and extracts structured data including:\n\nCompany details and contact information\nInvoice numbers, dates, and due dates\nLine items with quantities, rates, and amounts\nTax calculations (CGST, SGST, VAT)\nPayment terms and billing addresses\n\n\nSpreadsheet Creation\nCreates timestamped Google Sheets with organized invoice data\nFile Organization\nMoves processed spreadsheets to designated Drive folders for easy access\n\n\n📊 Extracted Data Fields\nThe AI identifies and organizes 25+ invoice elements:\n\nHeader Info: Billed to, invoice number, dates\nLine Items: Description, quantity, rate, amount\nTax Details: CGST/SGST rates and amounts\nCompany Info: Name, contact details, GST numbers\nPayment Info: Transaction IDs, payment methods\nAddresses: Billing, shipping, delivery locations\n\n\n💡 Pro Tips\n\nUse clear Gmail labels for different invoice types (vendors, clients, etc.)\nEnsure invoice PDFs are text-based (not scanned images) for best results\nCreate separate Drive folders for different accounting periods\nReview AI extraction accuracy and refine prompts as needed\nSet up email filters to automatically apply labels to vendor emails\n\n\n🛠️ Customize It\n\nAdd invoice approval workflows with email notifications\nConnect to accounting software (QuickBooks, Xero, SAP)\nInclude OCR processing for scanned invoice images\nAdd duplicate invoice detection and alerts\nCreate automated payment reminders based on due dates"
          },
          "typeVersion": 1
        }
      ],
      "pinData": {},
      "connections": {
        "Gmail Trigger": {
          "main": [
            [
              {
                "node": "Attachment Verification",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Invoice AI Agent": {
          "main": [
            [
              {
                "node": "Create blank spreadsheet",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "OpenAI Chat Model": {
          "ai_languageModel": [
            [
              {
                "node": "Invoice AI Agent",
                "type": "ai_languageModel",
                "index": 0
              }
            ]
          ]
        },
        "Extract Invoice data": {
          "main": [
            [
              {
                "node": "Invoice AI Agent",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Preparing Final data": {
          "main": [
            [
              {
                "node": "Final Spreadsheet with Invoice data",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Attachment Verification": {
          "main": [
            [
              {
                "node": "Extract Invoice data",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Create blank spreadsheet": {
          "main": [
            [
              {
                "node": "Move spreadsheet in invoice folder",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Move spreadsheet in invoice folder": {
          "main": [
            [
              {
                "node": "Preparing Final data",
                "type": "main",
                "index": 0
              }
            ]
          ]
        }
      }
    },
    "lastUpdatedBy": 29,
    "workflowInfo": {
      "nodeCount": 10,
      "nodeTypes": {
        "n8n-nodes-base.code": {
          "count": 1
        },
        "n8n-nodes-base.filter": {
          "count": 1
        },
        "n8n-nodes-base.stickyNote": {
          "count": 1
        },
        "n8n-nodes-base.googleDrive": {
          "count": 1
        },
        "n8n-nodes-base.gmailTrigger": {
          "count": 1
        },
        "n8n-nodes-base.googleSheets": {
          "count": 2
        },
        "@n8n/n8n-nodes-langchain.agent": {
          "count": 1
        },
        "n8n-nodes-base.extractFromFile": {
          "count": 1
        },
        "@n8n/n8n-nodes-langchain.lmChatOpenAi": {
          "count": 1
        }
      }
    },
    "status": "published",
    "user": {
      "name": "Yaron Been",
      "username": "yaron-nofluff",
      "bio": "Building AI Agents and Automations | Growth Marketer | Entrepreneur | Book Author & Podcast Host\n\nIf you need any help with Automations, feel free to reach out via linkedin:\nhttps://www.linkedin.com/in/yaronbeen/\n\nAnd check out my Youtube channel:\nhttps://www.youtube.com/@YaronBeen/videos",
      "verified": true,
      "links": [
        "https://www.nofluff.online/automation-services/"
      ],
      "avatar": "https://gravatar.com/avatar/a4e4dcaa1f76ff5266bbf80e8df86d22efda890474c68f7796e72fd82e3f2375?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": 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": 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"
          }
        ]
      },
      {
        "id": 844,
        "icon": "fa:filter",
        "name": "n8n-nodes-base.filter",
        "codex": {
          "data": {
            "alias": [
              "Router",
              "Filter",
              "Condition",
              "Logic",
              "Boolean",
              "Branch"
            ],
            "details": "The Filter node can be used to filter items based on a condition. If the condition is met, the item will be passed on to the next node. If the condition is not met, the item will be omitted. Conditions can be combined together by AND(meet all conditions), or OR(meet at least one condition).",
            "resources": {
              "generic": [],
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.filter/"
                }
              ]
            },
            "categories": [
              "Core Nodes"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0",
            "subcategories": {
              "Core Nodes": [
                "Flow",
                "Data Transformation"
              ]
            }
          }
        },
        "group": "[\"transform\"]",
        "defaults": {
          "name": "Filter",
          "color": "#229eff"
        },
        "iconData": {
          "icon": "filter",
          "type": "icon"
        },
        "displayName": "Filter",
        "typeVersion": 2,
        "nodeCategories": [
          {
            "id": 9,
            "name": "Core Nodes"
          }
        ]
      },
      {
        "id": 1119,
        "icon": "fa:robot",
        "name": "@n8n/n8n-nodes-langchain.agent",
        "codex": {
          "data": {
            "alias": [
              "LangChain",
              "Chat",
              "Conversational",
              "Plan and Execute",
              "ReAct",
              "Tools"
            ],
            "resources": {
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent/"
                }
              ]
            },
            "categories": [
              "AI",
              "Langchain"
            ],
            "subcategories": {
              "AI": [
                "Agents",
                "Root Nodes"
              ]
            }
          }
        },
        "group": "[\"transform\"]",
        "defaults": {
          "name": "AI Agent",
          "color": "#404040"
        },
        "iconData": {
          "icon": "robot",
          "type": "icon"
        },
        "displayName": "AI Agent",
        "typeVersion": 3,
        "nodeCategories": [
          {
            "id": 25,
            "name": "AI"
          },
          {
            "id": 26,
            "name": "Langchain"
          }
        ]
      },
      {
        "id": 1153,
        "icon": "file:openAiLight.svg",
        "name": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
        "codex": {
          "data": {
            "resources": {
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatopenai/"
                }
              ]
            },
            "categories": [
              "AI",
              "Langchain"
            ],
            "subcategories": {
              "AI": [
                "Language Models",
                "Root Nodes"
              ],
              "Language Models": [
                "Chat Models (Recommended)"
              ]
            }
          }
        },
        "group": "[\"transform\"]",
        "defaults": {
          "name": "OpenAI Chat Model"
        },
        "iconData": {
          "type": "file",
          "fileBuffer": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTM2Ljg2NzEgMTYuMzcxOEMzNy43NzQ2IDEzLjY0OCAzNy40NjIxIDEwLjY2NDIgMzYuMDEwOCA4LjE4NjYxQzMzLjgyODIgNC4zODY1MyAyOS40NDA3IDIuNDMxNDkgMjUuMTU1NiAzLjM1MTUxQzIzLjI0OTMgMS4yMDM5NiAyMC41MTA1IC0wLjAxNzMxNDggMTcuNjM5MiAwLjAwMDE4NTUzM0MxMy4yNTkxIC0wLjAwOTgxNDY4IDkuMzcyNzMgMi44MTAyNSA4LjAyNTIgNi45Nzc4M0M1LjIxMTM5IDcuNTU0MSAyLjc4MjU4IDkuMzE1MzggMS4zNjEzIDExLjgxMTdDLTAuODM3NDkzIDE1LjYwMTggLTAuMzM2MjMyIDIwLjM3OTQgMi42MDEzMyAyMy42Mjk0QzEuNjkzODEgMjYuMzUzMiAyLjAwNjMyIDI5LjMzNzEgMy40NTc2IDMxLjgxNDZDNS42NDAxNSAzNS42MTQ3IDEwLjAyNzcgMzcuNTY5NyAxNC4zMTI4IDM2LjY0OTdDMTYuMjE3OSAzOC43OTczIDE4Ljk1NzkgNDAuMDE4NSAyMS44MjkyIDM5Ljk5OThDMjYuMjExOCA0MC4wMTEgMzAuMDk5NCAzNy4xODg1IDMxLjQ0NjkgMzMuMDE3MUMzNC4yNjA4IDMyLjQ0MDkgMzYuNjg5NiAzMC42Nzk2IDM4LjExMDggMjguMTgzM0M0MC4zMDcxIDI0LjM5MzIgMzkuODA0NiAxOS42MTk0IDM2Ljg2ODMgMTYuMzY5M0wzNi44NjcxIDE2LjM3MThaTTIxLjgzMTcgMzcuMzg2QzIwLjA3OCAzNy4zODg1IDE4LjM3OTIgMzYuNzc0NyAxNy4wMzI5IDM1LjY1MDlDMTcuMDk0MSAzNS42MTg0IDE3LjIwMDQgMzUuNTU5NyAxNy4yNjkxIDM1LjUxNzJMMjUuMjM0MyAzMC45MTcxQzI1LjY0MTggMzAuNjg1OCAyNS44OTE4IDMwLjI1MjEgMjUuODg5MyAyOS43ODMzVjE4LjU1NDNMMjkuMjU1NyAyMC40OTgxQzI5LjI5MTkgMjAuNTE1NiAyOS4zMTU3IDIwLjU1MDYgMjkuMzIwNyAyMC41OTA2VjI5Ljg4OTZDMjkuMzE1NyAzNC4wMjQ3IDI1Ljk2NjggMzcuMzc3MiAyMS44MzE3IDM3LjM4NlpNNS43MjY0IDMwLjUwNzFDNC44NDc2MyAyOC45ODk2IDQuNTMxMzcgMjcuMjEwOCA0LjgzMjYzIDI1LjQ4NDVDNC44OTEzOCAyNS41MTk1IDQuOTk1MTMgMjUuNTgzMiA1LjA2ODg4IDI1LjYyNTdMMTMuMDM0MSAzMC4yMjU4QzEzLjQzNzggMzAuNDYyMSAxMy45Mzc4IDMwLjQ2MjEgMTQuMzQyOCAzMC4yMjU4TDI0LjA2NjggMjQuNjEwN1YyOC40OTgzQzI0LjA2OTMgMjguNTM4MyAyNC4wNTA1IDI4LjU3NyAyNC4wMTkzIDI4LjYwMkwxNS45Njc5IDMzLjI1MDlDMTIuMzgxNSAzNS4zMTU5IDcuODAxNDQgMzQuMDg4NCA1LjcyNzY1IDMwLjUwNzFINS43MjY0Wk0zLjYzMDEgMTMuMTIwNUM0LjUwNTEyIDExLjYwMDQgNS44ODY0IDEwLjQzNzkgNy41MzE0NCA5LjgzNDE1QzcuNTMxNDQgOS45MDI5IDcuNTI3NjkgMTAuMDI0MiA3LjUyNzY5IDEwLjEwOTJWMTkuMzEwNkM3LjUyNTE5IDE5Ljc3ODEgNy43NzUxOSAyMC4yMTE5IDguMTgxNDUgMjAuNDQzMUwxNy45MDU0IDI2LjA1N0wxNC41MzkxIDI4LjAwMDhDMTQuNTA1MyAyOC4wMjMzIDE0LjQ2MjggMjguMDI3IDE0LjQyNTMgMjguMDEwOEw2LjM3MjY2IDIzLjM1ODJDMi43OTM4MyAyMS4yODU2IDEuNTY2MzEgMTYuNzA2OCAzLjYyODg1IDEzLjEyMTdMMy42MzAxIDEzLjEyMDVaTTMxLjI4ODIgMTkuNTU2OUwyMS41NjQyIDEzLjk0MTdMMjQuOTMwNiAxMS45OTkyQzI0Ljk2NDMgMTEuOTc2NyAyNS4wMDY4IDExLjk3MjkgMjUuMDQ0MyAxMS45ODkyTDMzLjA5NyAxNi42MzhDMzYuNjgyMSAxOC43MDkzIDM3LjkxMDggMjMuMjk1NyAzNS44Mzk1IDI2Ljg4MDhDMzQuOTYzMyAyOC4zOTgzIDMzLjU4MzIgMjkuNTYwOCAzMS45Mzk1IDMwLjE2NThWMjAuNjg5NEMzMS45NDMyIDIwLjIyMTkgMzEuNjk0NSAxOS43ODk0IDMxLjI4OTQgMTkuNTU2OUgzMS4yODgyWk0zNC42MzgzIDE0LjUxNDJDMzQuNTc5NSAxNC40NzggMzQuNDc1OCAxNC40MTU1IDM0LjQwMiAxNC4zNzNMMjYuNDM2OCA5Ljc3Mjg5QzI2LjAzMzEgOS41MzY2NCAyNS41MzMxIDkuNTM2NjQgMjUuMTI4MSA5Ljc3Mjg5TDE1LjQwNDEgMTUuMzg4VjExLjUwMDRDMTUuNDAxNiAxMS40NjA0IDE1LjQyMDQgMTEuNDIxNyAxNS40NTE2IDExLjM5NjdMMjMuNTAzIDYuNzUxNThDMjcuMDg5NCA0LjY4Mjc5IDMxLjY3NDUgNS45MTQwNiAzMy43NDIgOS41MDE2NEMzNC42MTU4IDExLjAxNjcgMzQuOTMyIDEyLjc5MDUgMzQuNjM1OCAxNC41MTQySDM0LjYzODNaTTEzLjU3NDEgMjEuNDQzMUwxMC4yMDY1IDE5LjQ5OTRDMTAuMTcwMiAxOS40ODE5IDEwLjE0NjUgMTkuNDQ2OCAxMC4xNDE1IDE5LjQwNjhWMTAuMTA3OUMxMC4xNDQgNS45Njc4MSAxMy41MDI4IDIuNjEyNzQgMTcuNjQyOSAyLjYxNTI0QzE5LjM5NDIgMi42MTUyNCAyMS4wODkyIDMuMjMwMjUgMjIuNDM1NSA0LjM1MDI4QzIyLjM3NDMgNC4zODI3OCAyMi4yNjkzIDQuNDQxNTMgMjIuMTk5MiA0LjQ4NDAzTDE0LjIzNDEgOS4wODQxM0MxMy44MjY2IDkuMzE1MzggMTMuNTc2NiA5Ljc0Nzg5IDEzLjU3OTEgMTAuMjE2N0wxMy41NzQxIDIxLjQ0MDZWMjEuNDQzMVpNMTUuNDAyOSAxNy41MDA2TDE5LjczNDIgMTQuOTk5M0wyNC4wNjU1IDE3LjQ5OTNWMjIuNTAwN0wxOS43MzQyIDI1LjAwMDdMMTUuNDAyOSAyMi41MDA3VjE3LjUwMDZaIiBmaWxsPSIjN0Q3RDg3Ii8+Cjwvc3ZnPgo="
        },
        "displayName": "OpenAI Chat Model",
        "typeVersion": 1,
        "nodeCategories": [
          {
            "id": 25,
            "name": "AI"
          },
          {
            "id": 26,
            "name": "Langchain"
          }
        ]
      },
      {
        "id": 1235,
        "icon": "file:extractFromFile.svg",
        "name": "n8n-nodes-base.extractFromFile",
        "codex": {
          "data": {
            "alias": [
              "CSV",
              "Spreadsheet",
              "Excel",
              "xls",
              "xlsx",
              "ods",
              "tabular",
              "decode",
              "decoding",
              "Move Binary Data",
              "Binary",
              "File",
              "PDF",
              "JSON",
              "HTML",
              "ICS",
              "iCal",
              "txt",
              "Text",
              "RTF",
              "XML",
              "64",
              "Base64",
              "Convert"
            ],
            "resources": {
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.extractfromfile/"
                }
              ]
            },
            "categories": [
              "Core Nodes"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0",
            "subcategories": {
              "Core Nodes": [
                "Files",
                "Data Transformation"
              ]
            }
          }
        },
        "group": "[\"input\"]",
        "defaults": {
          "name": "Extract from File"
        },
        "iconData": {
          "type": "file",
          "fileBuffer": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTAuOTM3NSAyQzAuNDE5NzMzIDIgMCAyLjQxOTczIDAgMi45Mzc1VjM3LjMyMjFDMCAzNy44Mzk5IDAuNDE5NzMzIDM4LjI1OTYgMC45Mzc1IDM4LjI1OTZIMjYuMjE1NEMyNi43MzMyIDM4LjI1OTYgMjcuMTUyOSAzNy44Mzk5IDI3LjE1MjkgMzcuMzIyMUwyNy4xNTI5IDMwLjY3MTlMMTYuNzk2OSAzMC42NzE5QzE0Ljg5ODQgMzAuNjcxOSAxMy4zNTk0IDI5LjEzMjkgMTMuMzU5NCAyNy4yMzQ0VjI1LjM1OTRDMTMuMzU5NCAyMy40NjA5IDE0Ljg5ODQgMjEuOTIxOSAxNi43OTY5IDIxLjkyMTlIMjcuMTUyOUwyNy4xNTI5IDE1Ljc4MjFIMTQuMzA4M0MxMy43OTA2IDE1Ljc4MjEgMTMuMzcwOCAxNS4zNjI0IDEzLjM3MDggMTQuODQ0NlYySDAuOTM3NVoiIGZpbGw9IiMzNTNGNkUiLz4KPHBhdGggZD0iTTE2LjAyNzEgMkMxNS45NDA4IDIgMTUuODcwOCAyLjA2OTk2IDE1Ljg3MDggMi4xNTYyNVYxMi44MTM0QzE1Ljg3MDggMTMuMDcyMyAxNi4wODA3IDEzLjI4MjEgMTYuMzM5NiAxMy4yODIxSDI2Ljk5NjdDMjcuMDgzIDEzLjI4MjEgMjcuMTUyOSAxMy4yMTIyIDI3LjE1MjkgMTMuMTI1OUwyNy4xNTI5IDEyLjYxNzFDMjcuMTUyOSAxMi4zNjg4IDI3LjA1NDUgMTIuMTMwNyAyNi44NzkxIDExLjk1NUwxNy4yMjI1IDIuMjc1MzhDMTcuMDQ2NiAyLjA5OTA4IDE2LjgwNzkgMiAxNi41NTg4IDJIMTYuMDI3MVoiIGZpbGw9IiMzNTNGNkUiLz4KPHBhdGggZD0iTTI5Ljc2NDIgMzQuNjUwM0MyOS4wMzQgMzMuOTE2IDI5LjAzNzQgMzIuNzI4OCAyOS43NzE2IDMxLjk5ODZMMzMuNjE5NyAyOC4xNzE5TDE2Ljc5NjkgMjguMTcxOUMxNi4yNzkxIDI4LjE3MTkgMTUuODU5NCAyNy43NTIxIDE1Ljg1OTQgMjcuMjM0NFYyNS4zNTk0QzE1Ljg1OTQgMjQuODQxNiAxNi4yNzkxIDI0LjQyMTkgMTYuNzk2OSAyNC40MjE5TDMzLjU0MTIgMjQuNDIxOUwyOS43NzE2IDIwLjY3MzNDMjkuMDM3NCAxOS45NDMxIDI5LjAzNCAxOC43NTU5IDI5Ljc2NDIgMTguMDIxNkMzMC40OTQ0IDE3LjI4NzQgMzEuNjgxNiAxNy4yODQgMzIuNDE1OSAxOC4wMTQyTDM5LjQ0NzEgMjUuMDA2NEMzOS44MDEgMjUuMzU4MyA0MCAyNS44MzY4IDQwIDI2LjMzNTlDNDAgMjYuODM1IDM5LjgwMSAyNy4zMTM1IDM5LjQ0NzEgMjcuNjY1NUwzMi40MTU5IDM0LjY1NzZDMzEuNjgxNiAzNS4zODc4IDMwLjQ5NDQgMzUuMzg0NSAyOS43NjQyIDM0LjY1MDNaIiBmaWxsPSIjMzUzRjZFIi8+Cjwvc3ZnPgo="
        },
        "displayName": "Extract from File",
        "typeVersion": 1,
        "nodeCategories": [
          {
            "id": 9,
            "name": "Core Nodes"
          }
        ]
      }
    ],
    "categories": [
      {
        "id": 34,
        "name": "Invoice Processing"
      },
      {
        "id": 49,
        "name": "AI Summarization"
      }
    ],
    "image": []
  }
}