---
sourceDocument: Brazil Build or modify applications
sourceDocumentLink: https://www.servicenow.com/docs/r/application-development

 Release :

    - brazil

ft:locale :

    - en-US

ft:publication_title :

    - Brazil Build or modify applications

ft:clusterId :

    - cadev

bundleId :

    - cadev

workflow :

    - Development, Data, and Analytics


---

# Flow Designer

# Flow Designer {#ariaid-title1}

Release version: Brazil  
Updated September 10, 2026  
![](https://www.servicenow.com/docs/portal-asset/ico-clock) 2 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 Flow Designer

Flow Designer is a ServiceNow AI Platform feature that provides a consolidated environment for automating business processes using natural language, without coding.
It enables process owners to automate approvals, tasks, notifications, and record operations efficiently.
ServiceNow recommends using Flow Designer over legacy workflows for most new process flows.
Show full answer Show less  

## When to Use Flow Designer vs. Business Rules

Use Flow Designer for most automation needs unless business logic must run in a precise sequence with other Business Rules, execute immediately before or after database writes in the same thread, or only call a Script Include.

## Design Principles

* **Single Purpose:** Each flow should focus on one clear goal.
* **Reusability:** Design reusable sub-flows (e.g., approvals) to simplify maintenance.
* **Clarity:** Use clear language and layout for each action's purpose.

Begin by designing the business flow visually (e.g., on a whiteboard) and build the flow action by action. Multiple flows may be needed to adhere to these principles.

## Best Practices for Flow Designer

* Use records instead of SysIDs to improve readability and maintainability.
* Provide guided experiences with inline documentation.
* Utilize template objects for handling static and dynamic inputs effectively.
* Avoid passing large data blobs unnecessarily; only pass data used by the flow.

## Best Practices for Flow Designer Actions

* Create actions within the scope of the application's spoke when applicable.
* Set access to "Accessible from all scopes" to enable reuse across apps and scopes.
* Set Protection to Read-only to prevent unwanted edits.
* Define specific input types, mark required inputs as Mandatory, and use default values for choice inputs.

## Best Practices for IntegrationHub

* Create one spoke per integration system and include only actions for that system.
* Use meaningful version naming for scoped apps.
* Use connection aliases rather than inline connections to handle base URLs and enable versioning flexibility.
* Use "Save as Attachment" for response content to simplify data handling.
* If aliases are dynamic, pass them as inputs using data pills.

## Error Handling Practices

* Create Script Includes to manage errors consistently.
* Write concise, understandable error messages covering all possible API errors.
* Validate integration step outputs before use.
* Fail early by skipping integration calls if required inputs are missing.

## Training

ServiceNow provides self-paced training for both Flow Designer and IntegrationHub to help customers effectively adopt these tools.  
Flow Designer is a ServiceNow AI Platform feature that enables rich process automation capabilities in a consolidated design environment. Flow Designer enables process owners to use natural language to automate approvals, tasks,
notifications, and record operations without having to code.

## Flow Designer and IntegrationHub {#flow-designer__section_vff_sz2_5xb}

For any new process flow requirements, ServiceNow recommends using Flow Designer over the legacy workflow for almost all circumstances.

## Flow Designer and Business Rules {#flow-designer__section_xzx_tz2_5xb}

You should use Flow Designer instead of Business Rules unless:

* Business logic needs to run in a specific sequence with other Business Rules. For example, new business logic needs to run after one Business Rule but before another.
* Logic needs to execute immediately before or after writing to the database in the same thread.
* The logic only calls a Script Include.

{#flow-designer__ul_k2j_vz2_5xb}

When designing a flow, follow these design principles:

* Single Purpose: Each flow should have a singular goal.
* Reusability: Design with reusable sub-flows in mind (approval is a great example).
* Clarity: The language and layout of a flow should make each action's purpose clear.

{#flow-designer__ul_l2j_vz2_5xb}

Start with a white board design of a business flow. Then build the flow action by action to align with the process. More than one flow may be required for a for a single process to keep to the design principles.

Use the following practices when working with Flow Designer:

* Use records, not SysIDs. Provide a guided experience with inline documentation.
* Learn how to use template objects to work with both static and dynamic inputs.
* Avoid passing around blobs of data unless absolutely necessary.
* Only pass information to a flow that the flow is going to use.

{#flow-designer__ul_m2j_vz2_5xb}

Use the following practices when working with Flow Designer Actions:

* Always create actions under the scope of the application's spoke, if applicable.
* Set access to Accessible from all scopes in actions to be able to reuse actions across other apps and scopes in the future.
* Set Protection to Read-only to avoid any unwanted edits to the actions by users.
* Make sure inputs have a specific type.
* Ensure that Mandatory is selected where required.
* If using a choice input type, use a default value.

{#flow-designer__ul_n2j_vz2_5xb}

Use the following practices when working with IntegrationHub:

* Create one spoke per integration system. Only put actions for a single system in a spoke.
* When creating the scoped app for the spoke, use a version naming convention that makes sense.
* Use a connection alias instead of an inline connection. The Base URL will be automatically extracted.
* Use connection attributes under the Alias to pass the version in a REST step giving future flexibility for versioning in the resource path.
* Use Save as Attachment to save the content in the response instead of creating another step to save the data.
* If the Alias is dynamic, make Alias one of the inputs and use the data pill to provide the Alias.

{#flow-designer__ul_o2j_vz2_5xb}

Use the following practices in Flow Designer and IntegrationHub for Error Handling:

* Create a Script Include to handle errors.
* Write short and understandable error messages.
* Incorporate all of the possible error messages the API returns.
* Ensure that the outputs from the integration step are validated before using them.
* Fail Early: If the inputs are not available, do not call the integration.

{#flow-designer__ul_p2j_vz2_5xb}

Self-Paced Training: [Flow Designer](https://developer.servicenow.com/dev.do#!/learn/courses/paris/app_store_learnv2_flowdesigner_paris_flow_designer)

Self-Paced Training: [IntegrationHub](https://developer.servicenow.com/dev.do#!/learn/courses/paris/app_store_learnv2_rest_paris_rest_integrations/app_store_learnv2_rest_paris_rest_in_integrationhub/app_store_learnv2_rest_paris_rest_in_integrationhub_objectives)

