See llms.txt for all machine-readable content.

Back to Templates

Log and report construction punch list items with OpenAI, Google Sheets, Gmail and Telegram

Last update

Last update 12 hours ago

Categories

Share


Quick Overview

This workflow accepts construction punch list messages via a webhook, uses OpenAI plus a Google Sheets trade roster to structure and route each item, logs it to Google Sheets, emails the responsible subcontractor via Gmail, and sends confirmations and weekly status updates through Telegram.

How it works

  1. Receives a POST request via a webhook containing a punch list message, sender, and Telegram chat ID.
  2. Validates the message text and, if missing, sends usage instructions back to the sender via Telegram.
  3. Uses OpenAI to extract location, trade, severity, and description, and looks up the responsible company and email from a Google Sheets TradeRoster.
  4. Validates the parsed result and, if key fields are missing, replies in Telegram asking for a clearer message and a roster-mapped trade.
  5. Appends the punch item to a Google Sheets PunchLog, emails the assigned subcontractor via Gmail, and confirms logging back to the sender on Telegram.
  6. If the severity is Critical or High, sends an alert to the project manager via Telegram.
  7. Every Monday at 09:00, pulls open items from PunchLog, generates a concise weekly report with OpenAI, and sends it via Gmail and Telegram.

Setup

  1. Create a Google Sheets spreadsheet with two tabs named PunchLog and TradeRoster, and populate TradeRoster with columns for trade, company name, and contact email.
  2. Add credentials for OpenAI, Google Sheets (OAuth2), Gmail (OAuth2), and Telegram Bot API in n8n.
  3. Update the Google Sheets document ID and sheet names if your spreadsheet differs from PunchLog/TradeRoster, and ensure PunchLog has columns matching the fields the workflow appends (punch_id, received_at, sender, location, trade, severity, description, assigned_company, status).
  4. Copy the webhook URL for the punch intake endpoint and configure your message source (for example, a Telegram bot relay) to POST the punch text, chat_id, and sender to it.
  5. Set the project manager Telegram chat ID for high-severity alerts and the weekly report email recipient address to your preferred targets.