{ "nodes": [ { "name": "Error Trigger", "type": "n8n-nodes-base.errorTrigger", "position": [ 250, 500 ], "parameters": {}, "typeVersion": 1, "id": "mailgun-workflow-failure-alert-0" }, { "id": "mailgun-workflow-failure-alert-1", "name": "Prepare failure details", "type": "n8n-nodes-base.code", "typeVersion": 2, "parameters": { "mode": "runOnceForAllItems", "jsCode": "const x=$input.first().json,w=x.workflow??{},e=x.execution??{},err=e.error??{};if(typeof w.name!=='string'||!w.name)throw Error('Missing workflow name');const name=w.name.replace(/[\\r\\n]+/g,' '),v=x=>typeof x==='string'&&x?x:'not available';return [{json:{subject:'Workflow failure: '+name,body:'Workflow: '+w.name+'\\nError: '+v(err.message)+'\\nStack trace: '+v(err.stack)}}];" } }, { "name": "Mailgun", "type": "n8n-nodes-base.mailgun", "position": [ 450, 500 ], "parameters": { "fromEmail": "YOUR_VERIFIED_SENDER", "toEmail": "YOUR_ALERT_EMAIL", "subject": "={{ $json.subject }}", "text": "={{ $json.body }}" }, "typeVersion": 1, "id": "mailgun-workflow-failure-alert-2" } ], "connections": { "Error Trigger": { "main": [ [ { "node": "Prepare failure details", "type": "main", "index": 0 } ] ] }, "Prepare failure details": { "main": [ [ { "node": "Mailgun", "type": "main", "index": 0 } ] ] } }, "name": "Send Workflow Failure Alerts with Mailgun", "active": false, "settings": { "executionOrder": "v1" }, "pinData": {} }