Texto sin formato
¡Hola! Esto es completamente comprensible. El escenario de «ruptura silenciosa» es exactamente lo que mantiene despiertos a los arquitectos de automatización, especialmente cuando se gestionan flujos de trabajo de clientes.
La mejor y más escalable forma de manejar esto en n8n no es añadiendo lógica de manejo de errores a cada flujo de trabajo individual, sino creando un único **Flujo de Trabajo de Error Global** centralizado.
n8n tiene un nodo dedicado `Error Trigger`. Cuando se configura en un flujo de trabajo independiente, actúa como un escucha global. Siempre que *cualquier* flujo de trabajo activo en tu instancia de n8n falle, este disparador lo captura y extrae todos los metadatos (nombre del flujo de trabajo, nodo que falló, mensaje de error, ID de ejecución).
Aquí hay una plantilla lista para usar para un Notificador de Error Global. Solo copia este JSON y pégalo en un flujo de trabajo nuevo en blanco:
```json
{
"nodes": [
{
"parameters": {},
"type": "n8n-nodes-base.errorTrigger",
"typeVersion": 1,
"position": [240, 240],
"id": "2498e94e-d00d-4054-9988-518201a052e4",
"name": "Error Trigger (Catch All)"
},
{
"parameters": {
"mode": "json",
"json": {
"workflowName": "={{ $json.context.workflow.name }}",
"workflowId": "={{ $json.context.workflow.id }}",
"executionId": "={{ $json.context.execution.id }}",
"errorNodeName": "={{ $json.error.context.node.name }}",
"errorMessage": "={{ $json.error.message }}",
"timestamp": "={{ new Date().toISOString() }}"
},
"options": {}
},
"type": "n8n-nodes-base.set",
"typeVersion": 1,
"position": [480, 240],
"id": "e914041a-a131-4a4b-8526-a05d6888c3a5",
"name": "Format Error Data"
},
{
"parameters": {
"fromEmail": "n8n@yourdomain.com",
"toEmail": "youremail@yourdomain.com",
"subject": "🚨 n8n Workflow Failed: {{ $json.workflowName }}",
"text": "Hola,\n\nUn flujo de trabajo de n8n ha fallado inesperadamente.\n\n----------------------------------------\nNombre del flujo de trabajo: {{ $json.workflowName }}\nID del flujo de trabajo: {{$json.workflowId }}\nID de ejecución: {{ $json.executionId }}\nNodo que falló: {{$json.errorNodeName }}\nMensaje de error: {{ $json.errorMessage }}\nMarca de tiempo: {{$json.timestamp }}\n----------------------------------------\n\nPor favor, verifica las ejecuciones de tu instancia de n8n.",
"options": {}
},
"type": "n8n-nodes-base.emailSend",
"typeVersion": 1,
"position": [720, 240],
"id": "766a2673-8181-4200-a07c-95c52c035661",
"name": "Email Send (Error Alert)"
}
],
"connections": {
"Error Trigger (Catch All)": {
"main": [
[
{
"node": "Format Error Data",
"type": "main",
"index": 0
}
]
]
},
"Format Error Data": {
"main": [
[
{
"node": "Email Send (Error Alert)",
"type": "main",
"index": 0
}
]
]
}
}
}
Cómo usarlo:
-
Pega esto en un flujo de trabajo nuevo.
-
Abre el nodo Email Send (o reemplázalo con un nodo de Slack/Discord si prefieres alertas de chat).
-
Conecta tus credenciales de correo electrónico y establece tu toEmail.
-
Activa este flujo de trabajo.
Ahora no tienes que preocuparte. Si algo falla silenciosamente, recibirás instantáneamente un correo electrónico con los detalles exactos de qué se rompió y dónde.