Skip to content

错误触发器节点#

您可以使用错误触发器节点来创建错误处理工作流。当其他关联工作流失败时,该节点会获取失败工作流的详细信息及错误内容,并执行错误处理工作流。

使用方法#

  1. 创建一个新工作流,将 Error Trigger 节点作为第一个节点
  2. 为工作流命名,例如 错误处理器
  3. 点击 保存
  4. 在需要使用此错误工作流的目标工作流中:
    1. 选择 选项 选项菜单图标 > 设置
    2. 错误工作流 中,选择您刚创建的工作流。例如,如果您使用了"错误处理器"这个名称,请选择 错误处理器
    3. 点击 保存 现在,当该工作流出错时,关联的错误工作流将会运行

请注意以下事项:

  • 如果工作流使用了错误触发器节点,您无需手动激活该工作流
  • 如果工作流包含错误触发器节点,默认情况下该工作流会将自身作为错误处理工作流
  • 手动运行工作流时无法测试错误处理工作流。错误触发器仅在自动工作流出错时才会运行

模板与示例#

Host your own Uptime Monitoring with Scheduled Triggers

by Jimleuk

View template details
Automated Work Attendance with Location Triggers

by Rui Borges

View template details
Auto Invoice & Receipt OCR to Google Sheets – Drive, Gmail, & Telegram Triggers

by Daniel Ng

View template details
Browse 错误触发器(Error Trigger) integration templates, or search all templates

相关资源#

您可以使用停止并报错节点向错误触发器发送自定义消息。

了解更多关于n8n工作流中的错误处理工作流

错误数据#

Error Trigger(错误触发器)默认接收的错误数据如下:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
[
	{
		"execution": {
			"id": "231",
			"url": "https://n8n.example.com/execution/231",
			"retryOf": "34",
			"error": {
				"message": "示例错误信息",
				"stack": "堆栈追踪"
			},
			"lastNodeExecuted": "出错节点",
			"mode": "manual"
		},
		"workflow": {
			"id": "1",
			"name": "示例工作流"
		}
	}
]

所有信息通常都会存在,除了:

  • execution.id:需要执行记录保存在数据库中。如果错误发生在主工作流的触发器节点,则不会存在,因为此时工作流尚未执行。
  • execution.url:需要执行记录保存在数据库中。如果错误发生在主工作流的触发器节点,则不会存在,因为此时工作流尚未执行。
  • execution.retryOf:仅当该执行是对失败执行的重新尝试时才会存在。

如果错误是由主工作流的触发器节点(而非后续阶段)引起的,发送给错误工作流的数据会有所不同。execution{} 中的信息较少,而 trigger{} 中的信息更多:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
{
  "trigger": {
    "error": {
      "context": {},
      "name": "WorkflowActivationError",
      "cause": {
        "message": "",
        "stack": ""
      },
      "timestamp": 1654609328787,
      "message": "",
      "node": {
        . . . 
      }
    },
    "mode": "trigger"
  },
  "workflow": {
    "id": "",
    "name": ""
  }
}