{
  "meta": {
    "instanceId": "2000c64071c20843606b95c63795bb0797c41036047055a6586498e855b96efc"
  },
  "nodes": [
    {
      "id": "6f21b176-7f42-4cbb-938e-5ffd61aac490",
      "name": "Upload to Google Drive",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        -720,
        -320
      ],
      "parameters": {
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive"
        },
        "options": {},
        "folderId": {
          "__rl": true,
          "mode": "id",
          "value": "YOUR_GOOGLE_DRIVE_FOLDER_ID"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "9ff0cc89-232e-4720-8ffd-ad3a516d0fd2",
      "name": "Gmail Trigger",
      "type": "n8n-nodes-base.gmailTrigger",
      "position": [
        -1248,
        -320
      ],
      "parameters": {
        "filters": {},
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "ab199d88-e3c0-4ce4-96af-fe338e45484e",
      "name": "If (has Attachments)",
      "type": "n8n-nodes-base.if",
      "position": [
        -976,
        -320
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "conditions": [
            {
              "id": "has-attachments",
              "operator": {
                "type": "number",
                "operation": "notEquals"
              },
              "leftValue": "={{ $json.attachments.length }}",
              "rightValue": 0
            }
          ]
        }
      },
      "typeVersion": 2
    },
    {
      "id": "3b2f527f-7376-4a5e-b937-44877b90046d",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1312,
        -880
      ],
      "parameters": {
        "color": 7,
        "width": 832,
        "height": 768,
        "content": "## Gmail Attachment Extractor to Google Drive\n\nHow It Works\nThis workflow operates in three main steps:\n\nGmail New Email Trigger:\n\nThe workflow starts with a Gmail Trigger node, set to monitor for new emails in your specified Gmail inbox (e.g., your primary inbox).\n\nIt checks for emails that contain attachments.\n\nConditional Check (Optional but Recommended):\n\nAn If node checks if the email actually has attachments. This prevents errors if an email without an attachment somehow triggers the workflow.\n\nUpload to Google Drive:\n\nA Google Drive node receives the email data and its attachments.\n\nIt's configured to upload these attachments to a specific folder in your Google Drive.\n\nThe attachments are named dynamically based on their original filenames.\n\n\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "48285db9-5075-4bd4-8642-5749267324b8",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -416,
        -928
      ],
      "parameters": {
        "color": 7,
        "height": 880,
        "content": "## Setup Steps\nTo get this workflow up and running, follow these instructions:\n\nStep 1: Create Gmail and Google Drive Credentials in n8n\n\nIn your n8n instance, click on Credentials in the left sidebar.\n\nClick New Credential.\n\nSearch for and select \"Gmail OAuth2 API\" and follow the authentication steps with your Google account. Save it.\n\nClick New Credential again.\n\nSearch for and select \"Google Drive OAuth2 API\" and follow the authentication steps with your Google account. Save it.\n\nMake note of the Credential Names (e.g., \"My Gmail Account\", \"My Google Drive Account\").\n\nStep 2: Create a Destination Folder in Google Drive\n\nGo to your Google Drive (drive.google.com).\n\nCreate a new folder where you want to save the email attachments (e.g., Email Attachments Archive).\n\nCopy the Folder ID from the URL (e.g., https://drive.google.com/drive/folders/YOUR_FOLDER_ID_HERE)."
      },
      "typeVersion": 1
    },
    {
      "id": "1cf8d9e0-1d2b-4d9e-a1bc-5e4713ffb848",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1632,
        -832
      ],
      "parameters": {
        "color": 7,
        "height": 688,
        "content": "##  Configure the Nodes\n\nGmail Trigger Node:\n\nSelect your Gmail credential under the \"Credentials\" section.\n\nThe default settings monitor new emails with attachments. You can adjust Polling Interval if needed.\n\nUpload to Google Drive Node:\n\nSelect your Google Drive credential under the \"Credentials\" section.\n\nIn the \"Folder ID\" field, replace YOUR_GOOGLE_DRIVE_FOLDER_ID with the ID you copied in Step 2.\n\nThe File Name is set dynamically to ={{ $node[\"Gmail Trigger\"].json[\"attachments\"][0][\"filename\"] }} to use the original attachment name.\n\n"
      },
      "typeVersion": 1
    }
  ],
  "pinData": {},
  "connections": {
    "Gmail Trigger": {
      "main": [
        [
          {
            "node": "If (has Attachments)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If (has Attachments)": {
      "main": [
        [
          {
            "node": "Upload to Google Drive",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}