Skip to content

Error Trigger 错误触发器#

您可以使用 Error Trigger 节点创建错误工作流。当另一个链接的工作流失败时,此节点获取有关失败工作流和错误的详细信息,并运行错误工作流。

使用方法#

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

请注意以下几点:

  • 如果工作流使用 Error Trigger 节点,您不必激活该工作流。
  • 如果工作流包含 Error Trigger 节点,默认情况下,该工作流使用自身作为错误工作流。
  • 在手动运行工作流时,您无法测试错误工作流。Error Trigger 仅在自动工作流出错时运行。

模板和示例#

Browse 错误触发器 integration templates, or search all templates

相关资源#

您可以使用 Stop And Error 节点向 Error Trigger 发送自定义消息。

阅读更多关于 n8n 工作流中的错误工作流

错误数据#

错误触发器接收的默认错误数据是:

 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": "Example Error Message",
				"stack": "Stacktrace"
			},
			"lastNodeExecuted": "Node With Error",
			"mode": "manual"
		},
		"workflow": {
			"id": "1",
			"name": "Example Workflow"
		}
	}
]

所有信息始终存在,除了:

  • 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": ""
  }
}