Distribute the Flow with a Custom Button
Activate the Flow
You’ve successfully created the flow, but it’s only accessible from Setup. Now it’s time to activate it so that sales reps can run it.
- From the buttons bar in Flow Builder, click Activate.
Now any user can run this flow, as long as:
- They have the “Run Flows” user permission
- The Flow User field is enabled on their user detail page
-
Override default behavior and restrict access to enabled profiles or permission sets is selected for the flow, and a profile or permission set gives them access to that flow
For more details, see How Does Flow Security Work?
If they don’t know where to find it, users can’t run anything. Let’s distribute the flow so that your sales reps can find and use it easily.
Make Your Flows Look Like Lightning
Salesforce offers two run-time experiences that determine the look and feel when someone runs a flow. To make your flows blend in with Lightning Experience, make sure that Lightning runtime is enabled in your org.
- From Setup, enter Automation in the Quick Find box, and then select Process Automation Settings.
- Verify that Enable Lightning runtime for flows is selected.
- Save your changes.
Create a Custom Button
Create a custom button to display on opportunities in Salesforce. When sales reps click the button, the flow calculates a discount and updates the opportunity.
- From Setup, enter Flows in the Quick Find box, and then select Flows.
- Click the down arrow in the Calculate Discounts row, then click View Details and Versions.
- Copy the flow’s URL from the Flow Detail page.
- Create the custom button.
- Select Object Manager from the top of the Setup page. Next, select Opportunity.
- Click Buttons, Links, and Actions and then New Button or Link.
- Configure the custom button’s display properties.
Field Value Label Calculate Discount Name Calculate_Discount Description Calculates a discount based on annual revenue Display Type Detail Page Button Behavior Display in new window Content Source URL
- Link the button to the flow using URL parameters.
- In the text box, paste the flow URL.
- At the end of the URL, append the following:
?AccountId={!Opportunity.AccountId}&OpportunityId={!Opportunity.Id}
Now, when the flow is called, two values—AccountId and OpportunityId—are passed into the flow from the opportunity. The ID of the account that's associated with the opportunity, AccountId, gets assigned to the flow variable {!AccountId}. And the ID of the opportunity itself, Opportunity.Id, gets assigned to the flow variable {!OpportunityId}. Here's what the URL should look like. - Verify that your URL is valid by clicking Check Syntax.
- Click Save. You’ll get a reminder to add the custom button to the opportunity page layout. Don’t worry, we’re doing that next.
- Add the button to the opportunity page layout, so that it appears on all opportunity records.
- While still on the Opportunity page in Object Manager, go to Page Layouts and click Opportunity Layout.
- From the Buttons category, click and drag Calculate Discount under Opportunity Detail onto Custom Buttons.
- If the predefined actions in the Salesforce Mobile and Lightning Experience Actions section were overridden, click Mobile & Lightning Actions, and drag Calculate Discount under Salesforce Mobile and Lightning Experience Actions after the last action.
- Click Quick Save. Now, when sales reps visit an opportunity page in Salesforce they’ll see the Calculate Discount button at the top of the page.
- While still on the Opportunity page in Object Manager, go to Page Layouts and click Opportunity Layout.
Create a Sample Opportunity
Just one more thing before you can test the flow. Create a sample opportunity so that the flow has something to update.
The sample opportunity is for a one-year service contract with Edge Communications, a Texas-based electronics company with $139,000,000 in annual revenue.
- Make sure that you have an account called Edge Communications and that its annual revenue is $139,000,000. From the App Launcher, go to Accounts and click Edge Communications. Go to the Details tab and confirm the value in the Annual Revenue field. If Edge Communications is not listed under Accounts, search for it on Salesforce. Or create the Edge Communications account if it doesn’t already exist, and add its annual revenue.
- Create an opportunity. If prompted to choose a record type, select B2B Sales and then click Continue.
- Configure the opportunity’s values.
Field Value Opportunity Name Edge Communications - 1 year contract Account Name Edge Communications Close Date A year from today Stage Proposal/Price Quote Amount 5,000,000 - Click Save.
Test the Flow
Testing is an important part of building a flow. Doing so lets you fine-tune the flow’s behavior, identify and fix bugs, and otherwise make sure your users have a pleasant experience. And you benefit, because you’ll spend less time responding to panicked emails from your sales reps.
Calculate the discount for the opportunity that you created in the last step.
Calculate the discount for the opportunity that you created in the last step.
- Click
and open the Sales app.
- Click the Opportunities tab, then click the opportunity you created, Edge Communications - 1 year contract. The account’s annual revenue is $139,000,000. Because that value exceeds $100,000,000 but is less than $200,000,000, the flow should apply a 5% discount. A 5% discount on the opportunity amount ($5,000,000) is $250,000. So the discounted amount for this opportunity should be $4,750,000. Let’s verify that the flow calculates the discount correctly.
- In the upper right pull-down menu, click Calculate Discount and wait for notification that the flow has finished running.
- After the flow has completed, navigate to the details page for the Edge Communications - 1 year contract opportunity you created.
- Verify that Discount Percentage has a value of 5% and Discounted Amount has a value of $4,750,000.
Take It Further
If you haven’t worked with flows before, you’ll soon find that existing flows make great starting points for new ones—particularly as your organization grows and changes. Take the discount calculator we created, for example.- To limit the number of full discounts offered, configure the flow to require approval from a manager before it updates the record.
- To be more aggressive with the discount program, look up whether the last opportunity was lost on price. If so, offer the customer an even bigger discount.
- For practice with other use cases, check out the other flow projects in Trailhead.