{
  "name": "Two-way property repair management system with Google Sheets & Drive",
  "nodes": [
    {
      "id": "11681c1a-101b-4571-a356-50953964986f",
      "name": "Get row(s) in sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -240,
        -384
      ]
    },
    {
      "id": "77c2411e-5798-412a-8973-0008236ba01a",
      "name": "Upload Repair Photo",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        -240,
        48
      ]
    },
    {
      "id": "b9cb0d25-7952-4f45-b4eb-0543fc77d1cc",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1392,
        -64
      ],
      "parameters": {
        "width": 352,
        "height": 208,
        "content": "## Repair Updates Submitted\n\n-PRODUCTION URL must be in \"Repair Request\" email at end of Workflow 1. \n-Repair categories/questions set as FIELD NAMES in this node as.\n"
      }
    },
    {
      "id": "47975fa7-8e24-41d9-a025-e8ec03310ddd",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -304,
        272
      ],
      "parameters": {
        "width": null,
        "height": null,
        "content": "## Google Drive\n\n### -Add Drive Credential\n### -Select folder for photo storage\n\n"
      }
    },
    {
      "id": "0bd21377-576f-42af-a354-2d98f97e96b7",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -304,
        -592
      ],
      "parameters": {
        "width": null,
        "height": null,
        "content": "## Sheets:\n\n### -Google Sheets Credential\n### -Use UUID to collect row info\n\n"
      }
    },
    {
      "id": "00b9d433-c56f-486d-9c6b-91ca0e32bbf4",
      "name": "New details",
      "type": "n8n-nodes-base.set",
      "position": [
        -16,
        -208
      ]
    },
    {
      "id": "a644df42-331a-4fef-88a0-cda9821f16c4",
      "name": "Send a message",
      "type": "n8n-nodes-base.gmail",
      "position": [
        656,
        -304
      ]
    },
    {
      "id": "c913659d-a113-4175-9aa3-7de57e880f69",
      "name": "Photo Uploading",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        -480,
        -48
      ]
    },
    {
      "id": "8c2da542-c8df-458f-ae8d-1da2ad0b31ae",
      "name": "Combine Photo URLs",
      "type": "n8n-nodes-base.code",
      "position": [
        -240,
        -144
      ]
    },
    {
      "id": "440dace7-d0a6-4fda-b859-1249f3fe6842",
      "name": "Separate Photo Files",
      "type": "n8n-nodes-base.code",
      "position": [
        -688,
        -128
      ]
    },
    {
      "id": "08ab3686-6014-4f3d-af09-e40f07e59bad",
      "name": "Merge Data",
      "type": "n8n-nodes-base.merge",
      "position": [
        208,
        -304
      ]
    },
    {
      "id": "8b0e5ea5-fa63-415a-8b2e-10c5f387a2a8",
      "name": "Update w/ Repair",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        432,
        -304
      ]
    },
    {
      "id": "1909881c-cc0b-48b2-b919-37b991b8ba7f",
      "name": "Existing Details",
      "type": "n8n-nodes-base.set",
      "position": [
        -16,
        -368
      ]
    },
    {
      "id": "c43a5bb2-4914-49ab-8603-73a71897ce76",
      "name": "If",
      "type": "n8n-nodes-base.if",
      "position": [
        -1040,
        -224
      ]
    },
    {
      "id": "0830f61e-d52a-41ce-a56b-011282ab855c",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -64,
        -32
      ],
      "parameters": {
        "width": 256,
        "height": 288,
        "content": "## Combine Photo URL(s)\n\n### -Combines URL(s) into single Key so they can be stored in 1 spreadsheet cell. \n\n-maintains organization of repair photos in row with original Repair Request\n\n"
      }
    },
    {
      "id": "90067297-75bf-493a-b26a-46fbaf3b5a11",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        320,
        -656
      ],
      "parameters": {
        "width": 368,
        "height": 320,
        "content": "## Sheets:\n\n### -Google Sheets Credential\n### -Use *TIMESTAMP* as *Column to Match On*\n\n### ‼️Field Names from the FORM SUBMITTED node (trigger), must align with Column headings in the spreadsheet. \n\n"
      }
    },
    {
      "id": "6e0a9646-b30d-4bee-8b36-9bf970462310",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        608,
        -144
      ],
      "parameters": {
        "width": null,
        "height": 208,
        "content": "## Optional Email:\n\n### -Email Credential\n### -Ideal for: \n-Developer to monitor initial project\n-Manager to send updates to Tenant.\n\n"
      }
    },
    {
      "id": "03ac1bd2-e54a-46ce-82d8-709968e9f0b1",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2064,
        -512
      ],
      "parameters": {
        "width": 640,
        "height": 624,
        "content": "# Workflow 2:\n\n## **Behind the Scenes:**\n[building manager] Submits information in \"repair update\" form.\n\n\n## How it Works:\n### Top Nodes\n- Uses **UUID** to collect existing info from spreadsheet row."
      }
    },
    {
      "id": "7e5035e9-056b-4740-8dbc-2a6601f91959",
      "name": "New repair form submitted",
      "type": "n8n-nodes-base.googleSheetsTrigger",
      "position": [
        -736,
        -1376
      ]
    },
    {
      "id": "890d39b1-8601-4885-8b86-7b846f2be007",
      "name": "Isolate new entry",
      "type": "n8n-nodes-base.code",
      "position": [
        -512,
        -1376
      ]
    },
    {
      "id": "4486c5f3-adf2-4120-bd2e-9614282b61ab",
      "name": "Report Alert + Info",
      "type": "n8n-nodes-base.gmail",
      "position": [
        -48,
        -1280
      ]
    },
    {
      "id": "0aa37071-4e50-4bef-a9ed-42430dd7ac69",
      "name": "Format Data",
      "type": "n8n-nodes-base.set",
      "position": [
        -304,
        -1376
      ]
    },
    {
      "id": "5860a874-e90b-4892-9329-b88733cc531e",
      "name": "Add UUID #",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -48,
        -1472
      ]
    },
    {
      "id": "48a2d86e-2999-41bd-8213-5d95abdec50a",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1680,
        -1680
      ],
      "parameters": {
        "width": 672,
        "height": 704,
        "content": "# Workflow 1:\n\n## **Behind the Scenes:**\nTennant fills out Google form (\"Repair Request Form\") which auto-populates a new row in a spreadsheet. \n\n## How it Works:\n#### Trigger:\n- New ROW ADDED repair "
      }
    },
    {
      "id": "f32e7012-2938-404e-9455-e5d8de27138a",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -832,
        -1536
      ],
      "parameters": {
        "width": null,
        "height": 112,
        "content": "## Sheets:\n\n### -Google Sheets Credential"
      }
    },
    {
      "id": "59fc4759-d2e4-4447-8704-e920038cd99e",
      "name": "Sticky Note9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -144,
        -1120
      ],
      "parameters": {
        "width": 320,
        "height": 256,
        "content": "## Alert Email:\n\n### -Email Credential\n### -Format Data to share essential info for [building manager]\n⚠️ ### -Include Link to N8N form ⚠️\n\n"
      }
    },
    {
      "id": "c274f39b-37cc-47ae-b950-e817c29091b7",
      "name": "Sticky Note10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -112,
        -1696
      ],
      "parameters": {
        "width": null,
        "height": 192,
        "content": "## Sheets:\n\n### -Google Sheets Credential\n### -Add UUID to row\n### -Use TIMESTAMP as \"Column to match on\"\n\n"
      }
    },
    {
      "id": "6dd22693-98d3-40da-896d-a83ab93a696c",
      "name": "Sticky Note11",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1344,
        -432
      ],
      "parameters": {
        "width": 256,
        "height": 320,
        "content": "## REPLACE THIS TRIGGER WITH \nN8N FORM = Repair Update Form\n\n"
      }
    },
    {
      "id": "89bf8720-71bc-43a1-8043-825314f482d5",
      "name": "REPLACE w/ N8N FORM trigger.",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -1280,
        -288
      ]
    },
    {
      "id": "0b45ec23-9f20-4399-b3aa-d07c3106397d",
      "name": "Sticky Note12",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -848,
        -2256
      ],
      "parameters": {
        "width": 1088,
        "height": 400,
        "content": "# This template automates tenant repair requests and updates via Google Forms and Google Sheets. Two workflows handle new submissions and manager updates, ensuring all repair data stays in a single, o"
      }
    },
    {
      "id": "95962c56-130d-40f5-b580-e085335917e5",
      "name": "Sticky Note13",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        432,
        -1680
      ],
      "parameters": {
        "width": 704,
        "height": 688,
        "content": "# Setting Up Workflow 1:\n\n## **Behind the Scenes:**\n- Create Google form (\"Repair Request Form\")\n- Create Google Sheet to collect responses. (In \"Form Responses\" you can create a linked Google Sheet.)"
      }
    },
    {
      "id": "33193daf-e81b-486e-8913-a388bec977ed",
      "name": "Sticky Note14",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        928,
        -496
      ],
      "parameters": {
        "width": 672,
        "height": 976,
        "content": "# Setting Up Workflow 2:\n\n## **Behind the Scenes:**\n- Select categories(questions) for repair information to submit\n- **One as Image/File**\n\n### ⚠️Replace MANUAL TRIGGER with N8N FORM trigger ⚠️\n‼️**T"
      }
    }
  ],
  "connections": {
    "If": {
      "main": [
        [
          {
            "node": "Separate Photo Files",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "New details",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge Data": {
      "main": [
        [
          {
            "node": "Update w/ Repair",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Format Data": {
      "main": [
        [
          {
            "node": "Report Alert + Info",
            "type": "main",
            "index": 0
          },
          {
            "node": "Add UUID #",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "New details": {
      "main": [
        [
          {
            "node": "Merge Data",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Photo Uploading": {
      "main": [
        [
          {
            "node": "Combine Photo URLs",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Upload Repair Photo",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Existing Details": {
      "main": [
        [
          {
            "node": "Merge Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Update w/ Repair": {
      "main": [
        [
          {
            "node": "Send a message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Isolate new entry": {
      "main": [
        [
          {
            "node": "Format Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Combine Photo URLs": {
      "main": [
        [
          {
            "node": "New details",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get row(s) in sheet": {
      "main": [
        [
          {
            "node": "Existing Details",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upload Repair Photo": {
      "main": [
        [
          {
            "node": "Photo Uploading",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Separate Photo Files": {
      "main": [
        [
          {
            "node": "Photo Uploading",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "New repair form submitted": {
      "main": [
        [
          {
            "node": "Isolate new entry",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "REPLACE w/ N8N FORM trigger.": {
      "main": [
        [
          {
            "node": "If",
            "type": "main",
            "index": 0
          },
          {
            "node": "Get row(s) in sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}