Sort by Topics, Resources
Clear
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Salto for

Salesforce

Articles

SHARE

Crafting Successful Salesforce Flows–Insights from a Flow Fanatic

Dee Hamori

November 14, 2023

4

min read

In today's dynamic business environment, leveraging Salesforce Flow to streamline your processes and enhance user experiences is crucial. However, successful Flow implementation requires a well-thought-out approach to meet business requirements effectively. This blog post will guide you through a checklist of considerations for developing Flows in Salesforce, ensuring your efforts align with the business's goals and expectations.

Experience the Ease & Confidence of NetSuite Customizations with Salto

Automate the way you migrate Jira configurations from sandbox to production

STAY UP TO DATE

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Requirements Gathering

Before diving into the world of Flow development, it's important to understand what you are solving for. Here are the key aspects to consider during the requirements-gathering phase:

Understand Business Requirements and Goals

  • Begin by thoroughly understanding your business's specific needs and goals. This involves deep diving into the processes you aim to optimize with Salesforce Flow.

Explore Out-of-the-Box Functionalities

  • Make sure to investigate Salesforce's out-of-the-box functionalities. There might be existing features that can meet your requirements without custom development. For example, if your users need to be alerted when a Case has been opened for more than 2 days, subscribe them to a report instead of using Flow to send out individual Case reminder emails. 

Document Use Cases and Desired Outcomes

  • Create detailed documentation of your use cases and the desired outcomes you wish to achieve with the Flow. This documentation will serve as your roadmap throughout the development process.

Define Acceptance Criteria

  • Establish clear acceptance criteria to evaluate whether the Flow meets the requirements. This helps ensure that your development efforts are on the right track.

Flow Design

The design phase is where you mold your Flow into a user-friendly, efficient solution. Consider the following:

Simplicity and User-Friendliness

  • Design your Flow to be simple, intuitive, and user-friendly. Users should be able to navigate through it with ease. If you are using a Screen Flow, can your users enter all the required information (esp for related records) without having to exit the Flow? 

Optimize DML Statements

  • Place all DML (insert, update, upsert, delete) statements outside of loops to maintain the Flow's performance and efficiency. Psst, these are the pink elements in Flow.

Follow Flow Naming Conventions

  • Consistently follow Flow naming conventions to ensure clarity and maintainability. If your org doesn’t have an established naming convention, Automation Champion has a really great one!

Consider Asynchronous Flow

  • Evaluate whether an Asynchronous Flow would be more suitable for your use case. If your process doesn’t need to happen in real time, Asynchronous Flows lessen the burden on the system.

Before Save vs. After Save

  • Assess whether your Flow can be optimized by using a Before Save Flow instead of an After Save Flow. If you are running into CPU limit, consider switching your After Save Flow to Before Save Flow. 

Tighten Trigger Criteria

  • Ensure that the trigger criteria in Record-Triggered Flows are well-defined and efficient to minimize unnecessary processing.

Long-Term Maintainability

  • Think about the long-term maintainability of your Flow. Keep it modular to facilitate future enhancements and changes.

Leverage Descriptions

  • Use descriptions effectively to make your Flow easier to understand, especially for other administrators or developers who may work with it in the future.

Flow Switches

  • Consider incorporating Flow switches to handle mass data upload and recovery scenarios, such as using OwnBackup for data recovery.

No hardcoded Ids

  • Avoid hardcoding Ids within your Flow to ensure flexibility and adaptability to changing data. Learn how to not hardcode your Flows here.

Error Handling

Mistakes and unexpected scenarios are part of any development process. Make sure you're prepared to handle them:

Custom Errors

  • Use the Custom Error element to roll back a change that triggered a flow and inform the user exactly what caused the error. This is a new feature, you can read more about it here

Fault Paths

  • Include fault paths in your Flow to gracefully handle unexpected scenarios and errors. For example, if you have a synchronous Flow error when your customer is submitting a Case via Web-to-Case, the Case will not be created without proper fault paths. 

Error Handling and Messages

  • Provide appropriate error handling and error messages within the Flow to guide users when issues arise.

Bulk Data Processing

Ensure your Flow can handle large volumes of data:

