PVC and aluminium window installation and glazing
Work tracking and an AI assistant for a window installer
Crews send their reports in Telegram, the bot checks the data and produces a ready payment statement in under a minute, and an AI assistant answers questions about site progress.
- Client
- Window installation company
- Format
- Commercial case
- Stack
- n8n, Google Apps Script, Google Sheets
- < 1 minper payment statement instead of 5–30 minutes
- 2automatic checks on every report
- 3AI assistant tools for the manager

The problem
The company installs and glazes PVC and aluminium structures and does waterproofing and vapour barriers on residential sites. Crews report their work once a week as a text message in Telegram, and those reports feed the records for every single window unit and the payment statement for each period.
Reports used to be copied into a spreadsheet by hand and checked for duplicates, and the area of each unit was looked up manually and multiplied by the rate. One statement took 5–30 minutes and often contained mistakes. To find out how much work was left, the manager had to open the spreadsheet himself.
The solution
Automation built on n8n, a Telegram bot and Google Apps Script. The crew just writes a report in the chat and the system does the rest.
- Report to data. An LLM reads the free-form report (site, period, type of work, rate, risers and floors) and turns it into a list of specific units.
- Two checks. Every unit is checked for repeats and against the site’s master list. If something does not match, the bot stops and asks for confirmation in Telegram. No statement is created from wrong data.
- Automatic statement. Apps Script calculates area × rate, fills a Google Docs template and sends the finished
.docxto Telegram. - AI assistant. Any message that starts with «Ai» goes to a separate agent with three tools: how much is done and how much is left (in units and m²), the status of a specific unit by riser and floor, and statistics for a chosen period. The agent always takes its numbers from the site’s real data.
Each site is its own spreadsheet and script, so a new site is connected by cloning the template, with no code changes.
The result
| Before | After | |
|---|---|---|
| Payment statement | 5–30 min | under 1 min |
| Data checks | manual | automatic, 2 checks |
| Stats for the manager | open the spreadsheet | ask in Telegram |
| New site | manual setup | clone the template |
Work is tracked across 4 types of work for two materials: PVC and aluminium.
How the work went
How work on this project went, from understanding the problem to launch and improvements.
- 01
Discovery
Mapped how crews report and how those reports become a pay sheet: copying into a spreadsheet, looking up the area of each unit, multiplying by the rate. One pay sheet took 5–30 minutes and often had mistakes.
- 02
Solution design
Designed the data structure: a separate sheet and script per site, a list of units by riser and floor, and rates for 4 types of work. Decided where the system must stop and ask a person.
- 03
Build
Built an n8n workflow with a Telegram bot: an LLM parses the report text, Apps Script calculates area × rate and fills the pay sheet template in Google Docs. Added a separate AI assistant with three tools.
- 04
Testing
Tested parsing on reports in different formats, on duplicates and on units that are not on the site list. Checked that no pay sheet is created from bad data.
- 05
Launch
Crews keep writing reports in Telegram as before, so the team had no new tool to learn. The finished .docx arrives in the chat in under a minute.
- 06
Optimisation
A new site is added by cloning the template, with no code changes. The manager gets stats by asking in Telegram instead of opening the spreadsheet.