This workflow corresponds to n8n.io template #7575 — we link there as the canonical source.
This workflow follows the Form Trigger → Gmail recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"id": "mlOnE7wm6wS6tn0M",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "Incident_Reporting_Management",
"tags": [],
"nodes": [
{
"id": "97daea45-1b4b-4e75-8857-6c6f749caa5d",
"name": "Gmail",
"type": "n8n-nodes-base.gmail",
"position": [
220,
120
],
"parameters": {
"sendTo": "=supportteam@mailinator.com",
"message": "=Incident Reported: \ud83d\udea8\n\nDate & Time: {{ $json[\"Date & Time of Incident\"] || $now }}\nReported By: {{ $json['Name of Reporter'] || \"Not provided\" }}\nEmail: {{ $json[\"Contact Email\"] || \"Not provided\" }}\nLocation: {{ $json[\"Location\"] }}\nCategory/Type: {{ $json[\"Incident Category/Type\"] || \"Not provided\" }}\nSeverity: {{ $json.Severity }}\n\nDescription:\n{{ $json['Detailed Description'] || \"Not provided\"}}\n\nActions Taken:\n{{ $json[\"actions\"] || \"Not provided\" }}\n\nAttachments: \n{{ $json[\"Attach Photos\"] }}\n\n----\nThis is an automated notification sent on {{ $now.format(\"HH 'hours and' mm 'minutes'\") }}.",
"options": {
"appendAttribution": false
},
"subject": "=Incident Alert: {{ $json.Severity}} - {{ $json[\"Detailed Description\"]?.substring(0, 50) }}",
"emailType": "text"
},
"credentials": {
"gmailOAuth2": {
"name": "<your credential>"
}
},
"typeVersion": 2.1
},
{
"id": "c9ca02cf-abee-4988-948c-e2d4aaf435e1",
"name": "On form submission",
"type": "n8n-nodes-base.formTrigger",
"position": [
0,
0
],
"parameters": {
"options": {},
"formTitle": "Incident Report",
"formFields": {
"values": [
{
"fieldLabel": "Name of Reporter",
"placeholder": "Name of Reporter",
"requiredField": true
},
{
"fieldLabel": "Contact Email",
"placeholder": "Email",
"requiredField": true
},
{
"fieldType": "date",
"fieldLabel": "Date & Time of Incident",
"requiredField": true
},
{
"fieldLabel": "Location",
"placeholder": "Location",
"requiredField": true
},
{
"fieldType": "dropdown",
"fieldLabel": "Incident Category/Type",
"fieldOptions": {
"values": [
{
"option": "Equipment Failure"
},
{
"option": "Safety"
},
{
"option": "Security"
}
]
},
"requiredField": true
},
{
"fieldType": "dropdown",
"fieldLabel": "Severity",
"fieldOptions": {
"values": [
{
"option": "Low"
},
{
"option": "Medium"
},
{
"option": "High"
},
{
"option": "Critical"
}
]
},
"requiredField": true
},
{
"fieldLabel": "Detailed Description",
"placeholder": "Description",
"requiredField": true
},
{
"fieldLabel": "Actions Taken",
"placeholder": "Actions Taken"
},
{
"fieldType": "file",
"fieldLabel": "Attach Photos",
"multipleFiles": false
}
]
},
"formDescription": "Please use this form to report any incidents that require attention. Your report helps us quickly address issues and improve safety and operations. All information is confidential."
},
"typeVersion": 2.2
},
{
"id": "8a9da50c-7742-44f0-ab47-c1ffaa802d4a",
"name": "Google Sheets",
"type": "n8n-nodes-base.googleSheets",
"position": [
200,
-112.46541527249559
],
"parameters": {
"columns": {
"value": {
"Location": "={{ $json.Location }}",
"Severity": "={{ $json.Severity }}",
"submitted_at": "={{ $json.submittedAt }}",
"Actions Taken": "={{ $json[\"Actions Taken\"] }}",
"Attach Photos": "={{ $json[\"Attach Photos\"] }}",
"Contact Email": "={{ $json[\"Contact Email\"] }}",
"Name of Reporter": "={{ $json[\"Name of Reporter\"] }}",
"Detailed Description": "={{ $json[\"Detailed Description\"] }}",
"Incident Category/Type": "={{ $json[\"Incident Category/Type\"] }}",
"Date & Time of Incident": "={{ $json[\"Date & Time of Incident\"] }}"
},
"schema": [
{
"id": "Name of Reporter",
"type": "string",
"display": true,
"required": false,
"displayName": "Name of Reporter",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Contact Email",
"type": "string",
"display": true,
"required": false,
"displayName": "Contact Email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Date & Time of Incident",
"type": "string",
"display": true,
"required": false,
"displayName": "Date & Time of Incident",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Location",
"type": "string",
"display": true,
"required": false,
"displayName": "Location",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Incident Category/Type",
"type": "string",
"display": true,
"required": false,
"displayName": "Incident Category/Type",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Severity",
"type": "string",
"display": true,
"required": false,
"displayName": "Severity",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Detailed Description",
"type": "string",
"display": true,
"required": false,
"displayName": "Detailed Description",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Actions Taken",
"type": "string",
"display": true,
"required": false,
"displayName": "Actions Taken",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Attach Photos",
"type": "string",
"display": true,
"required": false,
"displayName": "Attach Photos",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "submitted_at",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "submitted_at",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "url",
"value": ""
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"name": "<your credential>"
}
},
"typeVersion": 4.6
},
{
"id": "67fdb422-0a14-434e-886f-c816834b565e",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-200,
-200
],
"parameters": {
"width": 960,
"height": 520,
"content": "## Incident Reporting & Management Workflow (n8n + Webhook + Google Sheets + Email)"
},
"typeVersion": 1
},
{
"id": "adb4e42a-d008-4c6a-965a-3186be80d97c",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-200,
340
],
"parameters": {
"width": 960,
"height": 640,
"content": "## Description\n\n**1. Node: On form submission**\nRecommended Name in n8n:\nForm Submission Webhook\n\nReceives incident report data from the Google Form (via webhook trigger).\nThis node starts the workflow every time a new form entry is submitted.\n\n**2. Node: Google Sheets (append: sheet)**\nRecommended Name in n8n:\nLog Incident to Google Sheet\n\nAppends each new incident report as a row in the specified Google Sheet.\nCreates a real-time, easily auditable log of all incident submissions.\n\n**3. Node: Gmail (send: message)**\nRecommended Name in n8n:\nSend Alert Email to Support Team\n\nSends an immediate notification email to the support/response team.\nIncludes key incident details (such as message, location, severity, and timestamp) to ensure rapid awareness and response.\n\n**Sample Workflow Description (For Workflow/Group Note)**\nIncident Reporting & Management Workflow (Google Forms \u2192 n8n Webhook \u2192 Google Sheets & Email)"
},
"typeVersion": 1
}
],
"active": true,
"settings": {
"executionOrder": "v1"
},
"versionId": "672a4f78-8c29-49c3-83a2-55ddf7a0ef2a",
"connections": {
"On form submission": {
"main": [
[
{
"node": "Gmail",
"type": "main",
"index": 0
},
{
"node": "Google Sheets",
"type": "main",
"index": 0
}
]
]
}
}
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
gmailOAuth2googleSheetsOAuth2Api
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This workflow automates incident reporting and management for operations teams by connecting a public reporting form with real-time logging in Google Sheets and instant alert emails to your support team. Whenever an incident is reported via the n8n form/webhook, all details are…
Source: https://n8n.io/workflows/7575/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
Loan eligibility workflow. Uses formTrigger, googleSheets, gmail. Event-driven trigger; 53 nodes.
This workflow automates event registrations and attendee communication from initial signup to event day. It captures form submissions, prevents duplicate entries, and stores registrations in Google Sh
This n8n workflow enables teams to automate and standardize multi-step onboarding or messaging workflows using Google Sheets, Forms, Gmail, and dynamic logic powered by Code and Switch nodes. It ensur
Fluxo de Entrevistas. Uses formTrigger, gmail, googleSheets, googleCalendar. Event-driven trigger; 28 nodes.
Submit any YouTube, Vimeo, or Zoom webinar URL using a simple form and the workflow handles everything from there. It runs a two-phase pipeline: first identifying the top viral moments in your video w