Lightning Components in Flow!

In the Spring 18 release, Salesforce introduced the ability to show a Lightning Component inside a Flow screen.  It took me a while to be able to play around with this, but I am VERY excited for this!  This is not for first time Flow creators.  If this is your first time with Flows, look through some of the other posts on this blog in Learning Flow, Part 1.  But if you have some Flow background, get excited for Lightning Components in Flow screens!  Before we get started, I want to break down a few questions that you might have as I had them as well.

First Question:  Lightning Components mean code, why would we use them in a Flow?  That is correct, it is code.  I think of it like this.  Let’s take the example of an Account List.  The Lightning Component displays the Account List, however, you are controlling the logic to get the list in the Flow.  So, this means you’re not having to write code to create an account list or the logic, an admin controls that in the Flow, but the displaying of a list, Flows are not good at, so being able to send this to a Lightning Component to display is a lot easier than integrating with a Visualforce Page or writing everything in code.

Second Question:  Aren’t Lightning Components hard?  Lightning Components do mean code, but if you can put together a Flow, you can start to understand the logic for Lightning Components.  With something like showing a list of Accounts, the code required is very easy.  Salesforce has done a GREAT job expanding the base components for Lightning Components.  What’s a base component?  Think about the Dynamic Picklist Choice in Flows.  There would be a LOT of code to be able to get that done.  But Salesforce made it very easy and allows you to just select the Object and Field.  Base Components are similar, they are building blocks of Lightning Components, like the Dynamic Picklist Choice is in a Flow, and Salesforce takes care of the heavy code, so you just need to let them know a few key values to have their code run in the background.

Third Question:  Doesn’t this belong in a development blog?  NO!  I know you can do this!  As you’re learning Flow, you’re learning some of the logic of development.  This post will help you to expand just a little bit beyond Admin, to what some might call Adminvelopment, where you start to dabble in development.  The Lightning Component in this post is very lightweight, we are not going to have a controller or call apex, we are just going to display a list of Accounts and send that list from the Flow to the Lightning Component.

Ok, so where did this post come from?  For that, I have to thank Jocelyn Fennewald and Salesforce Saturday.  If you haven’t been to a Salesforce Saturday, you should attend.  What is it you ask?  A bunch of Salesforce people hanging out on Saturday and talking about Salesforce and maybe doing some trailhead.  Why should you go?  Because you never know what you’ll learn, where the conversation goes, or in this instance, what you’ll be able to help someone with and be inspired to learn something new.

So what is this post about?  Great question.  Jocelyn asked me if it was possible to use Flows to be able to create a way for a User to be able to look for referral accounts that match a User’s criteria.  Flow is great to be able to get the Account List based on a a few variables, but showing that list in Flow, well, that’s where the Lightning Components in a Flow screen come in handy!  What this post will help you learn is taking input from a User, finding a list of Accounts that match, and displaying those Accounts back to the User.  We’ll expand upon it in another post, being able to select records in the list and do something with them, but for this post, we’ll stick to the simple idea of displaying a list of Accounts. Continue reading

Accept button in Lightning List View

I saw in the Chicago Salesforce Saturday Trailblazer Community a post about the Accept button in Case Queue Lists not showing in lightning.  In case you’re not familiar, when you go to a queue on the Case object (or any object), there is a button on the List View that allows a User to Accept the Case (or other object, like Leads).

List-View-With-Accept-Button

This works in classic, but not lightning, and the post asked for people to vote for an idea for Salesforce to add it (you should go vote here).  The first thing I thought, this could be done with Flows!  So, here is the declarative solution (with just a very little Visualforce Page to launch our Flow) to help accomplish this in Lightning!

First, we need to create our Flow.   Continue reading

Requiring Fields at a Certain Opportunity Stage

