{
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "5432b2ed-adde-4021-b6b3-e75e43bd102c",
      "name": "When clicking \u2018Execute workflow\u2019",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -576,
        1728
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "dcdb5d9e-4f54-46af-8f45-b922cad98117",
      "name": "Convert to File",
      "type": "n8n-nodes-base.convertToFile",
      "position": [
        288,
        1344
      ],
      "parameters": {
        "options": {
          "sheetName": "Sheet1"
        },
        "operation": "xlsx"
      },
      "typeVersion": 1.1
    },
    {
      "id": "f4bd8d4b-0a5b-457a-819e-1caf7a3c6363",
      "name": "Convert to File1",
      "type": "n8n-nodes-base.convertToFile",
      "position": [
        288,
        1632
      ],
      "parameters": {
        "options": {
          "sheetName": "Sheet2"
        },
        "operation": "xlsx",
        "binaryPropertyName": "data2"
      },
      "typeVersion": 1.1
    },
    {
      "id": "f9ab703d-41fb-4e69-841a-62a952644084",
      "name": "Merge1",
      "type": "n8n-nodes-base.merge",
      "position": [
        624,
        1504
      ],
      "parameters": {
        "mode": "combine",
        "options": {},
        "combineBy": "combineAll"
      },
      "typeVersion": 3.2
    },
    {
      "id": "021b89d0-278d-4c85-9b67-f51baa3a0231",
      "name": "Sticky Note60",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        880,
        1264
      ],
      "parameters": {
        "color": 3,
        "width": 224,
        "height": 624,
        "content": "### 1\ufe0f\u20e3 Connect Google Sheets (OAuth2)\n1. In **n8n \u2192 Credentials \u2192 New \u2192 Google Sheets (OAuth2)**  \n2. Sign in with your Google account and grant access  \n3. **Copy the example sheet referenced in the Google Sheets node** (open the node and duplicate the linked sheet), or select your own  \n4. In the workflow\u2019s **Google Sheets** node, \n\nhttps://docs.google.com/spreadsheets/d/1G6FSm3VdMZt6VubM6g8j0mFw59iEw9npJE0upxj3Y6k/edit?gid=1978181834#gid=1978181834"
      },
      "typeVersion": 1
    },
    {
      "id": "dd8fef83-2469-4630-863e-08a307930e8a",
      "name": "Sticky Note62",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -240,
        1424
      ],
      "parameters": {
        "color": 3,
        "width": 224,
        "height": 544,
        "content": "### 2\ufe0f\u20e3 Connect Google Drive (OAuth2)\n1. In **n8n \u2192 Credentials \u2192 New \u2192 Google Drive (OAuth2)**  \n2. Sign in with the Google account that will store your Excel outputs and **allow access**  \n3. In your Drive-related nodes (if used), point to the **folder** where you want the `.xlsx` saved or retrieved\nmerges them into a **single workbook with multiple tabs**, and optionally appends rows to Google Sheets.  "
      },
      "typeVersion": 1
    },
    {
      "id": "b5413d5e-1efe-417e-b7c4-3ae52112d8ee",
      "name": "Sticky Note54",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -736,
        1040
      ],
      "parameters": {
        "color": 7,
        "width": 2144,
        "height": 1056,
        "content": "### Create multi-sheet Excel workbooks in n8n to automate reporting using Google Drive + Google Sheets\n\nBuild an automated Excel file with **multiple tabs** directly in n8n. Two Code nodes generate datasets, each is converted into its own Excel **worksheet**, then combined into a single `.xlsx` and (optionally) appended to a Google Sheet for sharing\u2014eliminating manual copy-paste and speeding up reporting.\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "203a12f7-582d-4664-bbbf-e1f6f3093567",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1184,
        1040
      ],
      "parameters": {
        "width": 400,
        "height": 1056,
        "content": "\n## Setup (only 2 connections)\n\n### 1\ufe0f\u20e3 Connect Google Sheets (OAuth2)\n1. In **n8n \u2192 Credentials \u2192 New \u2192 Google Sheets (OAuth2)**  \n2. Sign in with your Google account and grant access  \n3. **Copy the example sheet referenced in the Google Sheets node** (open the node and duplicate the linked sheet), or select your own  \n4. In the workflow\u2019s **Google Sheets** node, select your **Spreadsheet** and **Worksheet**\n\n### 2\ufe0f\u20e3 Connect Google Drive (OAuth2)\n1. In **n8n \u2192 Credentials \u2192 New \u2192 Google Drive (OAuth2)**  \n2. Sign in with the Google account that will store your Excel outputs and **allow access**  \n3. In your Drive-related nodes (if used), point to the **folder** where you want the `.xlsx` saved or retrieved\nmerges them into a **single workbook with multiple tabs**, and optionally appends rows to Google Sheets.  \n\n## \ud83d\udcec Contact  \nNeed help customizing this (e.g., filtering by campaign, sending reports by email, or formatting your PDF)?  \n\n- \ud83d\udce7 **rbreen@ynteractive.com**  \n- \ud83d\udd17 **https://www.linkedin.com/in/robert-breen-29429625/**  \n- \ud83c\udf10 **https://ynteractive.com**\n"
      },
      "typeVersion": 1
    },
    {
      "id": "e2a70f89-3424-4518-8bff-68e239b798c8",
      "name": "Data Set 1",
      "type": "n8n-nodes-base.code",
      "position": [
        0,
        1232
      ],
      "parameters": {
        "jsCode": "// Example: First two columns of data\nreturn [\n  { json: { Name: \"Alice\", Age: 30 } },\n  { json: { Name: \"Bob\", Age: 25 } },\n  { json: { Name: \"Charlie\", Age: 35 } },\n];\n"
      },
      "typeVersion": 2
    },
    {
      "id": "a700ca4e-57a2-4a23-ad99-9ad8abcace41",
      "name": "Data Set 2",
      "type": "n8n-nodes-base.code",
      "position": [
        32,
        1520
      ],
      "parameters": {
        "jsCode": "// Example: Another two columns of data\nreturn [\n  { json: { City: \"New York\", Country: \"USA\" } },\n  { json: { City: \"London\", Country: \"UK\" } },\n  { json: { City: \"Tokyo\", Country: \"Japan\" } },\n];\n"
      },
      "typeVersion": 2
    },
    {
      "id": "62762267-68ef-4750-9703-ca9d6a1fe424",
      "name": "Save to google sheets",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        960,
        1744
      ],
      "parameters": {
        "columns": {
          "value": {},
          "schema": [
            {
              "id": "City",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "City",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Country",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Country",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "autoMapInputData",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1978181834,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1G6FSm3VdMZt6VubM6g8j0mFw59iEw9npJE0upxj3Y6k/edit#gid=1978181834",
          "cachedResultName": "two"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1G6FSm3VdMZt6VubM6g8j0mFw59iEw9npJE0upxj3Y6k",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1G6FSm3VdMZt6VubM6g8j0mFw59iEw9npJE0upxj3Y6k/edit?usp=drivesdk",
          "cachedResultName": "Blank"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "1cd9ffc5-5a41-4fa6-9a45-0dcade22fd37",
      "name": "Export Excel file",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        -176,
        1824
      ],
      "parameters": {
        "fileId": {
          "__rl": true,
          "mode": "list",
          "value": "1G6FSm3VdMZt6VubM6g8j0mFw59iEw9npJE0upxj3Y6k",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1G6FSm3VdMZt6VubM6g8j0mFw59iEw9npJE0upxj3Y6k/edit?usp=drivesdk",
          "cachedResultName": "Blank"
        },
        "options": {},
        "operation": "download"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 3
    }
  ],
  "connections": {
    "Merge1": {
      "main": [
        [
          {
            "node": "Save to google sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Data Set 1": {
      "main": [
        [
          {
            "node": "Convert to File",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Data Set 2": {
      "main": [
        [
          {
            "node": "Convert to File1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Convert to File": {
      "main": [
        [
          {
            "node": "Merge1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Convert to File1": {
      "main": [
        [
          {
            "node": "Merge1",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "When clicking \u2018Execute workflow\u2019": {
      "main": [
        [
          {
            "node": "Export Excel file",
            "type": "main",
            "index": 0
          },
          {
            "node": "Data Set 1",
            "type": "main",
            "index": 0
          },
          {
            "node": "Data Set 2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}