Flow execution settings
Summarize
Summary of Flow execution settings
Flow execution settings in ServiceNow Yokohama release allow you to specify runtime configurations for individual flows, subflows, or actions. These settings control how flow execution details are collected, including run priority, reporting level, and logging level. Execution settings override system-wide reporting properties and enable detailed monitoring for specific items.
Show less
Execution Setting Records
Each flow, subflow, or action can have an execution setting record (sysflowexecutionsetting) that governs its execution behavior. These records are accessible via the Flow administration module and can be created in any quantity to tailor monitoring and logging.
- Flow/SubFlow/Action: Identifies the item the settings apply to.
- Report all iterations: Controls whether execution details are gathered for every loop iteration or only the first and last. Reporting all iterations increases detail but consumes more memory.
- Reporting: Sets the level of detail for execution reporting.
- Logging: Defines the threshold for writing flow engine log messages to the sysflowlog table.
- Flow Priority: Specifies the priority for running background flows (hidden by default).
Note: Actions or subflows invoked from a parent flow inherit the parent flow’s execution settings.
Best Practices
- Avoid enabling reporting on production instances: To prevent performance degradation, activate execution settings primarily on non-production testing instances.
- Create execution setting records on test instances: This minimizes resource consumption and impact on production performance.
- Minimize memory use in loops: Avoid reporting all iterations unless necessary, as this consumes more memory.
- Test before production deployment: Generate execution details at the debug level on test instances to validate flow behavior and data collection.
- Use reporting and iteration options only for troubleshooting: Enable these settings temporarily during flow debugging and disable or delete them afterward to conserve resources.
Practical Impact for ServiceNow Customers
By configuring flow execution settings appropriately, you can gain precise control over how flow execution data is collected and logged, enabling effective troubleshooting and performance tuning. Following the outlined guidelines helps maintain system performance and resource efficiency while ensuring you capture the necessary execution details for your flows, subflows, and actions.
Specify the runtime settings for an individual flow, subflow, or action such as the run priority, reporting level, and logging level.
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.
Execution setting records are available from the Flow administration module.
Execution setting record fields
An execution setting record [sys_flow_execution_setting] contains these 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 that have run rather than just storing execution details for the first and last run iterations. If a flow pauses between iterations, then the execution details include all iterations that have run. When this option is false, the execution details only include the first and last iterations run. |
| 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.