Flow execution settings

  • Release version: Washingtondc
  • Updated August 5, 2024
  • 2 minutes to read
  • Summarize
    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 Flow Execution Settings

    Flow execution settings allow you to specify runtime parameters for individual flows, subflows, or actions in ServiceNow, including run priority, reporting level, and logging level. These settings help manage and collect execution details effectively, ensuring you can monitor performance without impacting the production environment.

    Show full answer Show less

    Key Features

    • Execution Setting Record: Create a record for each flow, subflow, or action to override system-wide reporting properties and collect specific execution details.
    • Field Descriptions: Key fields include the specific flow/subflow/action the settings apply to, options for reporting all iterations, and thresholds for logging and flow priority.
    • Integration with Parent Flows: Actions or subflows called from a parent flow inherit the parent’s execution settings.

    Key Outcomes

    • Resource Management: Minimize performance issues by configuring execution settings on non-production instances and being selective about reporting iterations.
    • Testing and Verification: Ensure flows generate the desired execution details at the debug level before deploying to production.
    • Troubleshooting Support: Use advanced reporting options only as needed for troubleshooting, and deactivate them post-resolution to maintain system performance.

    Specify the runtime settings for an individual flow, subflow, or action such as the run priority, reporting level, and logging level.

    Figure 1. Sample execution setting record list
    List of two flow execution setting records.

    You can create an execution settings record for each flow, subflow, or action for which you want to collect execution details. An execution setting record [sys_flow_execution_setting] overrides the reporting system properties for a particular item. For example, you can keep the system wide reporting level off, and create execution setting records just for the items that you want to collect execution details.

    You can create as many execution settings records as you like. The system generates execution details each time the flow, subflow, or action is directly run. Actions or subflows that run from a parent flow use the execution settings record of the parent flow.
    Note:
    You can call actions and subflows directly using the action API or script API.

    Execution setting records are available from the Flow administration module.

    Execution setting record fields

    Figure 2. Sample execution setting record
    Execution setting record for the flow called Add a pause. The flow reports all iterations, generates reporting details at full, and replicates logs at the info level.

    An execution setting record [sys_flow_execution_setting] contains these fields.

    Table 1. Execution setting record fields
    Field Description
    Flow/SubFlow/Action Individual flow, subflow, or action to which the execution settings apply.
    Report all iterations Option to gather execution details for all iterations of a loop rather than just storing execution details for the first and last iterations.
    Reporting Reporting level at which to gather execution details.
    Logging Logging level threshold required for Workflow Studio to write a message generated by the flow engine to the Flow engine log entries [sys_flow_log] table.
    Flow Priority Priority value used to run a background flow. For more information about setting flow priority, see Flow priority.
    Note:
    This field is hidden by default. For more information about showing the flow priority field, see Show flow priority field.
    .

    General guidelines

    Use these general guidelines when creating execution setting records to capture execution details.

    Avoid reporting on production instances
    Avoid performance issues on your production instance by only activating and configuring reporting on a non-production instance that you use for testing. Generating and storing execution details consumes instance resources, which can lower performance.
    Create execution setting records on a non-production test instance
    Create execution setting records on a non-production testing instance to minimize the performance impact of generating and storing execution details.
    Reduce the amount of memory consumed by flow loops
    Reduce the amount of memory consumed by generating execution details by not using the option to report all iterations. The more iterations you report on, the more memory is required.
    Test flows, subflows, and actions to generate execution details
    Test your flows, subflows to generate execution details at the debug level. Only deploy your items to a production instance after you verify that they generate the data you want and that they perform as expected.
    Use flow reporting and the report all iterations options only during flow troubleshooting
    Use the flow reporting and report all iterations options only when you need to troubleshoot a flow. These settings generate information that consume instance resources. To reduce their performance impact, either turn off these settings or delete the settings record altogether when you are done troubleshooting the flow.