AutomationFlowsSlack & Telegram › Manage Rent, Maintenance and Tenant Messages with Openai, Telegram and Sheets

Manage Rent, Maintenance and Tenant Messages with Openai, Telegram and Sheets

ByRahul Joshi @rahul08 on n8n.io

This workflow automates rent reminders and tenant support by combining Google Sheets as the system of record with Telegram messaging, OpenAI (gpt-4o-mini) intent classification and receipt writing, and Slack/Telegram owner alerts for overdue rent, urgent repairs, and workflow…

Cron / scheduled trigger★★★★★ complexityAI-powered40 nodesGoogle SheetsTelegramSlackTelegram TriggerOpenAIError Trigger
Slack & Telegram Trigger: Cron / scheduled Nodes: 40 Complexity: ★★★★★ AI nodes: yes Added:

This workflow corresponds to n8n.io template #17971 — we link there as the canonical source.

This workflow follows the Error Trigger → Google Sheets recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "id": "7qFZz1dMRB8HlvVU",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "AI Property Management & Tenant Communication Automation System",
  "tags": [],
  "nodes": [
    {
      "id": "6e443ca6-fc2f-462d-b654-6f862c2c1ef3",
      "name": "\ud83d\udccc Overview \u2013 How This Workflow Works",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1472,
        -512
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "da08116f-457a-4283-9e0d-2576140bbf6b",
      "name": "Section \u2013 Daily Rent Check & Reminders",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -160,
        -512
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "265505f1-2ef8-45db-84a3-590acfa45129",
      "name": "Section \u2013 Tenant Message Intake & AI Classification",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -176,
        880
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "802dc617-5403-4289-ad0f-2f5551560d57",
      "name": "Section \u2013 Maintenance Request Handling",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1392,
        784
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "d3a75976-7cf5-4f62-a587-671ea3e83693",
      "name": "Section \u2013 Payment Confirmation & Receipt",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1472,
        1648
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "ed09f22a-9e2c-466b-a456-c00b095a4707",
      "name": "Daily Rent Check Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        16,
        96
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "4e2f4c64-764f-41b2-9d15-bba6a8249d0e",
      "name": "Get All Tenants",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        240,
        96
      ],
      "parameters": {},
      "typeVersion": 4.5
    },
    {
      "id": "d2dde185-098e-4d81-b7d1-b1db208bcc27",
      "name": "Calculate Rent Status",
      "type": "n8n-nodes-base.code",
      "position": [
        464,
        96
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "4e552d19-24c5-4ee9-9733-eb68db1cac0d",
      "name": "Route By Rent Status",
      "type": "n8n-nodes-base.switch",
      "position": [
        704,
        80
      ],
      "parameters": {},
      "typeVersion": 3
    },
    {
      "id": "dacd12b5-38a2-46e6-b667-26ac0bfeaddb",
      "name": "Send Rent Due Reminder",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1072,
        -272
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "04f97c46-52b5-48c4-b0ec-55b4eb5d563d",
      "name": "Update Reminder Sent - Due Today",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1296,
        -272
      ],
      "parameters": {},
      "typeVersion": 4.5
    },
    {
      "id": "c524ee98-ea1c-482a-ad0c-c50dceb7cc5c",
      "name": "Send Upcoming Rent Reminder",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1072,
        -16
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "a6780b7c-748d-49ac-9141-bb27af2b3084",
      "name": "Update Reminder Sent - Due Soon",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1296,
        -16
      ],
      "parameters": {},
      "typeVersion": 4.5
    },
    {
      "id": "d1cf4633-d66e-490e-8ae3-ee130d5536da",
      "name": "Notify Tenant Overdue",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1056,
        368
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "02ca4544-2ea1-4364-975b-f909e9e7f046",
      "name": "Escalate Overdue To Owner (Telegram)",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1344,
        224
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "cbe32f26-71eb-4b73-b390-2d3a421b8120",
      "name": "Escalate Overdue To Owner (Slack)",
      "type": "n8n-nodes-base.slack",
      "position": [
        1360,
        464
      ],
      "parameters": {},
      "typeVersion": 2.3
    },
    {
      "id": "6cdcd719-468b-481b-bfb5-43f5d0b9c1f2",
      "name": "Update Rent Status - Overdue",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1664,
        352
      ],
      "parameters": {},
      "typeVersion": 4.5
    },
    {
      "id": "c16fc391-5fa4-46b4-a573-ce28bf2c01e7",
      "name": "Escalate Urgent Repair To Owner (Telegram)",
      "type": "n8n-nodes-base.telegram",
      "position": [
        3040,
        1168
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "9c9944d6-bbcc-4a93-96e6-a0c12f9fa6f8",
      "name": "Escalate Urgent Repair To Owner (Slack)",
      "type": "n8n-nodes-base.slack",
      "position": [
        3168,
        976
      ],
      "parameters": {},
      "typeVersion": 2.3
    },
    {
      "id": "ecc9e3bf-a1be-48d8-bd17-90888907c8b7",
      "name": "Send General Auto Reply",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1632,
        2160
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "eb411a0c-eccf-4534-8936-f31cae24ecf7",
      "name": "Log Payment Record",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2480,
        1840
      ],
      "parameters": {},
      "typeVersion": 4.5
    },
    {
      "id": "844a013d-1ccf-4d02-88e5-94891d6f901e",
      "name": "Send Receipt To Tenant",
      "type": "n8n-nodes-base.telegram",
      "position": [
        2256,
        1840
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "4ebff4db-06ab-4990-853f-6921b902b3a9",
      "name": "Format Receipt Text",
      "type": "n8n-nodes-base.code",
      "position": [
        2032,
        1840
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "b3f25d08-3bf9-4edb-a45b-0ac0142c7296",
      "name": "Update Payment Status Paid",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1600,
        1840
      ],
      "parameters": {},
      "typeVersion": 4.5
    },
    {
      "id": "c3cf7b40-2f0d-41d0-8a56-c97270fb85d6",
      "name": "Confirm Receipt To Tenant",
      "type": "n8n-nodes-base.telegram",
      "position": [
        3040,
        1360
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "40d036e0-a45f-400d-9a74-28b46ad56951",
      "name": "Is Urgent Repair",
      "type": "n8n-nodes-base.if",
      "position": [
        2368,
        1136
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "05a3daf4-9fb6-49ad-924c-951c40851c62",
      "name": "Notify Assigned Vendor",
      "type": "n8n-nodes-base.telegram",
      "position": [
        2144,
        1136
      ],
      "parameters": {},
      "typeVersion": 1.2
    },
    {
      "id": "56b40294-57af-484c-b6e9-2d14a5f90ef3",
      "name": "Pick Vendor By Category",
      "type": "n8n-nodes-base.code",
      "position": [
        1920,
        1136
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "be005667-fa2a-4717-bc99-2a638dda5548",
      "name": "Get All Vendors",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1712,
        1136
      ],
      "parameters": {},
      "typeVersion": 4.5
    },
    {
      "id": "2bf8755e-ba90-4a00-bd64-f6b576e87108",
      "name": "Log Maintenance Request",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1488,
        1136
      ],
      "parameters": {},
      "typeVersion": 4.5
    },
    {
      "id": "31c9e538-8eab-4de4-857c-dd8248537ab3",
      "name": "Route By Intent",
      "type": "n8n-nodes-base.switch",
      "position": [
        1040,
        1152
      ],
      "parameters": {},
      "typeVersion": 3
    },
    {
      "id": "7dbba3f1-10c2-41de-b30d-0ca5dee2258e",
      "name": "Parse AI Classification",
      "type": "n8n-nodes-base.code",
      "position": [
        832,
        1168
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "fd546593-16b8-481c-8792-a5d877e287f5",
      "name": "Find Tenant By ChatId",
      "type": "n8n-nodes-base.code",
      "position": [
        400,
        1168
      ],
      "parameters": {},
      "typeVersion": 2
    },
    {
      "id": "4a3cbacd-991a-4de5-88b7-c072b94451ca",
      "name": "Get All Tenants For Lookup",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        176,
        1168
      ],
      "parameters": {},
      "typeVersion": 4.5
    },
    {
      "id": "5b201da5-4b38-488d-b41b-8638576739d9",
      "name": "Tenant Message Received",
      "type": "n8n-nodes-base.telegramTrigger",
      "position": [
        -48,
        1168
      ],
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "436532ea-bd82-46cb-b164-9864496dc499",
      "name": "Generate Receipt Message",
      "type": "n8n-nodes-base.openAi",
      "position": [
        1808,
        1840
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "6bfe5caa-62a8-4e68-a0fb-0490b0995ce3",
      "name": "Classify Tenant Message",
      "type": "n8n-nodes-base.openAi",
      "position": [
        592,
        1168
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "0849250f-1f4b-4417-b247-03cddd2d4f02",
      "name": "Section \u2013 Error Handling",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        560,
        1680
      ],
      "parameters": {
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "cb25f232-94e9-4af3-8096-1c6031f1a912",
      "name": "On Workflow Error",
      "type": "n8n-nodes-base.errorTrigger",
      "position": [
        704,
        1904
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "c2e6e6da-d330-447c-b39b-29791727a2c2",
      "name": "Slack \u2013 Post Workflow Error Alert",
      "type": "n8n-nodes-base.slack",
      "position": [
        976,
        1904
      ],
      "parameters": {},
      "typeVersion": 2.3
    }
  ],
  "active": false,
  "settings": {
    "binaryMode": "separate",
    "availableInMCP": false,
    "executionOrder": "v1"
  },
  "versionId": "19361614-2c21-4c70-b2cf-061fad2e1c83",
  "nodeGroups": [],
  "connections": {
    "Get All Tenants": {
      "main": [
        [
          {
            "node": "Calculate Rent Status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get All Vendors": {
      "main": [
        [
          {
            "node": "Pick Vendor By Category",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Route By Intent": {
      "main": [
        [
          {
            "node": "Log Maintenance Request",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Update Payment Status Paid",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Send General Auto Reply",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Is Urgent Repair": {
      "main": [
        [
          {
            "node": "Confirm Receipt To Tenant",
            "type": "main",
            "index": 0
          },
          {
            "node": "Escalate Urgent Repair To Owner (Telegram)",
            "type": "main",
            "index": 0
          },
          {
            "node": "Escalate Urgent Repair To Owner (Slack)",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Confirm Receipt To Tenant",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "On Workflow Error": {
      "main": [
        [
          {
            "node": "Slack \u2013 Post Workflow Error Alert",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Format Receipt Text": {
      "main": [
        [
          {
            "node": "Send Receipt To Tenant",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Route By Rent Status": {
      "main": [
        [
          {
            "node": "Send Rent Due Reminder",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Send Upcoming Rent Reminder",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Notify Tenant Overdue",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Calculate Rent Status": {
      "main": [
        [
          {
            "node": "Route By Rent Status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Find Tenant By ChatId": {
      "main": [
        [
          {
            "node": "Classify Tenant Message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Notify Tenant Overdue": {
      "main": [
        [
          {
            "node": "Escalate Overdue To Owner (Telegram)",
            "type": "main",
            "index": 0
          },
          {
            "node": "Escalate Overdue To Owner (Slack)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Notify Assigned Vendor": {
      "main": [
        [
          {
            "node": "Is Urgent Repair",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Receipt To Tenant": {
      "main": [
        [
          {
            "node": "Log Payment Record",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Rent Due Reminder": {
      "main": [
        [
          {
            "node": "Update Reminder Sent - Due Today",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Classify Tenant Message": {
      "main": [
        [
          {
            "node": "Parse AI Classification",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Log Maintenance Request": {
      "main": [
        [
          {
            "node": "Get All Vendors",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse AI Classification": {
      "main": [
        [
          {
            "node": "Route By Intent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Pick Vendor By Category": {
      "main": [
        [
          {
            "node": "Notify Assigned Vendor",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Tenant Message Received": {
      "main": [
        [
          {
            "node": "Get All Tenants For Lookup",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Daily Rent Check Trigger": {
      "main": [
        [
          {
            "node": "Get All Tenants",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate Receipt Message": {
      "main": [
        [
          {
            "node": "Format Receipt Text",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get All Tenants For Lookup": {
      "main": [
        [
          {
            "node": "Find Tenant By ChatId",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Update Payment Status Paid": {
      "main": [
        [
          {
            "node": "Generate Receipt Message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Upcoming Rent Reminder": {
      "main": [
        [
          {
            "node": "Update Reminder Sent - Due Soon",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Escalate Overdue To Owner (Slack)": {
      "main": [
        [
          {
            "node": "Update Rent Status - Overdue",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Escalate Overdue To Owner (Telegram)": {
      "main": [
        [
          {
            "node": "Update Rent Status - Overdue",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

This workflow automates rent reminders and tenant support by combining Google Sheets as the system of record with Telegram messaging, OpenAI (gpt-4o-mini) intent classification and receipt writing, and Slack/Telegram owner alerts for overdue rent, urgent repairs, and workflow…

Source: https://n8n.io/workflows/17971/ — original creator credit. Request a take-down →

More Slack & Telegram workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Slack & Telegram

This workflow monitors brand mentions stored in Google Sheets on a 15-minute schedule, uses OpenAI to classify crisis severity and draft PR responses, logs incidents to a crisis sheet, and routes appr

Google Sheets, OpenAI, Telegram +3
Slack & Telegram

This workflow uses Google Sheets, OpenAI, Telegram, and Slack to send post-therapy check-in messages, analyze patient replies for sentiment and risk, alert therapists to at-risk responses, and log non

Google Sheets, OpenAI, Telegram +3
Slack & Telegram

This workflow monitors new hires in Google Sheets, downloads onboarding documents from Google Drive, uses OpenAI (gpt-4o-mini) to verify each file and determine overall compliance, then notifies HR vi

Google Sheets, Telegram, Google Sheets Trigger +4
Slack & Telegram

This workflow handles customer order complaints submitted via Telegram by looking up order details in Google Sheets, using OpenAI to classify message sentiment, and routing each case to auto-approval,

Telegram Trigger, Google Sheets, Telegram +3
Slack & Telegram

This workflow handles COD order confirmation and abandoned-cart recovery by combining webhooks, Google Sheets logging, OpenAI message generation, and Telegram messaging with inline buttons, plus Slack

Telegram Trigger, Google Sheets, Telegram +3