---
sourceDocument: Yokohama Build workflows
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/yokohama/build-workflows

 Release :

    - yokohama

ft:locale :

    - en-US

ft:publication_title :

    - Yokohama Build workflows

ft:clusterId :

    - crworkflow

bundleId :

    - crworkflow

workflow :

    - Creator


---

# Dynamic outputs

# Dynamic outputs {#ariaid-title1}

Release version: Yokohama  
Updated February 5, 2025  
![](https://www.servicenow.com/docs/portal-asset/ico-clock) 3 minutes to read
Summarize  
![AI sparkle icon](https://servicenow.com/docs/portal-asset/ai-sparkle-icon) Summarized using AI  
This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.  

## Summary of Dynamic outputs

Dynamic outputs in ServiceNow enable flow designers to access action and subflow outputs as dynamically generated data pills during flow design.
This feature allows for the creation of data gathering actions that generate complex objects from ServiceNow AI Platform and Integration Hub outputs.
Dynamic outputs provide a way to introspect and fetch data from external systems dynamically, enhancing integration capabilities within Workflow Studio.
Show full answer Show less  
**Important:** Dynamic outputs require the Integration Hub plugin (Flow Designer - Introspection \[com.glide.hub.flowdesignerintrospection\]) and are not available in the base system.

## How Dynamic Outputs Work

* An action designer creates a **data gathering action** that collects data (often from third-party systems via REST calls) and outputs a JSON object.
* The data gathering action includes a script step that outputs a JSON variable with a property named `data`.
* A parent action is created with a dynamic output that references the child data gathering action.
* A flow designer then adds the parent action to a flow, enabling the dynamic output as data pills in the design interface.

## Data Gathering Actions

These actions are specialized to collect data and are intended to be invoked via dynamic inputs rather than directly added to flows. Key constraints include:

* Must have a JSON output named `output` derived from the script step.
* Only one JSON type output is allowed per action.
* The JSON output should not exceed 5,000 choice options or template values for use in dynamic choices or templates.
* Actions have a default timeout of 300 seconds (5 minutes) to gather data, adjustable via the `snflowdesigner.syncactionexecutiontimeoutinseconds` system property.

## Dynamic Objects

Dynamic objects refer to complex objects or arrays of complex objects built dynamically through data gathering actions rather than hard-coded structures. This flexibility allows action designers to represent and output complex data structures tailored to integration needs.

## Best Practices and Guidelines

* **Use dynamic outputs primarily for third-party integrations** to introspect and fetch data dynamically during flow design.
* Be mindful of the time needed to retrieve large datasets; adjust the timeout system property if necessary, but avoid long timeouts in interactive flows where user input is expected promptly.
* Review scripting carefully since errors in the JSON output script step can prevent proper data pill generation. Scripting errors will trigger warning messages in Workflow Studio.

## Getting Started

To implement dynamic outputs:

* Create a data gathering action that builds a dynamic object.
* Create a parent action that references this data gathering action with a dynamic output.
* Add the parent action to your flow to use the dynamic output data pills.

Configuration options are available within the parent action to customize dynamic output behavior.  
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.
Note:  
Dynamic outputs are not available in the base system. To use dynamic outputs in Workflow Studio, you must [Request an Integration Hub plugin](https://www.servicenow.com/docs/access?context=request-integrationhub&version=yokohama&pubname=yokohama-integrate-applications&ft:locale=en-US). Dynamic outputs are part of the ServiceNow Flow Designer - Introspection \[com.glide.hub.flow_designer_introspection\] plugin.

During the flow design, a dynamic output retrieves the complex object's schema values and
displays them as data pills in the data panel.  
A dynamic output must point to a data gathering action that collects the displayed data. For example, a data gathering action can retrieve values from a third-party system as part of an [Integration Hub spoke](https://www.servicenow.com/docs/access?context=spokes-list&version=yokohama&pubname=yokohama-integrate-applications&ft:locale=en-US). To use a dynamic output in Workflow Studio:

1. An action designer creates a data gathering action.
2. An action designer creates a parent action with a dynamic output that points to the child data gathering action.
3. A flow designer adds the parent action to a flow.
{#dynamic-outputs__ol_qn1_nwl_mjb}

## Data gathering actions {#dynamic-outputs__section_yyy_zcm_mjb}

A data gathering action collects data to be used by other actions. Data gathering actions are intended to be called from dynamic inputs rather than be added directly to a flow. Data gathering actions typically collect data from third-party systems using a REST call. All data gathering actions must meet these requirements and constraints.

* The action has a [script step](https://servicenow-prod.fluidtopics.net/_J8dNr_d5ZR8N5xKljEKSg "Add custom JavaScript to execute within a reusable action. While most core actions and steps fit common use cases, you can build a Script step to execute behavior not satisfied by the core steps.") 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-outputs__ul_g5h_ly1_chb}

## Dynamic object {#dynamic-outputs__section_tnw_crg_mjb}

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](https://servicenow-prod.fluidtopics.net/JdjWQJ4AK8QBcOx0fC9Dfw "Create an action to collect output values. Then, pass the values to a parent action as a dynamic object.").

## General guidelines {#dynamic-outputs__id_bjp_cvb_ptb}

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 Workflow Studio, see [IntegrationHub](https://www.servicenow.com/docs/access?context=integrationhub&version=yokohama&pubname=yokohama-integrate-applications&ft:locale=en-US).

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 ![Dynamic action error message]()
* **[Get started with dynamic outputs](https://servicenow-prod.fluidtopics.net/GTwl031UT8DeJGq3xw6fkg#getting-started-dynamic-output)**   
  Create a sample action that builds dynamic outputs for use in a flow.
* **[Create a data gathering action for a dynamic object](https://servicenow-prod.fluidtopics.net/JdjWQJ4AK8QBcOx0fC9Dfw)**   
  Create an action to collect output values. Then, pass the values to a parent action as a dynamic object.
* **[Dynamic output configuration options](https://servicenow-prod.fluidtopics.net/~Ow81yiEnJgjHw4FTmO8MQ)**   
  Use these options to configure your dynamic outputs for a parent action.