Throughout the sales cycle, there may be certain fields that you would like to required by stage.  There are different ways to do this, for example changing record types by stage and having required fields or using validation rules to require fields if the stage is equal to a certain value.  Each way to do this has its own benefits and also its own negatives.  I had this need come up with a specific caveat, that it should be very easy for someone who is an admin be able to manage it with ease, as well as show users what fields would be required when the stage was selected.  My first thought was to use a Flow that would walk the users through the fields that would be required at that stage and at the end of the Flow, update the stage to the new value.  Although this sounded great, it would require someone to update a Flow to add new fields to the requirement.  Flows are great for requiring fields to be entered through required fields on a screen, but managing a change in a picklist value, with record types, as well as adding or removing required fields as the business dictates, makes a Flow a lot to manage.  Enter another level of Salesforce adminvelopment.  (Yes, I saw on the community someone posted, adminveloper, and adminvelopment is a byproduct of adminveloper.)
Continue reading

Launch a Flow using Lightning Process Builder!

Some things just go together, like:
Peanut Butter and Jelly
Bread and Butter
Cinnamon and Sugar
Tom and Jerry
Thunder and Lightning

I’m sure you get the picture!  Now, I’m still warming up to the idea of calling Flows Thunder, but they go together with Lightning Process Builder just like Thunder and Lightning.  The same way that Lightning comes first and is followed by Thunder, Lightning Process Builder can run and kickoff a Flow as an output.  You get an update in a flash followed by a roar of business process!  Ok, enough with the symbolism!

This For The Community post has been brought to you by the world famous Salesforce Community, the Official: Salesforce Workflow Automation group!  Thanks @Jay Singh!

Jay came to me with a question:

Hey Rich,
Hope you are doing well! I know that you’re a Salesforce flownatic and I just happened to bump into something while creating a flow. I’m trying to get the Contact Roles from the Account module and try to get them to populate over to the Opportunity Contact Roles. So if a Contact Role gets created under the Account, it should appear automatically on the Opportunity’s contact roles. Do you think you can create a blog post for this particular flow. I will truly appreciate it.
Thanks in advance,
Jay Singh

As I told Jay on my initial response, kicking off workflow from the Account Contact Role doesn’t quite work with the Standard Salesforce Account Contact Roles.  A Custom Object can be used to kickoff workflow, so, upon his blessing to use a Custom Object, we’ll look at how to accomplish his question using Process Builder to launch the Flow.  He also said that:

it should update all Opportunities and should only include the Contacts that I am adding from the Contact Roles

Ok.  Custom Contact Role tied to the Account, when that is launched, add the new Contact Role as an Opportunity Contact role to every Opportunity on the Account, that’s our goal.  Let’s get started!

Continue reading

Replicate a Picklist in a Flow

There was a post in the Official: Salesforce Workflow Automation:

One of the field that user inputs on the screen is picklist in Salesforce. What is the best element to use for that. Do I need to create all picklist values as choices or is there any other way? Appreciate your help.

The short answer is, every picklist must be created in each Flow by a Dropdown List and Choices.  There is a long answer (very long!), and it’s Custom Settings!  Custom Settings were reviewed in Learning Flow 1.B. Find Related Records and Have Users Select Them in a Screen – Select a Contact and Price Book.  The Custom Settings reviewed in that post were Hierarchy, the Custom Settings in this post will be List.

Start by going to Setup and search Custom Settings in the Setup Search Bar.  Click on Custom Settings.  For the Label, type Picklist Fields, and for the Object Name, type Picklist_Fields.  Select List for the Setting Type, Visibility can be Public.  For description, type, picklist fields for different objects based on Record Type. Continue reading

Update a Record Through a Button and Salesforce Flow

Welcome to my first post!  This post will be a great start to learning Salesforce Visual Workflow, also known as Flows, where we will be able to create a button that when pressed, will update the Salesforce record.  This question was asked in the Orange County User Group. #ForTheCommunity


 

Hey,

Does anybody know the exact parameter in regards to saving a record automatically using a custom button? I’m trying to execute it by using Save=x & Save=1 but it just hasn’t done the magic yet. Please assist. Appreciate it.

Thanks in advance,


 

There was a way using URL hacks that you were able to create a link, have it update the record, and save.  For some, that is not available anymore…  But don’t worry, Flows to the rescue! Continue reading