Performance Testing

  • Test your Flow with a substantial volume of records (e.g., 200) to guarantee it performs efficiently.

Apex for High-Performance

  • Consider utilizing Apex for high-performance batch processing if Flow alone isn't sufficient for your data processing needs.

Testing and Debugging

A well-tested Flow is a reliable Flow:

Testing in Different Scenarios

  • Test your Flow in various scenarios and user roles to ensure it performs flawlessly in real-world scenarios.

Debugging Tool

  • Use the debug function to troubleshoot and resolve any issues that may arise during testing.

Involve End-Users

  • Engage end-users in the testing process to gather valuable feedback and make necessary adjustments to enhance the user experience and adoption. 

Security

Don't overlook the security aspects of your Flow:

Security Implications

  • Consider the security implications of your Flow, including data access and user permissions.

Documentation

Last but not least, ensure that your efforts are well-documented:

Comprehensive Documentation

  • Document the purpose, design, and functionality of the Flow to provide a comprehensive reference for administrators, developers, and other stakeholders. Pro-tip: remember to include WHY you chose your Flow approach. 

Special Considerations

  • Include any special considerations or dependencies in the documentation to assist with troubleshooting and future modifications. 

Share with Stakeholders

  • Share the documentation with relevant stakeholders to keep everyone on the same page and facilitate effective collaboration.

STAY UP TO DATE

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

In conclusion, Salesforce Flow development requires meticulous planning and continuous optimization. By following this checklist, you can maximize the potential of Salesforce Flow to meet your business objectives and provide a seamless experience for your users. Don’t forget to always build in Sandbox. Hope this was helpful. See you on the trails :)

WRITTEN BY OUR EXPERT

Dee Hamori

Salesforce Architect

Dee, a former pharmacist turned Salesforce architect, dedicates herself to streamlining business processes with automation. She actively supports the Salesforce community by mentoring career changers and leading Salesforce Saturday meetups. Dee shares her Salesforce insights through articles and conference talks. Beyond her professional life, she finds joy in tending to her plant collection, exploring the great outdoors in national parks, and immersing herself in the pleasures of reading and painting.

Sort by Topics, Resources
Clear
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Salto for

Salesforce

Salesforce

SHARE

Crafting Successful Salesforce Flows–Insights from a Flow Fanatic

Dee Hamori

November 14, 2023

4

min read

In today's dynamic business environment, leveraging Salesforce Flow to streamline your processes and enhance user experiences is crucial. However, successful Flow implementation requires a well-thought-out approach to meet business requirements effectively. This blog post will guide you through a checklist of considerations for developing Flows in Salesforce, ensuring your efforts align with the business's goals and expectations.

What if Zendesk was 4x less work?

Request a Demo Get started with Salto

Requirements Gathering

Before diving into the world of Flow development, it's important to understand what you are solving for. Here are the key aspects to consider during the requirements-gathering phase:

Understand Business Requirements and Goals

  • Begin by thoroughly understanding your business's specific needs and goals. This involves deep diving into the processes you aim to optimize with Salesforce Flow.

Explore Out-of-the-Box Functionalities

  • Make sure to investigate Salesforce's out-of-the-box functionalities. There might be existing features that can meet your requirements without custom development. For example, if your users need to be alerted when a Case has been opened for more than 2 days, subscribe them to a report instead of using Flow to send out individual Case reminder emails. 

Document Use Cases and Desired Outcomes

  • Create detailed documentation of your use cases and the desired outcomes you wish to achieve with the Flow. This documentation will serve as your roadmap throughout the development process.

Define Acceptance Criteria

  • Establish clear acceptance criteria to evaluate whether the Flow meets the requirements. This helps ensure that your development efforts are on the right track.

Flow Design

The design phase is where you mold your Flow into a user-friendly, efficient solution. Consider the following:

Simplicity and User-Friendliness

  • Design your Flow to be simple, intuitive, and user-friendly. Users should be able to navigate through it with ease. If you are using a Screen Flow, can your users enter all the required information (esp for related records) without having to exit the Flow? 

