This post was originally featured on forcePanda by Narender Singh.
FSL Mobile Flows are a newer tool in the Flow toolbox, and for use in the FSL Mobile App only. While the documentation is extensive, and the community is active, there are still a lot of things only picked up through extensive trial and error. A few of these tips are listed here to save you the time acquiring them the hard way! The FSL community is a great resource as well.
- Create a checkbox or date/time field on records that you will be inserting from FSL Mobile, and set that field when a record is generated from the mobile app. This will help you keep track of the volume of record insertions from mobile, and will assist in troubleshooting should any issues arise.
- It will be helpful to create Formula fields on relevant objects to Concatenate information to display on Record Choice Sets in the mobile flow. This is because we can only display one field as a Record Choice Set label. For example, concatenate ProductCode, Name and Description to show in the Record Choice Set ‘Choice Label’ for ordering a Product.
- Use Element Description fields to articulate why you are following a certain approach – these mobile Flows get incredibly complex and messy in real-world scenarios, and it is very challenging to come back through and quickly figure out what is being done. Descriptions are your flow tool for commenting code.
- FSL Mobile Flows have a default Exit screen. So unless you want to provide a custom Success message, you can end your flow without a Screen element to avoid double ‘Success’ messages. Note that Salesforce have provided input that this default screen won’t be around forever.
- While building your Flow, make sure to leave tons of space between elements. This will let you adjust the Flow without creating a spaghetti diagram. I made this mistake unfortunately and the most complicated flow (hundreds of elements) is very difficult to manage as a result. Here is a ‘God Flow’ built before sub-flows were working properly for FSL – good news as they are now. Leaving space and using sub-flows can help you to avoid this mess.
- Document all changes on new versions of the Flow – keep a running tally in the Description field (most recent at top). This has bailed me out more than a few times. Follow whatever internal documentation your organization uses for change control (Stories, Defects, etc.).
- Always carefully consider your error handling strategy with an eye towards what can happen on a mobile device. For example, don’t go through 20+ screens of data entry without ever creating records/starting a sync. You definitely don’t want to stack up 50 records in a sync queue, when the 1st of those records might hit an exception – this will create a poor user experience. Try to balance performance against preservation of data, sync data outside of the user’s view, etc. The approach will also depend on whether or not you are supporting an offline solution, so design accordingly!
I hope this gives you a good starting point on experimenting with business solutions in FSL Mobile.