Manage Construction Projects with Tasks, Photo Reports, Telegram & Google Sheets β€” n8n Workflow

High complexity⏰ Scheduled100 nodes🏷️ Project ManagementπŸ‘ 305 viewsby Artem Boiko

Overview

How it works This template helps project managers collect task updates and photo reports from field workers via Telegram and stores everything in a Google Sheet. It enables daily project reporting without paper or back-office overhead.

High-level flow:

Workers receive daily tasks via Telegram

They respond with photo reports

Bot auto-saves replies (photos + status) to a Google Sheet

The system tracks task completion, adds timestamps, and maintains report history

Set up steps πŸ•’ Estimated set

Nodes used

Google SheetsTelegramGoogle DriveCode

Workflow Preview

⏰ AUTOMATIC REMINDERS
Tasks:
Checks the task table every minute and sends reminders
Priorities:
- πŸ”΄ High
- 🟑 Medium
⏰ AUTOMATIC REMINDERS PHOTO REPORTS
Photo journal:
Checks the table every minute and sends reminders to se
Logic:
- Checks the time of sending
- Generates a list of recip
πŸ”§ SERVICE COMMANDS
Available commands:
- /start - system registration
- /help - work guide
- /status - report status for the day
- /report - manual report sending
πŸ‘€ REGISTRATION BLOCK
Process of registering new executors:
1. Check registration - checks if user is in the databa
2. Request data - if new, requests name and company
3. Save to ta
πŸ”„ PHOTO PROCESSING FLOW
1. User replies to reminder with photo
2. System extracts Task ID from reminder text
3. Photo is uploaded to Google Drive
4. Checks for existing entry in table
5. If entry
πŸ“Έ PHOTO REPORT PROCESSING
Main functionality:
1. Data extraction - parsing Task ID from message
2. Upload to Drive - saving photo to Google Drive
3. Grouping - combining multiple
πŸ“ GEOLOCATION PROCESSING
GPS Coordinates:
- Link to existing report
- Save coordinates and map link
- Update record in the table
πŸ“Š DATA STRUCTURE
Google Sheets Tables:
1. Users - data of registered users
2. Photo Reports - all photo reports
3. Tasks - list of tasks and their statuses
Key Fields:
⚠️ IMPORTANT NOTES
1. Task ID = Report ID - these are the same identifier
2. File Grouping - multiple photos can relate to one ta
3. Recurring Reminders - sent at specified intervals
πŸš€ ENTRY POINT
Telegram Webhook
Handles all incoming messages from users:
- Commands (/start, /help, /status, etc.)
- Photos for reports
- Text reports on tasks
πŸ“‹ TEXT REPORT PROCESSING
Task Reports:
- Verify task owner
- Parse status (completed/partially/not completed)
- Update status in the tasks table
- Send confirmation to the executor
A
Are there messages to se…
Prepare Updates
A
Are there updates?
N
No messages
N
No updates
⚑
C
Check every minute - Photo
Get photo reports data
Find and form messages -…
Send to Telegram - Photo
Update status in table -…
⚑
C
Check every minute - Tasks
Get tasks
Find and form messages -…
A
Are there messages to se…
Send to Telegram - Tasks
Prepare updates - Tasks
A
Are there updates? - Tasks
Update status in table -…
N
No messages - Tasks
N
No updates - Tasks
C
Check register_user1
Read users sheet1
Check registration1
C
Check new user1
Generate welcome1
C
Check existing user1
⚑
T
Telegram Webhook - Recei…
C
Check send_message
Send message
C
Check check_status
Read data for status
Collect status from sheet
Generate status message
C
Check send_report_menu
C
Check manual_report
Request registration data1
C
Check read
Read sheet for read
Prepare read updates
F
Filter read summary
F
Filter valid read updates
Update read status in ta…
Send read confirmation
Form read response
C
Check no_reply error
Error message
C
Check complete_registrat…
Prepare data for recording
Record new executor
Confirm registration
Send message2
Group files by task
M
Merge lookup and grouped…
M
Merge for confirmation
Prepare confirmation
C
Check process_photo3
Extract photo data4
C
Check error2
Photo error message4
Get and download file4
C
Check file presence4
Upload to Google Drive4
Prepare data for writing5
Handle retrieval error4
M
Merge file streams2
Check existing task1
D
Does task exist?1
Prepare data for adding2
Update row in table2
Add to reports table1
Confirm photo receipt4
Prepare data for updating2
Send Received Confirmation
C
Check Task Owner1
Get Tasks for Check1
Check ID Match1
C
Check Process Report1
Extract Reports1
Update Task Status1
Format Confirmation1
Confirm Report Save1
C
Check Received1
Get Tasks for Reading1
Prepare Read Updates1
F
Filter Valid Read Updates1
Update Read in Table1
C
Check Command1
Send Command Response1
C
Check Action Type1
Send Report Form1
Find Task for GPS
T
Task Found?
Update GPS in Table
Confirm GPS Receipt
Error - Task Not Found
C
Check Process Location2
Extract Location Data1
C
Check Location Error1
Location Error Message1
Process incoming message1
100 nodes112 edges

How it Works

  1. 1

    Trigger

    The workflow starts with a scheduled trigger, running on a defined schedule.

  2. 2

    Process

    Data flows through 100 nodes, connecting code, cron, googledrive.

  3. 3

    Output

    The workflow completes its automation and delivers the result to the configured destination.

Node Details (100)

GO

Google Sheets

googleSheets

#1
TE

Telegram

telegram

#2
GO

Google Drive

googleDrive

#3
CO

Code

code

#4

How to Import This Workflow

  1. 1Click Download JSON button on the right to save the workflow file.
  2. 2Open your n8n instance. Go to Workflows β†’ New β†’ Import from file.
  3. 3Select the downloaded manage-construction-projects-with-tasks-photo-reports-telegram-google-sheets file and click Import.
  4. 4Set up credentials for each service node (API keys, OAuth, etc.).
  5. 5Click Test Workflow to verify everything works, then activate it.

Or paste directly in n8n β†’ Import from JSON:

{ "name": "Manage Construction Projects with Tasks, Photo Reports, Telegram & Google Sheets", "nodes": [...], ...}

Integrations

codecrongoogledrivegooglesheetsifmergetelegramtelegramtrigger

Get This Workflow

Download and import in one click

Download JSONView on n8n.io
Nodes100
Complexityhigh
Triggerscheduled
Views305

Created by

Artem Boiko

Artem Boiko

@datadrivenconstruction

Tags

codecrongoogledrivegooglesheetsifmergetelegramtelegramtrigger
⚑

New to n8n?

n8n is a free, open-source workflow automation tool. Self-host it or use the cloud version.

Get n8n Free β†’