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.

Record updates through Visual Flows

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.

Our Location worldwide
India
3rd Floor, A-10, Pegasus Tower, Sector 68, Noida, Uttar Pradesh 201301 +91-1203117884
SR Tower 2nd Floor Hydel Gate Haldwani Uttarakhand 263126 +91-5946359996
USA
333 West Brown Deer Road Unit G – 366 Milwaukee WI, USA 53217 +1(262) 310-7818
UK
7 Bell Yard, London, WC2A 2JR +44 20 3239 9428
Canada
HIC Global Solutions INC
43 Lafferty Lane, Richmond Hill, L4C 3N8, CA +1(262) 310-7818