Blog

Flow Components

Redirect Flow Example

Lightning Components to Extend your Flows

We’ve created a Package to extend your Lightning Flows using Lightning Components. We’re working on getting the full documentation for you and posts about each of the Lightning Components. Feel free to download the package now and test it out, we’ll add the new posts as soon as possible! We do plan on getting the package onto the AppExchange for easy download, but until then, you can install the package from the following link.

https://login.salesforce.com/packaging/installPackage.apexp?p0=04t1U000005eWJi&isdtp=p1

Lightning Component – Redirect Flow – Use inside a Lightning Flow to dynamically redirect the Flow to any URL you set or allow Users to click on a Button to redirect them. This includes redirecting Users to a record that was created inside the Flow, or adding URL variables, such as with a Conga Composer button, based on User selections inside the Flow.

Lightning Component – Run Flow Button – Use on a Lightning Page to create a button that when clicked, will run a Lightning Flow. Instead of the Flow running automatically when the page is rendered like the standard Flow Component, this will only render the Flow when a User clicks the button. Can be combined with Component Filters to only show the button in certain situations.

Apex Action – Unlock Record – Use inside Process Builder or Lightning Flow to unlock a record. Helpful for unlocking a record after an outside action has happened, such as a Quote being declined in an e-signature process, allowing a User to then edit the Quote again and resend for signature from the client.

Apex Action – Lock Record – Use inside Process Builder or Lightning Flow to lock a record, no standard approval process required. Helpful for building custom approval workflows with record locking at the end when the standard approval workflows are not robust enough.

Lightning Component – Locked Record Notifier – Use on a Lightning Page to notify the User if a Record is locked. Enter in your custom message to the User if the Record is locked in the Lightning App Builder. Lightning Component will not display if Record is unlocked.

Apex Action – Get Available Record Types – Use inside Lightning Flow to get the available Record Types for a User, based on the Object. Default Record Type Id for that User is sent back in addition to the List of Record Types allowed for the User. Use with Record Type Picklist Lightning Component to display Record Type selection to the User in a Lightning Flow.

Coming Soon – Lightning Component – Record Type Picklist – Use this Lightning Component inside a Lightning Flow Screen to display Record Types to the User for selection. Use in conjunction with the Get Available Record Types Apex Action to show a User the Record Types they are allowed to create.

Dynamically Redirect Your Flow

Edit Flow Screen - flowURLRedirect

Salesforce Lightning Flow is a powerful tool for Admins to be able to automate business processes and ensure users are following processes. I’ve written a lot about Salesforce Flows at developingflow.com and believe that admins can extend their point and click capabilities by learning Salesforce Lightning Flow.

One of the negative pieces of Salesforce Flow in the past, however, is that in order to redirect the Flow, you needed to set the retURL variable with a known variable (meaning not a newly created record) or you needed to wrap your Flow in a Visualforce Page. Lightning Components have given us the ability to wrap the Flow in a Lightning Component as well, but this takes a little bit more work to get setup.

There is another way to be able to redirect a Flow dynamically based on variables in the Flow. Instead of wrapping a Flow in a Lightning Component, you can instead add the Lightning Component as part of the Flow, either through a Flow Screen or through a Flow Action. There are two use cases here. One is to automatically redirect the user, to not only a record, but to any URL with customized parameters, and the other is to allow the User to click a button to decide where they would like to be redirected to.

Here’s a look at how the buttons look:

Lightning Buttons in Flow Screen to Redirect User

So how does this work? Well, using a single Lightning Component, we can either automatically redirect via a Core Action in the new Flow Builder or we can add the Lightning Component to a Screen.

Flow Core Action to Redirect Flow to URL

In the above example, you are setting the “Redirect URL”, an input variable to the Lightning Component, with the URL that you would like. In this instance, I created a simple formula field (image below) to set the Contract that was created in the Flow as the finish location.

Finish Location Formula - Contract

Additionally, you can add the Lightning Component to the Flow Screen and set the Button Label and the Redirect URL. In the instance below, I am setting the Contract as the Redirect URL for the first Lightning Component and the Account as the Redirect URL for the second Lightning Component. The screenshot below is the admin setup of the screen above with two buttons on it asking to “Navigate to Contract” or “Back To Account”.

Edit Flow Screen - flowURLRedirect

I’m sure you’re thinking to yourself, but we still need to create the Lightning Component! Well, you’re half correct. Correct that you need a Lightning Component, incorrect that you need to create it. I’ve created a package for you to be able to download this component. This Lightning Component takes in any URL that you send it through the Flow, so this can be reused again and again with multiple Flows.

As Admins, sometimes we hit our point and click limits. Before Salesforce released Lightning, this usually meant (although not always) that Development would need to be done and Admins would lose some, if not most, control. With Salesforce Lightning, Development should extend an Admin’s control, through input and output variables. A Lightning Component could have been written to send a user to a single URL, which would then require a new Lightning Component for each URL. Instead, by rethinking the way that Admins and Developers interact, the same Lightning Component can be reused again and again by an Admin, in the way that the business needs, allowing an Admin to extend their control with the custom Development work and gaining more power as an Admin.

Go to the Flow Components page to install!

Spring 19 – Things I’m excited about

Einstein Spring 19 Logo

Spring 19 is upon us and there are a lot of great features in this release! Here are some of the top features that I’m excited about.

Admin Focused:

Turn On Lightning Experience (Critical Update)

Salesforce will start to turn on Lightning Experience on a rolling basis starting in Winter ’20. If you’re not on Lightning yet, make sure to start your transition planning to be ready for Winter ’20 (currently expected October 12 per trust.salesforce.com maintenance for NA59).

