{
  "workflow": {
    "id": 6611,
    "name": "Auto file organizer for Google Drive: sort PDFs, images & documents by type",
    "views": 907,
    "recentViews": 0,
    "totalViews": 907,
    "createdAt": "2025-07-29T07:20:53.245Z",
    "description": "**Description:**\n\nThis ready-to-deploy n8n automation template smartly detects and classifies files uploaded to a specified Google Drive folder based on MIME type. It automatically moves each file into its correct destination folder: Documents, PDFs, or Images — ensuring a clean and organized Drive, effortlessly.\n\nPerfect for remote teams, admins, educators, legal pros, and automation-focused operations, this workflow eliminates manual sorting and saves hours of repetitive work.\n\n**What This Template Does (Step-by-Step)**\n\n⚙️Manual Trigger: Launch the workflow on demand using the \"Execute Workflow\" trigger.\n\n📁 Search Files in Source Folder (Google Drive): Lists all files inside your chosen folder (e.g., \"Uploads\").\n\n🔁 Loop Over Files (SplitInBatches): Iterates through each file one-by-one to ensure reliability.\n\n📥 Download File (Google Drive): Retrieves file metadata and MIME type required for filtering.\n\n🧠 Smart File Type Detection via If Nodes\n- application/json → Move to Documents folder\n- application/pdf → Move to PDFs folder\n- image/jpeg → Move to Images folder\n(Easily customizable to support additional types like PNG, DOCX, etc.)\n\n📂 Move Files to Designated Folders: Uses Google Drive API to relocate each file to its proper location.\n\n🔁 Loop Returns for Next File\nAfter each move, the loop picks the next file in queue.\n\n**Key Features**\n\n⚙️ Google Drive API v3 Integration\n🔐 OAuth2 for secure access\n📄 MIME-type–based routing logic\n🔁 Batch-safe with looping logic\n✅ File properties are preserved\n🔄 Auto-removal from source after sorting\n\n**Required Integration**\nGoogle Drive (OAuth2)\n\n**Use Cases**\n\n- Auto-organize client uploads\n- Separate scanned PDFs, images, or forms\n- Route invoices, receipts, or contracts into folders\n- Automatically sort uploaded assignments or resources\n- Maintain structured cloud storage without manual intervention\n\n**Why Use This Template?**\n\n✅ No-code deployment\n✅ Saves hours of manual work\n✅ Works across teams, departments, or shared Drives\n✅ Easy to expand with more file types or routing rules\n✅ Keeps your Drive clean, fast, and organized",
    "workflow": {
      "id": "Kg8UgSiA0utYWQ0J",
      "meta": {
        "instanceId": "8443f10082278c46aa5cf3acf8ff0f70061a2c58bce76efac814b16290845177",
        "templateCredsSetupCompleted": true
      },
      "name": "Auto move files",
      "tags": [],
      "nodes": [
        {
          "id": "ebf3a973-602f-4a01-8a74-6df55ad6d113",
          "name": "If Image",
          "type": "n8n-nodes-base.if",
          "notes": "🖼️ IMAGE FILE DETECTION\n\nChecks if the uploaded file is an image:\n\n• Examines the file's MIME type\n• Looks for 'image/' in the MIME type\n• Supports: JPG, PNG, GIF, WebP, SVG, etc.\n• TRUE path: Routes to 'Move to Images'\n• FALSE path: File continues to next filter\n\nExample MIME types: image/jpeg, image/png",
          "position": [
            400,
            976
          ],
          "parameters": {
            "options": {
              "ignoreCase": true,
              "looseTypeValidation": false
            },
            "conditions": {
              "options": {
                "version": 1,
                "leftValue": "",
                "caseSensitive": false,
                "typeValidation": "strict"
              },
              "combinator": "or",
              "conditions": [
                {
                  "id": "3e4622cc-91f0-4cbd-bd55-e3ad4e28f32b",
                  "operator": {
                    "type": "string",
                    "operation": "equals"
                  },
                  "leftValue": "={{$binary.data.mimeType}}",
                  "rightValue": "image/jpeg"
                }
              ]
            }
          },
          "typeVersion": 2,
          "alwaysOutputData": true
        },
        {
          "id": "13e7f0a2-8dde-4e42-a94f-1f81353c95e9",
          "name": "If PDF",
          "type": "n8n-nodes-base.if",
          "notes": "📄 PDF FILE DETECTION\n\nChecks if the uploaded file is a PDF document:\n\n• Looks for exact MIME type 'application/pdf'\n• Only matches PDF files\n• TRUE path: Routes to 'Move to PDFs'\n• FALSE path: File continues to next filter\n\nThis ensures only genuine PDF files are moved to the PDF folder.",
          "position": [
            256,
            576
          ],
          "parameters": {
            "options": {},
            "conditions": {
              "options": {
                "version": 1,
                "leftValue": "",
                "caseSensitive": true,
                "typeValidation": "strict"
              },
              "combinator": "and",
              "conditions": [
                {
                  "id": "18052dba-fa6b-4fd4-ac5f-f6abb10575b9",
                  "operator": {
                    "type": "string",
                    "operation": "equals"
                  },
                  "leftValue": "={{$binary.data.mimeType}}",
                  "rightValue": "application/pdf"
                }
              ]
            }
          },
          "typeVersion": 2
        },
        {
          "id": "e5331e89-34c7-4e63-b542-0d44b7e1aa42",
          "name": "Move to Images",
          "type": "n8n-nodes-base.googleDrive",
          "notes": "📁 MOVE IMAGE FILES\n\nMoves detected image files to the Images folder:\n\n• Uses the file ID from the trigger\n• Moves file to designated Images folder\n• Maintains file properties and permissions\n• Removes file from upload folder\n\nReplace 'YOUR_FOLDER_ID_IMAGES' with your actual Images folder ID.",
          "position": [
            672,
            1328
          ],
          "parameters": {
            "fileId": {
              "__rl": true,
              "mode": "id",
              "value": "={{ $json['id'] }}"
            },
            "driveId": {
              "__rl": true,
              "mode": "list",
              "value": "My Drive"
            },
            "folderId": {
              "__rl": true,
              "mode": "list",
              "value": "1_ecL9heszdG2vACtpfHsVEe4OAs89DzM",
              "cachedResultUrl": "https://drive.google.com/drive/folders/1_ecL9heszdG2vACtpfHsVEe4OAs89DzM",
              "cachedResultName": "images_check"
            },
            "operation": "move"
          },
          "credentials": {
            "googleDriveOAuth2Api": {
              "id": "credential-id",
              "name": "googleDriveOAuth2Api Credential"
            }
          },
          "typeVersion": 3
        },
        {
          "id": "d456c42b-604e-4a1d-ac7b-cea42c35a004",
          "name": "Move to PDFs",
          "type": "n8n-nodes-base.googleDrive",
          "notes": "📄 MOVE PDF FILES\n\nMoves detected PDF files to the PDFs folder:\n\n• Uses the file ID from the trigger\n• Moves file to designated PDFs folder\n• Maintains file properties and permissions\n• Removes file from upload folder\n\nReplace 'YOUR_FOLDER_ID_PDFS' with your actual PDFs folder ID.",
          "position": [
            608,
            752
          ],
          "parameters": {
            "fileId": {
              "__rl": true,
              "mode": "id",
              "value": "={{ $json['id'] }}"
            },
            "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": "1dHG2GI5WF3bg-Bw9ydD5fC_P5GqvdBFG",
              "cachedResultUrl": "https://drive.google.com/drive/folders/1dHG2GI5WF3bg-Bw9ydD5fC_P5GqvdBFG",
              "cachedResultName": "pdf_check"
            },
            "operation": "move"
          },
          "credentials": {
            "googleDriveOAuth2Api": {
              "id": "credential-id",
              "name": "googleDriveOAuth2Api Credential"
            }
          },
          "typeVersion": 3
        },
        {
          "id": "49fdce70-3f51-4edd-81fd-7c6f655b6c62",
          "name": "If Document",
          "type": "n8n-nodes-base.if",
          "notes": "📋 DOCUMENT FILE DETECTION\n\nChecks if the uploaded file is a document:\n\n• Looks for 'application/' OR 'text/' MIME types\n• Catches: Word docs, Excel, PowerPoint, text files\n• Excludes PDFs (handled separately)\n• TRUE path: Routes to 'Move to Documents'\n• FALSE path: File stays in upload folder\n\nExamples: .docx, .xlsx, .pptx, .txt, .rtf",
          "position": [
            -48,
            304
          ],
          "parameters": {
            "options": {},
            "conditions": {
              "options": {
                "version": 1,
                "leftValue": "",
                "caseSensitive": true,
                "typeValidation": "strict"
              },
              "combinator": "or",
              "conditions": [
                {
                  "id": "5ed7c752-f41d-496d-a003-56c95572b629",
                  "operator": {
                    "type": "string",
                    "operation": "equals"
                  },
                  "leftValue": "={{$binary.data.mimeType}}",
                  "rightValue": "application/json"
                }
              ]
            }
          },
          "typeVersion": 2
        },
        {
          "id": "6b1feaf3-4e3b-427c-9e82-7e5df72f284c",
          "name": "Move to Documents",
          "type": "n8n-nodes-base.googleDrive",
          "notes": "📋 MOVE DOCUMENT FILES\n\nMoves detected document files to the Documents folder:\n\n• Uses the file ID from the trigger\n• Moves file to designated Documents folder\n• Handles Word, Excel, PowerPoint, text files\n• Maintains file properties and permissions\n\nReplace 'YOUR_FOLDER_ID_DOCUMENTS' with your actual Documents folder ID.",
          "position": [
            528,
            288
          ],
          "parameters": {
            "fileId": {
              "__rl": true,
              "mode": "id",
              "value": "={{ $json['id'] }}"
            },
            "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": "1KUO_jw0WCQR1lDwlkvTk1XP_0PoLb3RR",
              "cachedResultUrl": "https://drive.google.com/drive/folders/1KUO_jw0WCQR1lDwlkvTk1XP_0PoLb3RR",
              "cachedResultName": "json_check"
            },
            "operation": "move"
          },
          "credentials": {
            "googleDriveOAuth2Api": {
              "id": "credential-id",
              "name": "googleDriveOAuth2Api Credential"
            }
          },
          "typeVersion": 3
        },
        {
          "id": "35df71bd-e674-4dc6-bbac-4ca6ae319d04",
          "name": "Download file",
          "type": "n8n-nodes-base.googleDrive",
          "position": [
            -512,
            304
          ],
          "parameters": {
            "fileId": {
              "__rl": true,
              "mode": "id",
              "value": "={{$json['id']}}"
            },
            "options": {},
            "operation": "download"
          },
          "credentials": {
            "googleDriveOAuth2Api": {
              "id": "credential-id",
              "name": "googleDriveOAuth2Api Credential"
            }
          },
          "typeVersion": 3
        },
        {
          "id": "358f6aba-5ac4-48c3-980a-296a75cae6fd",
          "name": "Loop Over Items",
          "type": "n8n-nodes-base.splitInBatches",
          "position": [
            -496,
            912
          ],
          "parameters": {
            "options": {}
          },
          "typeVersion": 3
        },
        {
          "id": "42c75b0e-47eb-442a-a842-e3e2fbe75d71",
          "name": "When clicking ‘Execute workflow’",
          "type": "n8n-nodes-base.manualTrigger",
          "position": [
            -944,
            912
          ],
          "parameters": {},
          "typeVersion": 1
        },
        {
          "id": "fb6d583c-79e8-433e-916c-e71da9352e4b",
          "name": "Search files and folders",
          "type": "n8n-nodes-base.googleDrive",
          "position": [
            -720,
            912
          ],
          "parameters": {
            "filter": {
              "folderId": {
                "__rl": true,
                "mode": "list",
                "value": "1CcHp9tPoC-f7-umMjLdUU-Y7GedKLQkx",
                "cachedResultUrl": "https://drive.google.com/drive/folders/1CcHp9tPoC-f7-umMjLdUU-Y7GedKLQkx",
                "cachedResultName": "Indore"
              }
            },
            "options": {},
            "resource": "fileFolder",
            "returnAll": true
          },
          "credentials": {
            "googleDriveOAuth2Api": {
              "id": "credential-id",
              "name": "googleDriveOAuth2Api Credential"
            }
          },
          "typeVersion": 3
        },
        {
          "id": "c7a7346e-0529-4191-a7cb-c56f02781d2a",
          "name": "Sticky Note",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -832,
            672
          ],
          "parameters": {
            "height": 224,
            "content": " Search files and folders (Google Drive)\n\nPurpose: Finds all files in a specific Google Drive folder\nFunction: Searches the \"Particular\" folder (ID:) for files to process\n\nOutput: Returns a list of all files found in that folder"
          },
          "typeVersion": 1
        },
        {
          "id": "ed19e989-a464-48cd-9b27-43d9850df4de",
          "name": "Sticky Note1",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -496,
            704
          ],
          "parameters": {
            "color": 3,
            "width": 272,
            "height": 192,
            "content": "Loop Over Items (Split in Batches)\n\nPurpose: Processes files one by one\nFunction: Takes the list of files and processes each file individually through the workflow\n\nFlow: Creates a loop that continues until all files are processed"
          },
          "typeVersion": 1
        },
        {
          "id": "107bb7f1-ff82-4b04-8e4b-9beea97d479a",
          "name": "Sticky Note2",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -752,
            48
          ],
          "parameters": {
            "color": 2,
            "width": 272,
            "height": 224,
            "content": "Download file (Google Drive)\n\nPurpose: Downloads file metadata and binary data\n\nFunction: Retrieves the file's MIME type and other properties needed for classification\nCritical: This step gets the file information needed for the conditional nodes"
          },
          "typeVersion": 1
        },
        {
          "id": "57ee82da-1948-4185-abf4-dc8bd251c125",
          "name": "Sticky Note3",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -144,
            -16
          ],
          "parameters": {
            "color": 4,
            "width": 304,
            "height": 288,
            "content": " If Document (Conditional Node)\n\nPurpose: Detects JSON document files\n\nLogic: Checks if MIME type equals \"application/json\"\nTrue Path: Routes to \"Move to Documents\"\n\nFalse Path: Continues to next filter (PDF check)\n\nNote: Despite the name, this specifically looks for JSON files"
          },
          "typeVersion": 1
        },
        {
          "id": "775c6f0f-3dbc-4e29-a7a3-97fd13a08afd",
          "name": "Sticky Note4",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            432,
            16
          ],
          "parameters": {
            "color": 6,
            "height": 240,
            "content": "Move to Documents (Google Drive)\n\nPurpose: Relocates JSON files to Documents folder\nTarget Folder: \"Your folder\" folder (ID:)\n\nAction: Moves file from source location to Documents folder\nAfter Move: Returns to loop for next file"
          },
          "typeVersion": 1
        },
        {
          "id": "e96270c2-507a-4ac7-aa62-0aaf28ed3c2c",
          "name": "Sticky Note5",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            -32,
            608
          ],
          "parameters": {
            "color": 5,
            "height": 304,
            "content": "If PDF (Conditional Node)\n\nPurpose: Detects PDF files\n\nLogic: Checks if MIME type exactly equals \"application/pdf\"\n\nTrue Path: Routes to \"Move to PDFs\"\n\nFalse Path: Continues to image check\n\nPrecision: Only matches genuine PDF files"
          },
          "typeVersion": 1
        },
        {
          "id": "f92b7dcb-e767-42da-899d-2bff7130b60e",
          "name": "Sticky Note6",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            720,
            512
          ],
          "parameters": {
            "color": 3,
            "height": 272,
            "content": "Move to PDFs (Google Drive)\n\nPurpose: Relocates PDF files to PDFs folder\n\nTarget Folder: \"Your folder\" folder (ID:)\n\nAction: Moves file from source location to PDFs folder\n\nAfter Move: Returns to loop for next file"
          },
          "typeVersion": 1
        },
        {
          "id": "17fd8e38-d636-496f-a1d7-ec413148a2bc",
          "name": "Sticky Note7",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            240,
            1120
          ],
          "parameters": {
            "color": 7,
            "height": 368,
            "content": "If Image (Conditional Node)\n\nPurpose: Detects image files\n\nLogic: Checks if MIME type equals \"image/jpeg\" (though notes suggest broader image support)\n\nTrue Path: Routes to \"Move to Images\"\n\nFalse Path: File remains unprocessed\n\nCoverage: Handles JPG files (could be expanded for PNG, GIF, etc.)"
          },
          "typeVersion": 1
        },
        {
          "id": "8c58f9d7-5c77-4d2a-83f9-061c2ac30810",
          "name": "Sticky Note8",
          "type": "n8n-nodes-base.stickyNote",
          "position": [
            832,
            1312
          ],
          "parameters": {
            "color": 5,
            "height": 272,
            "content": "Move to Images (Google Drive)\n\nPurpose: Relocates image files to Images folder\n\nTarget Folder: \"Your folder\" folder (ID:)\n\nAction: Moves file from source location to Images folder\n\nAfter Move: Returns to loop for next file"
          },
          "typeVersion": 1
        }
      ],
      "active": false,
      "pinData": {},
      "settings": {
        "executionOrder": "v1"
      },
      "versionId": "d08c53f6-2f34-4ffb-acb7-02d2fa36e73b",
      "connections": {
        "If PDF": {
          "main": [
            [
              {
                "node": "Move to PDFs",
                "type": "main",
                "index": 0
              }
            ],
            [
              {
                "node": "If Image",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "If Image": {
          "main": [
            [
              {
                "node": "Move to Images",
                "type": "main",
                "index": 0
              }
            ],
            []
          ]
        },
        "If Document": {
          "main": [
            [
              {
                "node": "Move to Documents",
                "type": "main",
                "index": 0
              }
            ],
            [
              {
                "node": "If PDF",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Move to PDFs": {
          "main": [
            [
              {
                "node": "Loop Over Items",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Download file": {
          "main": [
            [
              {
                "node": "If Document",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Move to Images": {
          "main": [
            [
              {
                "node": "Loop Over Items",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Loop Over Items": {
          "main": [
            [],
            [
              {
                "node": "Download file",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Move to Documents": {
          "main": [
            [
              {
                "node": "Loop Over Items",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Search files and folders": {
          "main": [
            [
              {
                "node": "Loop Over Items",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "When clicking ‘Execute workflow’": {
          "main": [
            [
              {
                "node": "Search files and folders",
                "type": "main",
                "index": 0
              }
            ]
          ]
        }
      }
    },
    "lastUpdatedBy": 29,
    "workflowInfo": {
      "nodeCount": 19,
      "nodeTypes": {
        "n8n-nodes-base.if": {
          "count": 3
        },
        "n8n-nodes-base.stickyNote": {
          "count": 9
        },
        "n8n-nodes-base.googleDrive": {
          "count": 5
        },
        "n8n-nodes-base.manualTrigger": {
          "count": 1
        },
        "n8n-nodes-base.splitInBatches": {
          "count": 1
        }
      }
    },
    "status": "published",
    "user": {
      "name": "Rahul Joshi",
      "username": "rahul08",
      "bio": "Rahul Joshi is a seasoned technology leader specializing in the n8n automation tool and AI-driven workflow automation. With deep expertise in building open-source workflow automation and self-hosted automation platforms, he helps organizations eliminate manual processes through intelligent n8n ai agent automation solutions.\n\n",
      "verified": true,
      "links": [
        "https://www.linkedin.com/in/callrahul/"
      ],
      "avatar": "https://gravatar.com/avatar/b6cf57822463143589b36ada06fbf6cb1509223a740fae3160b28f1ce41ccc12?r=pg&d=retro&size=200"
    },
    "nodes": [
      {
        "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": 39,
        "icon": "fa:sync",
        "name": "n8n-nodes-base.splitInBatches",
        "codex": {
          "data": {
            "alias": [
              "Loop",
              "Concatenate",
              "Batch",
              "Split",
              "Split In Batches"
            ],
            "resources": {
              "generic": [
                {
                  "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/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"
                }
              ],
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.splitinbatches/"
                }
              ]
            },
            "categories": [
              "Core Nodes"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0",
            "subcategories": {
              "Core Nodes": [
                "Flow"
              ]
            }
          }
        },
        "group": "[\"organization\"]",
        "defaults": {
          "name": "Loop Over Items",
          "color": "#007755"
        },
        "iconData": {
          "icon": "sync",
          "type": "icon"
        },
        "displayName": "Loop Over Items (Split in Batches)",
        "typeVersion": 3,
        "nodeCategories": [
          {
            "id": 9,
            "name": "Core Nodes"
          }
        ]
      },
      {
        "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": 838,
        "icon": "fa:mouse-pointer",
        "name": "n8n-nodes-base.manualTrigger",
        "codex": {
          "data": {
            "resources": {
              "generic": [],
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.manualworkflowtrigger/"
                }
              ]
            },
            "categories": [
              "Core Nodes"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0"
          }
        },
        "group": "[\"trigger\"]",
        "defaults": {
          "name": "When clicking ‘Execute workflow’",
          "color": "#909298"
        },
        "iconData": {
          "icon": "mouse-pointer",
          "type": "icon"
        },
        "displayName": "Manual Trigger",
        "typeVersion": 1,
        "nodeCategories": [
          {
            "id": 9,
            "name": "Core Nodes"
          }
        ]
      }
    ],
    "categories": [
      {
        "id": 36,
        "name": "File Management"
      }
    ],
    "image": []
  }
}