Invoking Apex for Record updates through Visual Flows
This time around, we’ll show you how to set up a Visual Flow to pull up an Account by Account name for updates – a ubiquitous application of Flows by agents.
Some Background
Flow Variables
These store Flow-updatable values used to reference Field in an Object Record. You’ll need these since you can’t reference Fields from Salesforce Record directly.
Flow Elements
These are interactive elements used to pull data into Flows. Examples of this are the Get Records element and the Post-to-Chatter-core-action element.
These are what make using Flows so intuitive.
Marking Invocables
For the Apex code-base behind Flows, invocable methods called by them are marked with @InvocableMethod.
Similarly, the input and output variables used by flows get marked with @InvocableVariable.
Using Wrapper Classes
As a best practice, wrapper classes are used over both, the Flow Variables fetching Record details, as well as the ones pushing updates to them.
Use Cases
Pulling up Records by name for basic updates is invaluable, especially for fast-paced settings such as delivery centers, as well as for processes characterized by unavoidable manual updates by end-users.
Here’s A Code Illustration
I am text block. Click edit button to change this text. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.
For our part, we set up a Visual Flow over the Accounts Object to retrieve and update data, as well as handle errors.
Two Apex Actions are at play here. Once the Flow launches, a dialogue box or Screen comes up for you to query a Record by Account Name.
Then, the first Apex Action invokes the InvokeApexFromFlow class to take in the Account Name in a wrapped output Flow variable.
A Decision Flow Element then calls InvokeThisMethod and shows one of two Screens depending on Record availability.
If no associated Record exists, a Screen with an error message shows up(based on the output’s Flow variable call Result ).
Else, upon discovery, another Screen displays Record Details with the Screen to Update Account Details.
From thereon, after choosing to make updates, the second Apex action comes into picture. It lets you make updates to details such as the Name, Phone Number, and the Account Type through another set of class-wrapped, input Flow variables to push updates to the Record being viewed.
In Review
In the sections above, we went over a simple, yet frequently encountered use of Visual Flows for faster Record pulls and updates. Go ahead and try implementing one of these over your own instance.
For more on productivity enhancements in Salesforce, Update Flows, and process automation, reach out to us at sales@hicglobalsolutions.com.