Manage Construction Projects with Tasks, Photo Reports, Telegram & Google Sheets — Workflow n8n

Élevé complexité Planifié100 nœuds🏷️ Project Management👁 305 vuespar Artem Boiko

Aperçu

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

Nœuds utilisés

Google SheetsTelegramGoogle DriveCode

Aperçu du workflow

⏰ 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

Comment ça fonctionne

  1. 1

    Déclencheur

    Le workflow démarre avec un déclencheur planifié, s'exécutant selon un planning défini.

  2. 2

    Traitement

    Les données transitent par 100 nœuds, connecting code, cron, googledrive.

  3. 3

    Sortie

    Le workflow termine son automatisation et livre le résultat à la destination configurée.

Détails des nœuds (100)

GO

Google Sheets

googleSheets

#1
TE

Telegram

telegram

#2
GO

Google Drive

googleDrive

#3
CO

Code

code

#4

Comment importer ce workflow

  1. 1Cliquez sur le bouton Télécharger JSON à droite pour enregistrer le fichier du workflow.
  2. 2Ouvrez votre instance n8n. Accédez à Workflows → Nouveau → Importer depuis un fichier.
  3. 3Sélectionnez le fichier manage-construction-projects-with-tasks-photo-reports-telegram-google-sheets téléchargé et cliquez sur Importer.
  4. 4Configurez les identifiants pour chaque nœud de service (clés API, OAuth, etc.).
  5. 5Cliquez sur Tester le workflow pour vérifier que tout fonctionne, puis activez-le.

Ou collez directement dans n8n → Importer depuis JSON :

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

Intégrations

codecrongoogledrivegooglesheetsifmergetelegramtelegramtrigger

Obtenir ce workflow

Téléchargez et importez en un clic

Télécharger JSONVoir sur n8n.io
Nœuds100
Complexitéhigh
Déclencheurscheduled
Vues305

Créé par

Artem Boiko

Artem Boiko

@datadrivenconstruction

Tags

codecrongoogledrivegooglesheetsifmergetelegramtelegramtrigger

Nouveau sur n8n ?

n8n est un outil d'automatisation de workflows gratuit et open-source. Hébergez-le vous-même ou utilisez la version cloud.

Obtenir n8n gratuitement →