Return Null Values in Process and Flow Formulas (Critical Update)

This has to be one of my favorite things that is coming out and it is a critical update. What does it do? I think an example helps. Let’s say that you sell things with a partner channel and have a lookup field on an Opportunity to lookup an Account to set the Partner on the Opportunity. When an Opportunity is Closed Won, if the Partner type is Gold, then you want to do one thing, and if the Partner type is Silver, do something else. Everything works fine UNLESS there is no Partner listed on the Opportunity. If there is no Partner listed on the Opportunity, then the Process Builder will give you an unhandled exception error. This is because it is trying to lookup a field on an Account that doesn’t exist. With this critical update, instead of creating an error, it will process everything as if it were null, so it would do neither the Silver or the Gold action, however it will not fail. This allows Process Builders to be built with less information. Previously, in order to not allow this to fail, you would have had to first check if the Partner field was null and then check the value, in that specific order. If you didn’t check for null first and the lookup field was null, that is when you would get the error. So this will help to reduce the amount of configuration needed for a Process Builder and will reduce the number of errors that a Process Builder might throw.

Switch Your Lightning Page to a Different Template

If you have created a Lightning Page and selected a layout, but want to change it, you now can!

Assign Work Based on Field Data Using Attribute-Based Routing (Beta)

This sounds really interesting for Omni-Channel orgs. You can now use the fields of incoming records to assign work to agents. This should allow more flexibility in routing cases to agents and more customization based on the unique needs of each case.

Simpler Format for User Email Addresses in Sandboxes

Currently, all sandbox emails change from their email to an @example email. An example of this is sales@englhardconsulting.com turns into sales=englhardconsulting@example.com. Moving forward, emails in sandboxes will change to add .invalid to the main email, so using the same example, the new format is is sales@englhardconsulting.com.invalid. Although this is a small change, users unfamiliar with the old pattern could get confused easily, so this should help make sandbox emails more straightforward.

User Focused:

Jump Right into Your Most Important List View with Pinned Lists

Lightning Experience has many benefits for users regarding the user experience. One of the highly requested features was, when clicking on an object tab, to be able to select the list view that you would like to see. With Spring 19, this is now possible! Previously, every time someone clicked on an object tab, like Opportunities, it would default to recently viewed. Now each user can “pin” the list view that they would like to have defaulted, helping to improve the user experience and reduce the number of clicks it takes to get to where the user is trying to navigate to.

Take on Work with the Accept Case Button

This is a highly requested feature on the idea exchange. The Accept work button was available in classic, but not lightning, at least not until Spring 19!

Navigation Updated for Small Screens

I can’t find this in the release notes, so I hope it is actually going to be updated when production gets updated, but in the pre-release orgs and sandboxes the navigation for “smaller” sized screens now shows the full menu instead of getting cut off. Notice on the screens shots below, the navigation bar adjusts correctly for the screen size, but the items in the same row as the search bar do not.

Winter 19

Spring 19

Log Emails to People Who Aren’t Email Recipients from Gmail™

Log Emails to People Who Aren’t Email Recipients from Outlook®

Now you can relate an email to a Contact, Lead, or Person Account that is not part of the email. This is helpful when someone has multiple emails and you have a single Contact record for them, you can still relate their email to their Contact record. In addition, if someone replies but forgets to reply all, you can still relate the email to people who might have been left off the email.

Development Focused:

Lightning Web Components (Generally Available)

In some of the biggest news, Salesforce has released a new programming model for Lightning Components, Lightning Web Components. The historical Lightning Components have been renamed to Aura Components. Lightning Web Components brings the latest advancements in JavaScript and web standards, making it more lightweight and delivers exceptional performance.

Enforce Field-Level Security Permissions for SOQL Queries (Beta)

This one makes SOQL queries very nice for Lightning Development. With SOQL, you used to be able to see if a user could see a record based on with sharing. While this was nice, if you’re creating a table using fields in a field set, a user might not have access to certain fields in a field set. So after getting the records the user could see, a developer would also have to ensure the user could see each field. Using the new WITH SECURITY_ENFORCED as part of a SOQL query, developers can save time knowing if a user is allowed to see a field or not, and change what they display if a user is not allowed to see a field.

Pardot Focused:

Concentrate Your Marketing Efforts with Pardot Business Units

This is big for any company that has different brands or wants to be able to market differently for products or divisions. Two big points are:

Your Users want Lightning! – 5 Reasons to Switch to Lightning

If you’ve been around Salesforce over the last few months, you most likely have heard about Lightning.  Salesforce released their new platform, Lightning, in the Winter 16 release.  Although it has been around for almost 3 years now, some companies are still unsure about making the move to Lightning.  At Englhard Consulting, we are big fans of Lightning and believe companies that have not moved to Lightning are missing out.  Why is that?  Well, the new User Interface (UI) that Lightning brings gives admins so much more power over page layouts.  Lightning brings a new feature, Lightning Pages, which mixes page layouts with the ability to add different components, like different cases for your phone.  Phone cases might be slim and minimalist, some might have a “pocket” for IDs and credit cards, others have a kick-stand to hold the phone upright, while still others might be very big and bulky to prevent against damage from drops and liquid.  Lightning pages allow admins the same sort of customization for their Users, where the standard page layout is no longer just the details and related lists.  This gives each company the ability to customize their UI to the needs of their Users, whether it be minimalist or pocketed, and as a result, help with your Customer’s experience with your company.  Let’s explore Lightning Pages and our top 5 out-of-the-box features that will give your Salesforce implementation a makeover.