Optimize DML Statements

  • Place all DML (insert, update, upsert, delete) statements outside of loops to maintain the Flow's performance and efficiency. Psst, these are the pink elements in Flow.

Follow Flow Naming Conventions

  • Consistently follow Flow naming conventions to ensure clarity and maintainability. If your org doesn’t have an established naming convention, Automation Champion has a really great one!

Consider Asynchronous Flow

  • Evaluate whether an Asynchronous Flow would be more suitable for your use case. If your process doesn’t need to happen in real time, Asynchronous Flows lessen the burden on the system.

Before Save vs. After Save

  • Assess whether your Flow can be optimized by using a Before Save Flow instead of an After Save Flow. If you are running into CPU limit, consider switching your After Save Flow to Before Save Flow. 

Tighten Trigger Criteria

  • Ensure that the trigger criteria in Record-Triggered Flows are well-defined and efficient to minimize unnecessary processing.

Long-Term Maintainability

  • Think about the long-term maintainability of your Flow. Keep it modular to facilitate future enhancements and changes.

Leverage Descriptions

  • Use descriptions effectively to make your Flow easier to understand, especially for other administrators or developers who may work with it in the future.

Flow Switches

  • Consider incorporating Flow switches to handle mass data upload and recovery scenarios, such as using OwnBackup for data recovery.

No hardcoded Ids

  • Avoid hardcoding Ids within your Flow to ensure flexibility and adaptability to changing data. Learn how to not hardcode your Flows here.

Error Handling

Mistakes and unexpected scenarios are part of any development process. Make sure you're prepared to handle them:

Custom Errors

  • Use the Custom Error element to roll back a change that triggered a flow and inform the user exactly what caused the error. This is a new feature, you can read more about it here

Fault Paths

  • Include fault paths in your Flow to gracefully handle unexpected scenarios and errors. For example, if you have a synchronous Flow error when your customer is submitting a Case via Web-to-Case, the Case will not be created without proper fault paths. 

Error Handling and Messages

  • Provide appropriate error handling and error messages within the Flow to guide users when issues arise.

Bulk Data Processing

Ensure your Flow can handle large volumes of data:

Performance Testing

  • Test your Flow with a substantial volume of records (e.g., 200) to guarantee it performs efficiently.

Apex for High-Performance

  • Consider utilizing Apex for high-performance batch processing if Flow alone isn't sufficient for your data processing needs.

Testing and Debugging

A well-tested Flow is a reliable Flow:

Testing in Different Scenarios

  • Test your Flow in various scenarios and user roles to ensure it performs flawlessly in real-world scenarios.

Debugging Tool

  • Use the debug function to troubleshoot and resolve any issues that may arise during testing.

Involve End-Users

  • Engage end-users in the testing process to gather valuable feedback and make necessary adjustments to enhance the user experience and adoption. 

Security

Don't overlook the security aspects of your Flow:

Security Implications

  • Consider the security implications of your Flow, including data access and user permissions.

Documentation

Last but not least, ensure that your efforts are well-documented:

Comprehensive Documentation

  • Document the purpose, design, and functionality of the Flow to provide a comprehensive reference for administrators, developers, and other stakeholders. Pro-tip: remember to include WHY you chose your Flow approach. 

Special Considerations

  • Include any special considerations or dependencies in the documentation to assist with troubleshooting and future modifications. 

Share with Stakeholders

  • Share the documentation with relevant stakeholders to keep everyone on the same page and facilitate effective collaboration.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

In conclusion, Salesforce Flow development requires meticulous planning and continuous optimization. By following this checklist, you can maximize the potential of Salesforce Flow to meet your business objectives and provide a seamless experience for your users. Don’t forget to always build in Sandbox. Hope this was helpful. See you on the trails :)

WRITTEN BY OUR EXPERT

Dee Hamori

Salesforce Architect

Dee, a former pharmacist turned Salesforce architect, dedicates herself to streamlining business processes with automation. She actively supports the Salesforce community by mentoring career changers and leading Salesforce Saturday meetups. Dee shares her Salesforce insights through articles and conference talks. Beyond her professional life, she finds joy in tending to her plant collection, exploring the great outdoors in national parks, and immersing herself in the pleasures of reading and painting.