Salesforce have already given us workflows and process builder but, sometimes they just don’t cut it.
How often have you started a workflow or a process and realised it just won’t do what you need it to?
Well say Hello to Visual Flow… Visual Flow lets you automate business processes, collect, update, edit, create and delete Salesforce date/records. You can even call Apex Classes and all without code! Oh, and it has a drag and drop interface too.
We all know how hard it can be to get users to fill in the right data, so what would you say to showing the users pre-defined screens walking them through what they needed to enter, how great would that be?
What if you worked on an IT service desk, it would be really cool if you had a set of screens which talked you through the customer’s issues and suggested fixes etc.
Whilst Visual flow is more of a front-end tool, using a set of screen and actions triggered by the user, although flows can be used for a multitude of processes and can be autolaunched.
So how does it work?
So, let get down to the nitty gritty.
Flow contains a number of components:
Step Element (input screens)
Kind of Placeholders, which can be converted into an input screen, these are the building blocks of the Flow.
Screens can be created using the Screen Element or converted from a Step above. The screens are a series of windows that are presented to the user who can use the previous or next buttons to move through them. The Screen element allows you to add Fields, Buttons, etc.
Uses logic and data inputs to move the user to the next logical step.
Allows variables to be set to store data for the process as data variables may need to be set or rest during the process
Uses a loop variable to hold the values for the current item, then it loops round to the next item in the variable.
Allows you to add a ‘waiting time’ to a flow before an event is triggered
Data components are used when you need to look for a value or a record or need to create, update or delete a record.
New Apex Code can be created specifically for your flow or you can call existing Apex code.
You can call existing flows within more complex flows and flows can be used more than once.
Controls how the flow is executed.
Used to store updateable values
Can store multiple updated values of the same data type
Updateable field values for a specific Salesforce Record
sObject Collection Variable
As above but for multiple Salesforce Records.
Progress through the Flow in the logic or the UI such as some kind of indicator.
Fixed value to use throughout the flow.
Store numeric formulas.
Store Text for the flow.
Standalone choice option.
Dynamic Record Choice
Collects data from an object’s records and generates a set of choices when run.
Generates a set of choices form the values of s Picklist or Multi-select picklist.
The great thing with Resources is that they can be created on the fly, no more having to cancel out, create the variable and restart the process!
Got it, but it seems complicated so can you show me an example?
It is complex and, when you first start with Flow, it requires patience, lots of coffee or alcohol (or whatever floats your boat) and time. Don’t get disheartened if it doesn’t work first time, perseverance is the key!
Right an example hmm …. OK have a look at my next Blog ‘Crafty things with Visual Flows, Process Builder and a bit of Magic‘.