PingOne DaVinci

Validating a flow

Validate a flow to automatically search for problems within the flow. These problems fall into one of two categories:

  • Error: A problem that will prevent the flow from completing successfully and must be fixed before you deploy the flow.

  • Warning: A problem that won’t prevent the flow from completing successfully but could make it difficult to understand or update the flow.

When you validate a flow, the errors and warnings are recorded with the current flow version. If you reopen a flow version that you have already validated, you can click View X Error(s) or View X Warning(s) to view the errors and warnings.

The list of flows displays an icon indicating the number of errors in the current flow version, or the number of warnings if the flow contains no errors.

You can configure a flow to be automatically validated whenever it is saved. Learn more in Editing flow settings.

To validate a flow manually:

Steps

  1. In DaVinci, on the Flows tab, locate and open the flow.

  2. Click Validate Flow.

    If the flow has errors or warnings, the top of the center pane displays one of the following:

    • View X Error(s): Displays if the flow has one or more errors.

    • View X Warning(s): Displays if the flow has no errors but one or more warnings.

    A screenshot showing a flow with errors and warnings marked.

  3. Click View X Error(s) or View X Warning(s).

    The Error Validation pane displays.

  4. Select Show Warnings to include warnings in the display.

  5. For each error or warning, read the description to understand how to fix the issue. Click View Error or View Warning to highlight the node containing the issue.

  6. Click Save after you have fixed the issues.

Flow Validation Rules

Errors

The following errors can be identified by flow validation:

Error Description

Flow is empty

The flow does not contain any nodes.

Flow has multiple start points or a floating node

There are multiple nodes that could act as starting points for the flow.

Disabled node found

The flow contains one or more disabled nodes, which can cause issues when a flow is run.

Subflow configuration error

The flow launches a subflow, but the subflow or subflow version are not valid.

Circular subflow dependency found

The flow launches a subflow, but that subflow launches the parent flow, creating an infinite loop.

Unused variable found

A flow instance variable is defined by a variable connector but is not used in the flow.

Undefined variable found

A variable that is not defined in the flow is being referenced.

Subflow input schema missing

The flow launches a subflow, but the flow conductor node does not provide one or more values that are required by the subflow input schema.

Incorrect ending nodes for PingOne flow

The flow is a PingOne flow, but it includes branches that do not conclude with a PingOne Authentication connector node using either the Return Success Response (Redirect Flows) capability or the Return Error Response (Redirect Flows) capability.

Form not selected

The flow includes a Forms connector node that doesn’t have a form selected.

Connector capability not configured

The flow contains a node that does not have a selected capability.

Referenced node in local variable doesn’t exist

The flow contains a node that references a value from an unavailable node ID.

Invalid subflow configuration: PingOne flow selected as subflow.

The subflow configured in the flow connector is a PingOne flow. PingOne flows cannot be used as subflows.

Invalid configurations for 'A == B (Multiple Conditions)' capability

A functions connector node using the 'A == B (Multiple Conditions)' capability doesn’t have defined outcomes. Define at least one expected outcome value.

Missing target node in 'Go to Node' capability

A teleport node is missing a destination.

Input schema missing for teleport node.

A teleport node is missing an input schema.

"Expire Flow Instance Cache" enabled in an intermediate node

The Expire Flow Instance Cache setting is enabled on a node that’s not an end node. When this setting is enabled on an intermediate node, it can cause functions such as localization to fail.

Incorrect "Additional Fields in the Response" in Send Success JSON Response capability

The Send Success JSON Response node has an incorrect configuration in the additional fields included in the response. Make sure that a key and value are provided for each additional field, or remove any additional field that aren’t necessary.

Incorrect "Additional Fields in the Response" in Send Error JSON Response capability

The Send Error JSON Response node has an incorrect configuration in the additional fields included in the response. Make sure that a key and value are provided for each additional field, or remove any additional field that aren’t necessary.

Unsupported false branch after teleport node

A teleport node includes a false exit branch. Only true branches are valid after a teleport node.

Missing site key configuration for reCAPTCHA

A reCAPTCHA component within an HTML node needs to have a site key configured.

"Invoke UI Subflow" capability used, but target subflow has no UI nodes.

The Invoke UI Subflow capability is being used to target a subflow that does not have a UI node as the first node of the subflow. Use the Invoke Subflow capability instead.

Missing "Property Name" for Output Fields in Custom HTML Template capability

A Custom HTML Template node is missing keys for one or more output fields. You must add keys if you plan to launch the flow using the Ping SDKs.

Warnings

The following warnings can be identified by flow validation:

Error Description

Log level set to Debug

The log level for the flow is set to Debug. You should only use this log level if you are actively troubleshooting an issue. Learn more in Editing flow settings.

Missing node title

A node has no title, which makes identifying the node challenging.

Missing node description

A node has no description, which makes identifying the node’s purpose challenging.

Incorrect node color

A Send Success Response or Send Error Response node does not have the recommended node color. Using a consistent color for these nodes makes it easier to identify the flow’s endpoints.

Invalid output mapping for 'A == B (Multiple Conditions)' capability

A functions connector node using the 'A == B (Multiple Conditions)' capability has an invalid output mapping. Each defined outcome should be mapped to the next node, and the high level function connector node should not be mapped to another node.

Unmapped outcome(s) in 'A == B (Multiple Conditions)' capability

A functions connector node is missing one or more outcomes.