This workflow corresponds to n8n.io template #17602 — we link there as the canonical source.
This workflow follows the Error Trigger → Google Sheets 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": "7QySjtVACnQw78Wb",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "AI Brand Reputation Monitoring & Crisis Response System",
"tags": [],
"nodes": [
{
"id": "537f0134-c9b9-484c-8de4-d528eff5a4e9",
"name": "\ud83d\udccc Overview \u2013 How This Workflow Works",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1008,
-1488
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "ecf5c7e6-6cdd-47a0-8fac-6e43e4ac236c",
"name": "Section \u2013 Monitor Trigger & Mention Loop",
"type": "n8n-nodes-base.stickyNote",
"position": [
240,
-768
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "badbf063-57b5-4848-b265-95713edd98a7",
"name": "Section \u2013 AI Severity Classification",
"type": "n8n-nodes-base.stickyNote",
"position": [
1104,
-896
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "82aef632-9e25-461f-884a-068c8305ca51",
"name": "Section \u2013 Crisis Response Drafting & Logging",
"type": "n8n-nodes-base.stickyNote",
"position": [
2304,
-800
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "08c315a8-7eef-4177-9363-ca02e60d46c3",
"name": "Section \u2013 Human Approval Pipeline",
"type": "n8n-nodes-base.stickyNote",
"position": [
752,
64
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "b230ab24-fcd5-4253-a268-f7fde437306a",
"name": "Section \u2013 Error Handling",
"type": "n8n-nodes-base.stickyNote",
"position": [
784,
816
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "a99ae065-1a87-406b-aa3e-dc0d9601ad11",
"name": "\ud83d\udd11 Credentials & Sheet Setup",
"type": "n8n-nodes-base.stickyNote",
"position": [
1696,
848
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "80d693ec-4c53-4fe2-aa31-2b1c6363e5e6",
"name": "Monitor Trigger",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
384,
-528
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "e1e79b82-a05e-4d43-ae31-da44a9d77164",
"name": "Get New Mentions",
"type": "n8n-nodes-base.googleSheets",
"position": [
608,
-528
],
"parameters": {},
"typeVersion": 4.5
},
{
"id": "6e85fd77-569a-407e-b2a6-7ca64954af35",
"name": "Loop Mentions",
"type": "n8n-nodes-base.splitInBatches",
"position": [
816,
-528
],
"parameters": {},
"typeVersion": 3
},
{
"id": "97dd96c7-638d-41be-a510-12921d952d64",
"name": "Batch Complete",
"type": "n8n-nodes-base.noOp",
"position": [
1248,
-672
],
"parameters": {},
"typeVersion": 1
},
{
"id": "c3e994d8-618d-4ae4-97d1-e517213d93ef",
"name": "Classify Severity",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
1232,
-416
],
"parameters": {},
"typeVersion": 1.8
},
{
"id": "d2e2aae5-d2f7-421b-8922-cdc9f61dd410",
"name": "Parse Classification",
"type": "n8n-nodes-base.code",
"position": [
1728,
-416
],
"parameters": {},
"typeVersion": 2
},
{
"id": "e2d5e60a-95b4-412c-b26d-1b0180606ba0",
"name": "Is Crisis?",
"type": "n8n-nodes-base.if",
"position": [
2048,
-416
],
"parameters": {},
"typeVersion": 2.2
},
{
"id": "341d8226-e657-4104-92fa-d2e98c35c529",
"name": "Mark No Action",
"type": "n8n-nodes-base.googleSheets",
"position": [
2352,
-240
],
"parameters": {},
"typeVersion": 4.5
},
{
"id": "a3136708-64fc-41b8-a17d-a8672017c4ab",
"name": "Draft Response",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
2352,
-528
],
"parameters": {},
"typeVersion": 1.8
},
{
"id": "cecb7b0c-d123-4398-a58d-37a57c402e52",
"name": "Parse Draft",
"type": "n8n-nodes-base.code",
"position": [
2688,
-528
],
"parameters": {},
"typeVersion": 2
},
{
"id": "9c81219f-7ef5-41fe-8499-b49fdbb173a7",
"name": "Log Crisis Event",
"type": "n8n-nodes-base.googleSheets",
"position": [
2960,
-464
],
"parameters": {},
"typeVersion": 4.5
},
{
"id": "020e6075-aafd-4123-a7d1-a60c0603ea60",
"name": "Send Approval Request",
"type": "n8n-nodes-base.telegram",
"position": [
3184,
-464
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "ac35d3e6-07fe-466a-b851-e3178195165a",
"name": "Mark Awaiting Approval",
"type": "n8n-nodes-base.googleSheets",
"position": [
3392,
-464
],
"parameters": {},
"typeVersion": 4.5
},
{
"id": "b728c43a-2751-4b5a-a812-d5361b68a2d4",
"name": "Parse Approval Message",
"type": "n8n-nodes-base.code",
"position": [
1072,
400
],
"parameters": {},
"typeVersion": 2
},
{
"id": "541f1f81-9f21-484d-9572-b905ab4378af",
"name": "Find Pending Crisis",
"type": "n8n-nodes-base.googleSheets",
"position": [
1296,
400
],
"parameters": {},
"typeVersion": 4.5
},
{
"id": "a0dce308-276d-4a36-aafd-d47df4acd4e8",
"name": "Merge Approval Data",
"type": "n8n-nodes-base.code",
"position": [
1520,
400
],
"parameters": {},
"typeVersion": 2
},
{
"id": "72795e5f-8422-4eb3-8710-7414c68d3757",
"name": "Approval Response Listener",
"type": "n8n-nodes-base.telegramTrigger",
"position": [
848,
400
],
"parameters": {},
"typeVersion": 1.1
},
{
"id": "fc8f9dc0-ae9a-483f-bc03-d257f4c9629f",
"name": "Approved?",
"type": "n8n-nodes-base.if",
"position": [
1744,
400
],
"parameters": {},
"typeVersion": 2.2
},
{
"id": "e4539058-fca8-4ba7-ae11-e993df69492d",
"name": "Update Crisis Log - Approved",
"type": "n8n-nodes-base.googleSheets",
"position": [
1968,
272
],
"parameters": {},
"typeVersion": 4.5
},
{
"id": "b02a8cac-e3e7-4311-a56a-a25ca2937a52",
"name": "Confirm Sent",
"type": "n8n-nodes-base.telegram",
"position": [
2240,
272
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "68fb40d5-e379-4506-9f4e-2e8a2400b8a1",
"name": "Update Crisis Log - Rejected",
"type": "n8n-nodes-base.googleSheets",
"position": [
1968,
528
],
"parameters": {},
"typeVersion": 4.5
},
{
"id": "96f07f28-6419-46da-a4a5-289e8870bb83",
"name": "Confirm Rejected",
"type": "n8n-nodes-base.telegram",
"position": [
2192,
528
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "72cbbf83-c11e-4924-9e8e-6b4b8890a9d6",
"name": "On Workflow Error",
"type": "n8n-nodes-base.errorTrigger",
"position": [
960,
1024
],
"parameters": {},
"typeVersion": 1
},
{
"id": "524a00d5-191c-44ea-b593-c29c468b952f",
"name": "Slack \u2013 Post Workflow Error Alert",
"type": "n8n-nodes-base.slack",
"position": [
1232,
1024
],
"parameters": {},
"typeVersion": 2.3
}
],
"active": false,
"settings": {
"binaryMode": "separate",
"availableInMCP": false,
"executionOrder": "v1"
},
"versionId": "f387fa7a-867f-4315-98af-44b3a1860c33",
"nodeGroups": [],
"connections": {
"Approved?": {
"main": [
[
{
"node": "Update Crisis Log - Approved",
"type": "main",
"index": 0
}
],
[
{
"node": "Update Crisis Log - Rejected",
"type": "main",
"index": 0
}
]
]
},
"Is Crisis?": {
"main": [
[
{
"node": "Draft Response",
"type": "main",
"index": 0
}
],
[
{
"node": "Mark No Action",
"type": "main",
"index": 0
}
]
]
},
"Parse Draft": {
"main": [
[
{
"node": "Log Crisis Event",
"type": "main",
"index": 0
}
]
]
},
"Loop Mentions": {
"main": [
[
{
"node": "Batch Complete",
"type": "main",
"index": 0
}
],
[
{
"node": "Classify Severity",
"type": "main",
"index": 0
}
]
]
},
"Draft Response": {
"main": [
[
{
"node": "Parse Draft",
"type": "main",
"index": 0
}
]
]
},
"Mark No Action": {
"main": [
[
{
"node": "Loop Mentions",
"type": "main",
"index": 0
}
]
]
},
"Monitor Trigger": {
"main": [
[
{
"node": "Get New Mentions",
"type": "main",
"index": 0
}
]
]
},
"Get New Mentions": {
"main": [
[
{
"node": "Loop Mentions",
"type": "main",
"index": 0
}
]
]
},
"Log Crisis Event": {
"main": [
[
{
"node": "Send Approval Request",
"type": "main",
"index": 0
}
]
]
},
"Classify Severity": {
"main": [
[
{
"node": "Parse Classification",
"type": "main",
"index": 0
}
]
]
},
"On Workflow Error": {
"main": [
[
{
"node": "Slack \u2013 Post Workflow Error Alert",
"type": "main",
"index": 0
}
]
]
},
"Find Pending Crisis": {
"main": [
[
{
"node": "Merge Approval Data",
"type": "main",
"index": 0
}
]
]
},
"Merge Approval Data": {
"main": [
[
{
"node": "Approved?",
"type": "main",
"index": 0
}
]
]
},
"Parse Classification": {
"main": [
[
{
"node": "Is Crisis?",
"type": "main",
"index": 0
}
]
]
},
"Send Approval Request": {
"main": [
[
{
"node": "Mark Awaiting Approval",
"type": "main",
"index": 0
}
]
]
},
"Mark Awaiting Approval": {
"main": [
[
{
"node": "Loop Mentions",
"type": "main",
"index": 0
}
]
]
},
"Parse Approval Message": {
"main": [
[
{
"node": "Find Pending Crisis",
"type": "main",
"index": 0
}
]
]
},
"Approval Response Listener": {
"main": [
[
{
"node": "Parse Approval Message",
"type": "main",
"index": 0
}
]
]
},
"Update Crisis Log - Approved": {
"main": [
[
{
"node": "Confirm Sent",
"type": "main",
"index": 0
}
]
]
},
"Update Crisis Log - Rejected": {
"main": [
[
{
"node": "Confirm Rejected",
"type": "main",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This workflow monitors brand mentions stored in Google Sheets on a 15-minute schedule, uses OpenAI to classify crisis severity and draft PR responses, logs incidents to a crisis sheet, and routes approval decisions through Telegram, with Slack alerts for workflow errors. Runs…
Source: https://n8n.io/workflows/17602/ — 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.
This workflow uses Google Sheets, OpenAI, Telegram, and Slack to send post-therapy check-in messages, analyze patient replies for sentiment and risk, alert therapists to at-risk responses, and log non
This workflow monitors new hires in Google Sheets, downloads onboarding documents from Google Drive, uses OpenAI (gpt-4o-mini) to verify each file and determine overall compliance, then notifies HR vi
This workflow handles customer order complaints submitted via Telegram by looking up order details in Google Sheets, using OpenAI to classify message sentiment, and routing each case to auto-approval,
This workflow handles COD order confirmation and abandoned-cart recovery by combining webhooks, Google Sheets logging, OpenAI message generation, and Telegram messaging with inline buttons, plus Slack
This workflow runs a Telegram restaurant ordering flow that uses OpenAI to parse orders and suggest an upsell, sends a Razorpay payment link, confirms paid orders via a Razorpay webhook, logs orders a