Flows FAQ - Workflow Automation CoE
Workflow Automation CoE > Flows > FAQ
Frequently Asked Questions
What happened to Flow Designer?
With the introduction of Workflow Studio in the Washington DC Release, all workflow automation types can be developed in a unified builder experience. Going forward, we will refer to building flows, subflows, and flow actions in Workflow Studio.
Why should I migrate from Workflow Editor?
While our legacy technology Workflow Editor (and Orchestration) is not being removed or retired in the foreseeable future (see the Deprecation process in KB0867184), it is considered a legacy product as of the New York release. We have not been developing any new features or enhancements for it. Learn more on the Migration CoE article.
How do I migrate from legacy workflows to flows and playbooks?
We recommend to incrementally replace parts of your old workflows with new (sub)flows. You can trigger flows from a "Run Script" workflow activity in Workflow Editor with the available Flow API (Code Snippet) and in return call workflows from flows. Check out our Platform Academy session on Flow Designer Migration and this CoE article for more guidance and best practices.
What else can I replace with flows and playbooks?
June 9th, 2022 - Flow Designer Migration Use Cases
Flows can be used to replace:
What kinds of flows are there and when should I use which?
This overview of basic definitions and small decision matrics will help you determine which types of flows to create. When in doubt: start with a subflow, then think about triggers or schedules later!
What are some best practices when starting to use flows and subflows?
Check out our academy recording and the CreatorCon lab on Flow Designer best practices:
February 17, 2022 - Flow Designer Good Practices
How can I check in/check out Flows?
Most of our customers tell us that they rarely work with multiple developers on the same Flow/Flow action at the same time in each sub-prod instance. Leveraging the platform approach, it’s a good option to use a Git repo to commit and restore versions.
Why can’t I rollback in flows?
Rollback in WF caused more issues than it solved, how much should be rolled back, what about data that changed on other records due to business rules or flows triggering from the initial update, notifications that were sent out, etc. These considerations led our engineers to decide to not offer a rollback function in Flow Designer.
Why can’t I loop back to a previous step in Flow Designer?
In the Washington DC release, we added a new 'Go back to' flow logic that can be used to loop back to an earlier step. It is available for net new flows in the Washington DC release and will be rolled out to all flows with the Xanadu release in fall 2024.
If you are on an earlier release, you can use this workaround:
Instead of looping back to an earlier step, think about containing your specific set of steps in a subflow with an expected record or status as a subflow output and then either wrapping the subflow in a “Do the following until” flow logic or try using a “Wait for Condition” flow action after calling the subflow.
What are Flow Templates?
Flow Template Builder allows you to save a given flow as a template to be used and re-used by other developers later. This functionality is especially useful in the context of Custom App Templates in App Engine Studio (AES), but can be used independently of AES as well.
How does Flow Designer work on an architecture level?
Check out this Architecture Overview on Docs to give you a deeper insight. To understand where and when flows run exactly, check out the Execution order of scripts and engines.
How do I debug Flow Designer?
Flow Designer and Action Designer provide you with a wide range of debugging options and reporting settings. The Flow Execution details and logging allow you to see precisely what happens in each step of the flow, subflow or flow action. Flow error handling, Action error evaluation and the Try flow logic complete the set of debugging tools. Check out our Platform Academy session on Flow Designer performance and debugging tips and this Workflow Academy and article series on Flow Error handling.
How do I restrict access to actions and logic for my Citizen Developers?
Feature access restricts access to individual features by user role. Decide which roles can look at executions, generate a code snippet, test, save, or publish flows, subflows, or flow actions.
Content filtering lets you set up filter rules to make sure all developers only see the content that is relevant to a given user. This allows you to make sure that (for example) a developer for HR applications can only access IntegrationHub Spokes that are relevant for their apps, e.g., the Workday spoke, but not the Jenkins spoke.
Check out this 3-part article on the Now Community and this Academy session to understand how you can use these features to restrict access.
How can I prioritize flows or determine an execution order?
We have 2 options in place to determine in which order flows will run:
- Flow Priority: New in the Utah release, you can give flows a higher or lower priority. By default, new flows will have the medium priority. Currently, the priority field is not yet available in Flow Designer itself, but you can add it to the list view of flows per these instructions
Flow Priority is not a fixed execution order, but lower priority flow executions may be paused between actions to give way to a higher priority flow. - Inbound Email Flows Advanced Options: You can add a system property to give you advanced options on an inbound email flow trigger. This enables you to give the flow an order and whether to 'stop processing' or to allow other inbound email flows or inbound email actions to run once this flow is complete.
Note: Inbound email flows take priority over inbound email actions. If you create flows with inbound email triggers, emails are first processed by the inbound email triggers before they are processed by inbound email actions.
The order you assign an inbound email flow will only apply in reference to other inbound email flows, not flows with other types of trigger.
When do I use inline scripting in flows?
Inline scripting should be your very last resort. One of the bigger issues that you could run into is when you need to re-order the steps in your flow. The inline script will not auto-adjust the step number reference, thus rendering the script broken.
These are the features that we'd recommend to use instead:
Transform functions: For simple refactoring of your data pill, like sanitizing SQL, reformatting text, performing mathematical functions, etc., apply one or multiple transform functions to a data pill.
Flow Variables: If you absolutely will not need this piece of script again, you can create and set a flow variable at the start of your flow, then use and reuse the variable data pill throughout your flow.
Custom Action: The most robust and reusable option is to create a custom action with a script step. This way you can define the inputs and outputs of your action and won't run into any issues when reordering steps in your flow.
When I use the "Wait for duration" flow logic, where can I look up the date/time when the flow will wake up again?
If the calculated duration is less than a minute, a 'sysevent' record is used. The flow context id is saved to the sysevent.instance field, the target time in the sysevent.process_on field.
If the duration is longer than a minute, a scripted scheduled job is created in the 'sys_trigger' table to wake up the flow with a 'sysevent' to be processesd at the desired time.
The name to filter for on both tables is flow.fire.
Scheduled job
https://www.servicenow.com/community/workflow-automation-articles/flow-designer-faq-workflow-automation-coe/ta-p/2359956
Lisa Holenstein