Add a New Quote Button – Learning Flow 1.E

Creating Flows are great, but if your Users can’t get to them, they don’t help too much…  It’s time to create a button to allow your Users to launch the Flow!

Start by capturing the Flow details.  In the Learning Flow series, you should have created a Flow with a Unique Name of Quote_Entry and the URL should be /flow/Quote_Entry.  You can get to the Flow details by searching Flows in the Setup search bar and clicking on the Flow you are looking for the details about.

Quote Entry Flow Detail Page

Now, there are a few ways to be able to create a button.  One way, using the Flow URL, can be found in the post, Update a Record Through a Button and Salesforce Flow.  The other way is through a Visualforce page.  I know, you’re expecting to learn about Flows here.  There is a lot of power by being able to use a Visualforce page to start a Flow instead of using the URL.  You’ll start with a basic Visualforce page in this post and in future posts, you’ll learn how to enhance the page to continue to improve your business processes and customize it for your business.

Continue reading

ERROR!!! Learn How to Work With Flow Faults – Learning Flow 1.D

Perhaps you have written a Flow and have seen this cryptic message.

Flow Unhandled Fault

NO!!!  What happened!?  Does your User know something went wrong?  Where did this come from?  This post, part 1.D of the Learning Flow series, will help you learn how to get better error message handling for both your Users and your Admins.

From my experience with Flows, a lot of Flows are based around the User, such as the Quote to Contract system you’re building as part of Learning Flow.  This means that Users want a resolution quickly, they are doing something and would like to complete that task immediately.  This means that quick notifications are very important, ones that will just work and won’t possibly have different issues themselves.  It’s time to get started. Continue reading

Require Fields on Other Objects to be Filled Out in Order to Create a Record (Quote) – Learning Flow 1.C

No one likes dirty data, there are lots of tools out there to help dedupe leads, accounts, etc.  But what about if a field isn’t filled out.  Well, there are required fields, and validation rules, but what if that doesn’t work when creating a record since a User doesn’t know that information until later, but you would like to have that information required before creating a related record?  Enter Flows to the rescue!  That’s right, you read it correctly, require fields on other Objects in order to create a new related Object, all with point and click!  For this lesson, part 1.C of the Learning Flow series, you’ve been given a request from Management, before anyone can Quote a customer, it is required that a Billing Address is filled in on the Account and that there is a phone number listed so that Finance can reach the person/company and send an invoice.  For the Billing Address, the requirement is that every Billing Address has a street, city, country, zip, and if the country is US, USA, United States, or United States of America, there should be a State as well.  (State and Country pick lists have not been turned on in this example, but if you have them turned on in your Org, you can do this with them as well!)  It’s time to get started! Continue reading

Find Related Records and Have Users Select Them in a Screen – Learning Flow 1.B

This blog post was originally called, “Add in a Price Book selection in the input Screen”.  That title doesn’t do justice for Dynamic Choices, so the title has been updated to, “Find Related Records and Have Users Select Them in a Screen”.  The goal with this post is to understand how Flows can be related to different records and be able to select records through a pick list of dynamic choices.  This means that you are able to connect and update records beyond the record the User is working on as well as let Users pick which records they want to associate or update.  That is powerful stuff!  You’ll learn more about the full power of Flows and updating related records as you continue to learn through the Learning Flow series, but this post will be focused on finding those related records and allowing Users to select them.  Time to get started!

Open up the Flow that you created in Create an Input Screen for Users, Assign Variables, and Create a Quote – Learning Flow 1.A.  The business liked your original Flow but would like for users to be able to add a Contact from the Account into the Quote so the business knows who the Quote is for as well as have Users select a Price Book based on security restrictions.  To start, you’ll need to find the Account Id.  With your Flow open, drag a Fast Lookup element onto the Canvas to the right above the Quote Entry Screen.  Name this Fast Lookup element flOpportunity, which stands for Fast Lookup Opportunity, for both the Name and Unique Name.  In the Filters and Assignments section below, Look up Opportunity.  When you do, that, you’ll see more fields pop up for you to fill out.

Quote Entry Flow Fast Lookup Opportunity

In the Look up section for Opportunity, under field, find Id.  Set the Operator to equals and the Value to vOId, the variable of Opportunity Id that you created previously.   Continue reading

Create an Input Screen for Users, Assign Variables, and Create a Quote – Learning Flow 1.A

This is the first post for the Learning Flow series to learn how to write and use Salesforce Visual Workflow (Flows) and the first post for Part 1, Main Quote Information, where you will learn how to use the Fast Create element, Screen element, and Assignment element in Flows.  You will also learn about sObjects and Flow Validation (similar to Validation Rules, but with one BIG difference).  You’ll create an input Screen for Users to enter information about the quote, Assign Variables to the quote from the inputs of the User, and create the quote.

Since this is the first part of Part 1 of the Learning Flow guide, you may need to set up quotes.  If you have a new developer instance or are testing in your sandbox (always test before sending to production!) and you haven’t turned quotes on, go to the Setup menu, click on Quote, and click Settings.  Enable Quotes and append Quote Related Lists to the Opportunity Page Layouts that will need to see Quotes.

OK, now that Quotes are set up, start by creating a new Flow.  After you open your Flow, drag the Screen element from the Palette into the canvas on the right.  Name the Screen, “Quote Entry”, and let Salesforce automatically create the Unique Name by pressing tab.  Since you will have the Flow continue on to another element after this screen (Assignment element), you want to change the Navigation Options from, “Show Finish and Previous buttons” to “Don’t show Finish button”.  For now, also uncheck the “Show Pause button”.

Quote Entry Initial Flow Screen

You want to check with your Users and Management to find out what the requirements are for gathering data and creating quotes.  For this lesson, you want to have the User enter in a Description, pick an Expiration Date for the Quote, Name the Quote and finally set the Status to Draft.  To start, click the Add a Field tab at the top of the Screen element area next to General Info.   Continue reading