This workflow follows the Emailsend → Slack 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 →
{
"name": "Error Handler Workflow",
"nodes": [
{
"parameters": {},
"id": "error-trigger",
"name": "Error Trigger",
"type": "n8n-nodes-base.errorTrigger",
"typeVersion": 1,
"position": [
250,
300
]
},
{
"parameters": {
"values": {
"string": [
{
"name": "errorMessage",
"value": "={{$json.execution.error.message}}"
},
{
"name": "errorWorkflow",
"value": "={{$json.workflow.name}}"
},
{
"name": "errorNode",
"value": "={{$json.execution.error.node.name}}"
},
{
"name": "errorTime",
"value": "={{$json.execution.error.time}}"
},
{
"name": "executionId",
"value": "={{$json.execution.id}}"
}
]
},
"options": {}
},
"id": "extract-error",
"name": "Extract Error Info",
"type": "n8n-nodes-base.set",
"typeVersion": 3,
"position": [
450,
300
]
},
{
"parameters": {
"content": "## Error Details\n\n**Workflow:** {{$json.errorWorkflow}}\n**Node:** {{$json.errorNode}}\n**Time:** {{$json.errorTime}}\n**Execution ID:** {{$json.executionId}}\n\n### Error Message\n```\n{{$json.errorMessage}}\n```\n\n### Full Error Context\n```json\n{{JSON.stringify($input.item().json, null, 2)}}\n```",
"options": {}
},
"id": "format-message",
"name": "Format Error Message",
"type": "n8n-nodes-base.markdown",
"typeVersion": 1,
"position": [
650,
300
]
},
{
"parameters": {
"resource": "message",
"operation": "post",
"text": "=\ud83d\udea8 *Workflow Error Alert*\n\n*Workflow:* `{{$json.errorWorkflow}}`\n*Failed Node:* `{{$json.errorNode}}`\n*Time:* {{$json.errorTime}}\n*Error:* {{$json.errorMessage}}\n\n[View Execution]({{$env.N8N_BASE_URL}}/workflow/{{$json.workflow.id}}/executions/{{$json.executionId}})",
"additionalFields": {
"thread_ts": ""
},
"options": {}
},
"id": "notify-slack",
"name": "Notify Slack",
"type": "n8n-nodes-base.slack",
"typeVersion": 2,
"position": [
850,
200
],
"continueOnFail": true
},
{
"parameters": {
"fromEmail": "${ERROR_FROM_EMAIL}",
"toEmail": "${ERROR_TO_EMAIL}",
"subject": "=Workflow Error: {{$json.errorWorkflow}}",
"text": "={{$('Format Error Message').item.html}}",
"options": {}
},
"id": "notify-email",
"name": "Notify Email",
"type": "n8n-nodes-base.emailSend",
"typeVersion": 2,
"position": [
850,
400
]
}
],
"connections": {
"Error Trigger": {
"main": [
[
{
"node": "Extract Error Info",
"type": "main",
"index": 0
}
]
]
},
"Extract Error Info": {
"main": [
[
{
"node": "Format Error Message",
"type": "main",
"index": 0
}
]
]
},
"Format Error Message": {
"main": [
[
{
"node": "Notify Slack",
"type": "main",
"index": 0
},
{
"node": "Notify Email",
"type": "main",
"index": 0
}
]
]
}
},
"settings": {
"executionOrder": "v1",
"saveManualExecutions": true,
"callerPolicy": "any"
},
"staticData": null,
"tags": [
"error-handling",
"monitoring"
],
"triggerCount": 1,
"updatedAt": "2024-01-01T00:00:00.000Z",
"versionId": null
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Error Handler Workflow. Uses errorTrigger, slack, emailSend. Event-driven trigger; 5 nodes.
Source: https://github.com/pvdyck/n8n-tdd-framework/blob/1417ba0de755ef06ca873baee44b2192f5c42c5c/templates/error-handler.json — 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.
AP Invoice — 99 Error Notifier. Uses errorTrigger, emailSend, postgres, slack. Event-driven trigger; 5 nodes.
This template is for teams using n8n in production who want immediate visibility into workflow failures. It’s ideal for DevOps teams, automation engineers, and operations teams who need reliable error
Report N8N Workflow Errors To Slack. Uses slack, errorTrigger, stickyNote. Event-driven trigger; 5 nodes.
Googlesheets Slack. Uses typeformTrigger, googleSheets, emailSend, slack. Event-driven trigger; 5 nodes.
Error Logger. Uses errorTrigger, googleSheets, slack, stickyNote. Event-driven trigger; 5 nodes.