Error Handling Flows
A custom Flow to handle all errors or log errors and send error logs to a destination of your choosing, e.g. DataDog, Slack, etc.
This is the best way to log or send errors ⚠️ of all flows to a destination of your choosing, e.g. DataDog or Splunk.
Error handling flows are triggered each time an error occurs any flows that contains the error handling flow ID. It can use variables to reference to the error and the flow itself. Thus error logging is defined once and then applied for all the flows you chose.
An error handling flow can be any flow that handles dynamic data from an error. It could for example send the data to a monitoring service such as Datadog, so that you have all your errors accessible there.
In order to trigger it each time an error occurs, the ID of this flow needs to be added in the Error handling flow field of the flow which should trigger it - accessible via the EDIT button on the flow builder:
Error handling flows will be triggered each time a flow step (individual node) has the status error, even if the flow run status is success. Error notifications on the other hand will only be sent when the flow run status for the whole run is error as well.

Available variables in the error handling flow

You can use any of the following variables in the error handling flow in order to access all details related to the error.
  • error_flow_id - ID of the flow having the error
  • error_flow_url - URL of the flow in the UI
  • error_flow_name - Name of the flow
  • error_debugging_url - URL of the flow debugging screen in the UI
  • error_flow_run_id - ID of the flow run
  • error_step_name - Name of the flow run step
  • error_step_id - ID of the flow run step
  • error_step_input - Input of the flow run step (as shown in flow debugger)
  • error_step_output - Output of the flow run step step (as shown in flow debugger); this is basically the error message
  • error_step_request_url - The request URL, as shown in the flow debugger
  • error_step_response_code - The response code, as shown in the flow debugger
  • error_error_date - Time-stamp of the error (end date of step, as shown in the flow debugger)
  • error_connector_name - Name of the connector where the error happened
  • error_connector_id - ID of the connector where the error happened
In order to, for example, send all these information to your debugging tool you could set it up in one dictionary like this:
1
{
2
"error_flow_id": "{{ error_flow_id }}",
3
"error_flow_url": "{{ error_flow_url }}",
4
"error_flow_name": "{{ error_flow_name }}",
5
"error_debugging_url": "{{ error_debugging_url }}",
6
"error_flow_run_id": "{{ error_flow_run_id }}",
7
"error_step_name": "{{ error_step_name }}",
8
"error_step_id": "{{ error_step_id }}",
9
"error_step_input": "{{ error_step_input }}",
10
"error_step_output": "{{ error_step_output }}",
11
"error_step_request_url": "{{ error_step_request_url }}",
12
"error_step_response_code": "{{ error_step_response_code }}",
13
"error_error_date": "{{ error_error_date }}",
14
"error_connector_name": "{{ error_connector_name }}",
15
"error_connector_id": "{{ error_connector_id }}"
16
}
Copied!