{
  "name": "Host a static HTML KPI dashboard from Google Sheets with CustomJS",
  "nodes": [
    {
      "id": "c430dbe3-a6b8-4e18-8cf8-a5e42a495f46",
      "name": "When clicking ‘Execute workflow’",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        5856,
        1920
      ]
    },
    {
      "id": "a63f4cbf-2477-4662-b651-af1c14332d32",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        4528,
        1408
      ],
      "parameters": {
        "width": 1200,
        "height": 1184,
        "content": "# Hosting Static HTML KPI Dashboard with CustomJS\n\n[KPI Google Sheet](https://docs.google.com/spreadsheets/d/10mj6hngkPTg1_A6bVNn8QfKujap6j-Lrt_LwAkY2d7Q/edit?usp=sharing)  \n\nThis workflow automatical"
      }
    },
    {
      "id": "63aad3dc-26fd-4427-ab40-762761c6b1fe",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        5776,
        1824
      ],
      "parameters": {
        "width": 960,
        "height": 416,
        "content": "## Collect sheet data and convert to json"
      }
    },
    {
      "id": "dd1a3ad4-505f-4222-a05c-e66bd9332c99",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        6848,
        1824
      ],
      "parameters": {
        "width": 544,
        "height": 416,
        "content": "## Build and publish HTML"
      }
    },
    {
      "id": "63ab98d5-413e-4c9f-9334-742c5a87c3b4",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        7504,
        1840
      ],
      "parameters": {
        "width": 432,
        "height": 400,
        "content": "## Generate QR code"
      }
    },
    {
      "id": "3ceea1d1-37dd-48f3-a571-4a9bbbe02479",
      "name": "HTML",
      "type": "n8n-nodes-base.html",
      "position": [
        6960,
        1968
      ]
    },
    {
      "id": "af3d762b-f5c4-4b39-8f0a-8bf275e53dc7",
      "name": "Get Data From Sheet",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        6096,
        1968
      ]
    },
    {
      "id": "effc82e4-f01b-4984-8b4b-5353d203f4f7",
      "name": "Convert HTML to PDF",
      "type": "@custom-js/n8n-nodes-pdf-toolkit-v2.pdfToolkit",
      "position": [
        7632,
        1968
      ]
    },
    {
      "id": "9ec01a64-4ba6-4df0-a3fc-8d4dc711af49",
      "name": "Extract from File",
      "type": "n8n-nodes-base.extractFromFile",
      "position": [
        6320,
        1968
      ]
    },
    {
      "id": "c05037bf-f6cb-4238-b45d-17f7bd3c3304",
      "name": "Aggregate",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        6512,
        1968
      ]
    },
    {
      "id": "64a36470-99ac-45a7-86c5-6d40ca508615",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        5856,
        2096
      ]
    },
    {
      "id": "95630953-76c3-4af6-80d9-4714c17715df",
      "name": "Upsert HTML Page",
      "type": "@custom-js/n8n-nodes-pdf-toolkit-v2.pdfToolkit",
      "position": [
        7200,
        1968
      ]
    }
  ],
  "connections": {
    "HTML": {
      "main": [
        [
          {
            "node": "Upsert HTML Page",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate": {
      "main": [
        [
          {
            "node": "HTML",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "Get Data From Sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upsert HTML Page": {
      "main": [
        [
          {
            "node": "Convert HTML to PDF",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract from File": {
      "main": [
        [
          {
            "node": "Aggregate",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Data From Sheet": {
      "main": [
        [
          {
            "node": "Extract from File",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking ‘Execute workflow’": {
      "main": [
        [
          {
            "node": "Get Data From Sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}