Skip to content
All projects

Property Management · n8n Workflow Automation

Property Management — Connected Automation System

Portfolio Demonstration

Four connected n8n workflows that demonstrate real business applications directly on the canvas - Google Sheets, Google Drive, Gmail, Slack, Google Calendar, an HTTP Request representing GoHighLevel, and a real OpenAI classification node - while limiting custom code to exactly 3 justified nodes system-wide.

n8n canvas: Workflow 1 of 4 — Maintenance Intake and Triage

Problem

Manually triaging maintenance requests, matching vendors, tracking work orders, and staying on top of SLAs is slow, inconsistent, and easy to lose track of - especially across many properties and after-hours emergencies.

System Design

Workflow 1 captures a request (Webhook or Manual Trigger), looks it up for duplicates (Google Sheets), validates and classifies it (AI node + rules fallback), stores it and its photos, then calls Workflow 2 directly via a real Execute Workflow node. Workflow 2 looks up the vendor directory (Google Sheets), filters and scores candidates in a real Loop Over Items cycle, creates the work order, and drafts communications. Workflow 3 runs independently on a schedule, sweeping whatever work orders exist in the database and escalating anything overdue or unresolved. Workflow 4 is wired into workflows 1, 2, and 3 via each one's Settings -> Error Workflow field - n8n calls it automatically on a real execution failure, with no manual "on error" nodes cluttering the other three canvases.

Workflow Stages

  1. 01Maintenance Intake and Triage
  2. 02Vendor Matching and Work Order
  3. 03SLA and Escalation Monitor
  4. 04Automation Error Handler

Tools Used

  • n8n
  • OpenAI
  • Google Sheets
  • Gmail
  • Slack
  • Google Drive
  • Google Calendar
  • HTTP Request
  • Webhook
  • Aggregate

Safety & Human Review

  • All 4 workflow names begin with DEMO | and all remain inactive.
  • Zero credentials attached anywhere in the system.
  • Zero enabled external-send nodes - every Gmail/Slack/Sheets/Drive/Calendar/HTTP Request/OpenAI node is disabled.
  • The Webhook (Workflow 1) and Schedule Trigger (Workflow 3) are both inert while their workflows are inactive - n8n never registers a webhook path or fires a schedule for an inactive workflow.
  • The Manual Trigger path in every workflow completes safely with zero credentials, because n8n skips disabled nodes at execution time (data passes through unchanged to the following Mock Output node).
  • All fictional data uses example.com emails and invented names/addresses.

Implementation Evidence

Real screenshots of the working system — collapsed by default so this page stays readable.

What's Working

14 structural checks passed, including: All 4 workflow JSONs parse (local + server-returned copy); All 4 active are false; All 4 names begin with DEMO | Property Management |; Zero credentials attached anywhere in the system. Structural and safety validation completed against the live, API-returned copy of all 4 workflows, plus a Node.js syntax-check of all 3 Code nodes. Live in-n8n execution pending manual safe test (see limitation below).

Limitations & Confidentiality

Every app integration is a disabled placeholder with mocked output - nothing is actually read from or written to a real Google Sheet, Drive folder, Calendar, inbox, Slack channel, or AI model. The AI classification path is structurally present (real OpenAI node + output-validation gate) but never actually reachable in this demo, since the node is always disabled - the rules-based Switch fallback always runs instead. Live n8n execution (clicking "Execute Workflow" in the editor) has not been performed as part of this automated build.

Portfolio demonstration built for a fictional business with fictional data. It is not connected to any real client, system, or customer.

Have a similar workflow to automate?

I'll tell you honestly whether automation is the right fix.