Testing and Debugging Flows

With our testing and debugging tools, you can see more information about why a particular submission failed. You can also learn more about how flows are constructed and use what you've learned to build and test your own flows with our Flows SDK. You can use this information to troubleshoot halted submissions and failed flows in your production or development environments, or you can view it in a development instance as part of your flow-testing process. 

Viewing execution details for a flow run

You can access the execution details for a particular flow in the following ways.

From the details page for a submission

  1. Click Submissions, and click on the name of the submission you'd like to view flow-execution details for.

  2. Click Actions, and then click View Flow Run.

From the Flow Runs page

  1. Go to the Flow Runs page (Flows > Flow Runs).

  2. Find the flow in the Flow Runs table, and click its Flow Run ID.

Note that you need the View Flow Executions permission to access the Flow Runs page, which is given to users in the System Admin and Business Admin permission groups by default.

From the Jobs page

  1. Go to the Jobs page (Administration > Jobs).

  2. Make sure Flows is selected in the drop-down menu at the top of the page.

  3. Click on the ID of the flow run that you want to view details for.

Note that you need the View Jobs permission to access the Jobs page, which is given to users in the System Admin permission group by default.

Navigating the Flow Run page

  • If you access the Flow Run page from the Flow Runs or Jobs page, the flow’s identifier appears in the upper-left corner of the page. Clicking on it redirects you to the flow's settings in Flow Studio.

  • If you access the Flow Run page from a submission’s details page, the submission’s ID appears in the upper-left corner of the page.

The Flow Run page has the following parts:

Red1.png Debugging — The links in the top section of the left-hand sidebar show flow-level details that can help troubleshoot the flow’s execution:

  • Flow Runtime Errors — Clicking View opens the Flow Runtime Errors tab in the Data panel at the bottom of the page. 

  • Flow Inputs/Outputs — Clicking View opens the Flow Input tab in the Data panel at the bottom of the page, which shows the data that was submitted to the flow in JSON format. You can click the Flow Output tab to see the JSON output of the flow.

Red2.png Overview — The left-hand sidebar shows metadata for the submission or flow run.

If you access the Flow Run page from either the Flow Runs page or Jobs page, the Overview section contains the following metadata:

  • Flow Run ID — The internal ID of the flow run

  • Correlation ID — The ID given to all flow runs related to a particular flow run, including those for subflows and on-error flows. If any of these related flow runs have failed, the number of failed flow runs is provided under the Correlation ID. Clicking View related flow runs opens the Flow Runs page filtered to show all flow runs with this Correlation ID.

  • Status — The status of the submission’s flow run:

    • Failed — The flow run was not completed successfully.

    • Running — The flow run is currently in progress.

      • If a flow run is in progress, an Auto refresh option appears at the top of the page. It is on by default and refreshes the page once per second. To disable or enable this option, click Auto refresh is on or Auto refresh is off.

    • Completed — The flow run was completed successfully.

    • Terminated — The flow run was deliberately stopped before it could be completed.

    • Paused — The flow run has been temporarily stopped and may be resumed in the future.

  • On-Error Flow — A link to the Flow Run page for this flow’s on-error flow, if any. To learn more about on-error flows, see On-Error Flows.

  • Flow Name — The name of the flow being run

  • Start Time — The date and time the flow run began

  • End Time — The date and time the flow run ended (if applicable)

  • Total Processing Time — The amount of time taken to execute the flow

If you access the Flow Run page from a submission’s details page, the Overview section contains the following metadata:

  • Submission ID — The submission’s internal ID. Clicking on the ID redirects you to the details page for the submission.

  • Flow Run ID — The internal ID of the flow run

  • Correlation ID — The ID given to all flow runs related to a particular flow run, including those for subflows and on-error flows. If any of these related flow runs have failed, the number of failed flow runs is provided under the Correlation ID. Clicking View related flow runs opens the Flow Runs page filtered to show all flow runs with this Correlation ID.

  • Submission Status — The current processing status of the submission

    • If the submission has a status other than Halted or Completed, an Auto refresh option appears at the top of the page. It is on by default and refreshes the page once per second. To turn this feature off or on, click Auto refresh is on or Auto refresh is off.

    • If a submission is halted, the number of related flow runs that have failed appears below the submission’s status, along with a View List link that redirects you to the Flow Runs page. The table is filtered to show the failed flow runs for the submission.

  • On-Error Flow — A link to the Flow Run page for this flow’s on-error flow, if any. To learn more about on-error flows, see On-Error Flows.

  • External ID — The external ID of the submission

  • Flow Name — The name of the flow used to process the submission. Clicking on the name redirects you to the flow's settings in Flow Studio. 

  • Flow Version — The version of the flow named in Flow Name used to process the submission

  • Start Time — The date and time the submission’s processing began

  • Complete Time — The date and time the submission’s processing ended (if applicable)

  • Total Processing Time — The amount of time taken to process the submission

Red3.png Flow-run diagram — The upper-right panel shows a diagram of the flow.

  • The processing status for an individual block is shown under the block, along with the time the block completed or failed processing (if applicable).

  • If the block has no status underneath it, it has not been executed yet.

  • Clicking on a block reveals its metadata, input, output, and logs in the Data panel below.

  • If the block contains sub-blocks, a View Flow Run link appears in that block. Clicking on that link redirects you to the Flow Run page for the block, which shows the block’s sub-blocks.

Red4.png Data — The Data panel can show either flow-level or block-level information. 

Block-level data — By default, the Data panel shows details for the block currently selected in the flow-run diagram. Click on a block in the diagram to see its details in the Data panel. The panel contains the following tabs when a block is selected:

  • Details — The Details tab contains metadata for the block, including when the block’s task was created and when it began. It also shows the block’s reference name and type. 

  • Input — The Input tab shows the JSON that the block used for processing.

    • Note that the input JSON for the first block in a completed submission is not the same as the JSON input for the entire submission. To view the submission’s JSON input, click View next to Flow Inputs/Outputs in the Overview section of the page.

  • Output — Clicking on the Output tab shows the JSON that the block produced during processing (if applicable).

    • Note that the output JSON for the final block in a completed submission is not the same as the JSON output for the entire submission. To view the submission’s JSON output, click View next to Flow Inputs/Outputs in the Overview section of the page, and then click the Flow Output tab in the Data panel.

  • Logs: If the block failed to process the submission, the Logs tab shows error information for the block.

    • If you’ve enabled logging for your Custom Code or Python Blocks in the Flows SDK, the Logs tab also shows any applicable info, debugging, warning, or error messages you created for the block. You can also find these messages in your Docker logs.

  • Code: This tab is only available if a Custom Code Block or Python Block is selected. If the block was executed, clicking the Code tab reveals the Python code that was run by the block.

Flow-level data — If you click either of the View links in the Debugging section of the page, the Flow Runtime Errors, Flow Input, and Flow Output tabs appear in the Data panel. To learn more about these tabs, see the Debugging portion of this article. 

You can copy any of the data shown in the Data panel by clicking Copy in the upper-right corner of the panel.

Retrying a submission 

If you access the Flow Run page from a submission’s details page, you can retry the submission by clicking Resubmit submission in the upper-right corner of the page. This action will generate a new, separate submission using the same input as the submission you’re currently viewing flow-run data for.