Salto for
Salesforce
Articles
SHARE
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.
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.
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.
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.
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.
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.
Don't overlook the security aspects of your Flow:
Security Implications
Consider the security implications of your Flow, including data access and user permissions.
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.
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 :)
Salto for
Salesforce
Salesforce
SHARE
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.
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.
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.
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.
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.
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.
Don't overlook the security aspects of your Flow:
Security Implications
Consider the security implications of your Flow, including data access and user permissions.
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.
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 :)