Triage construction incident photos with Gemini, Slack, and Google Sheets

Go to Workflow
0 views
Built by iamvaar iamvaar
Created on September 26, 2026

Description

Quick overview
Youtube Video: https://youtu.be/qp9ASLniC9o

This workflow collects construction incident reports via an n8n form with an uploaded photo, checks the image for AI-generation likelihood, uses Google Gemini to create a structured incident assessment from the photo, then posts the report to Slack and logs it to Google Sheets.

How it works
Receives a new incident submission from an n8n Form Trigger with a property, issue description, and uploaded image.
Extracts basic image metadata and builds an evidence record with a unique incident ID and the submitted details.
Sends the uploaded image to the Walterwrites.ai image detector API and calculates an AI-generated score and authenticity status.
If the image is flagged as suspicious, sends an alert message to a Slack channel for manual review.
Passes the photo and reported issue to Google Gemini (via a structured output parser) to produce a JSON assessment with category, severity, urgency, summary, and next action based only on what is visible.
Formats a Slack-ready incident message including risk and authenticity indicators, posts it to Slack, and appends/updates the incident record in a Google Sheets log.

Setup
Configure the n8n form fields (property options and accepted file types) and use the generated form URL for your contractors.
Add an HTTP Header Auth credential for Walterwrites.ai and ensure the image detector endpoint is reachable.
Add a Google Gemini (PaLM) API credential and keep the model selection as configured for the AI assessment.
Add a Slack OAuth credential and set the target channel for both the suspicious-image alert and the incident report post.
Add Google Sheets Service Account credentials, then update the spreadsheet and sheet references (document ID and sheet gid/name) to your incident log.

Nodes Used (8)

AI Agent
@n8n/n8n-nodes-langchain.agent
Code
n8n-nodes-base.code
Edit Image
n8n-nodes-base.editImage
Google Gemini Chat Model
@n8n/n8n-nodes-langchain.lmChatGoogleGemini
Google Sheets
n8n-nodes-base.googleSheets
HTTP Request
n8n-nodes-base.httpRequest
Slack
n8n-nodes-base.slack
Structured Output Parser
@n8n/n8n-nodes-langchain.outputParserStructured