Dynamic outputs
Summarize
Summary of Dynamic Outputs Build Workflows
Dynamic outputs in ServiceNow's Flow Designer enable users to access action and subflow outputs as dynamically generated data pills. This functionality is essential for building data gathering actions that generate complex objects from outputs of the ServiceNow AI Platform and Integration Hub. Note that dynamic outputs require an Integration Hub plugin and are not available in the base system.
Show less
Key Features
- Dynamic Outputs: Retrieve complex object's schema values during flow design and display them as data pills.
- Data Gathering Actions: Collect data to be used by other actions, primarily from third-party systems via REST calls.
- Requirements for Data Gathering Actions: Must include a script step with a JSON output variable and a single JSON output named 'output'.
- Timeout Settings: Actions wait up to 300 seconds to gather data; this can be adjusted through the system property.
- Error Handling: Scripting errors may prevent the correct output of JSON values, leading to warning messages.
Key Outcomes
By utilizing dynamic outputs, ServiceNow customers can effectively integrate third-party data into their workflows, enhancing the flow design process. This capability allows for the introspection and fetching of data from external systems, which is critical for creating interactive flows that require real-time data input. Users can expect improved integration capabilities while being mindful of performance considerations, such as timeout settings and scripting accuracy.
Access action and subflow outputs as dynamically generated data pills during flow design. You can also build data gathering actions to generate complex objects from ServiceNow AI Platform and Integration Hub outputs.
During the flow design, a dynamic output retrieves the complex object's schema values and displays them as data pills in the data panel.
- An action designer creates a data gathering action.
- An action designer creates a parent action with a dynamic output that points to the child data gathering action.
- A flow designer adds the parent action to a flow.
Data gathering actions
- The action has a script step that contains an output variable of type JSON.
- The action has an output named output of type JSON whose value is derived from the script step's JSON output variable.Note:The action can have multiple outputs but can only have one of type JSON.
- The script step formats the JSON output to have a property named
data. - The JSON output should not return more than 5000 choice options, field template values, or array element items when the data is intended for a dynamic choice or a dynamic template input.Note:Dynamic choice and dynamic template inputs can only display up to 5000 choice options or 5000 template values from the JSON output.
- The action waits for up to 300 seconds (5 minutes) to gather data before it times out. Note:To change the timeout period for all actions, modify the value of the sn_flow_designer.sync_action_execution_timeout_in_seconds system property.
Dynamic object
A dynamic object is either a complex object or an array of complex objects. Action designers build the object structure dynamically with a data gathering action rather than hard-coding it. For more information on building a dynamic object, see Create a data gathering action for a dynamic object.
General guidelines
- Use dynamic outputs for third-party integrations
- Use dynamic outputs to introspect and fetch data from external systems during the flow design. For example, you can specify service endpoints or call actions that interact with specific endpoint APIs. For more information on setting up third-party integrations with Flow Designer, see IntegrationHub.
- Note the time that is required to retrieve large amounts of data
- By default, dynamic outputs have up to 300 seconds to gather data before the system stops them. If your data gathering action needs more time to gather data, set the sn_flow_designer.sync_action_execution_timeout_in_seconds system property to a greater value. Avoid long timeout values for interactive flows where an end user is expecting to enter or select a value.
- Be aware of scripting errors
- Because all data gathering actions use a script step, potential errors could occur from scripting. Review any scripts that are used to output JSON variables because script errors may prevent the outputs from receiving the
JSON values that they need. When a dynamic output scripting error occurs, the following warning message may appear.
Figure 1. Message that is displayed for scripting error