Summer ’21 Pilot Preview: Einstein Next Best Action on Flow! (Blog 1 of 4 series)

With the Summer ‘21 Pilot we invite you to try out a brand new way to create Next Best Action Strategies using the Flow Builder  that is packed with powerful platform features and many other cutting edge decisioning builder elements. 

Planned GA in Spring ‘22 (Safe Harbor applies) Talk to your AE to get nominated for the Pilot and try it out! 

This sounds exciting!! How do I try it out?? 

Since it’s a closed sandbox pilot, reach out to your AE and you can get nominated. Your AE will be able to share the following resources: Also available as blogs right here!

  1. A detailed PDF with step by step instructions on how to get a Steelthread working with the new Recommendation Strategy Process type
  2. A demo video to take you through the steps.
  3. A list of FAQs

Don’t have an AE ? Do not fret. We will be out with the Beta version soon!! Until then, if you haven’t already get your hands dirty with the Strategy builder and try out building an NBA! Check out the Next Best Action Section of Unofficialsf to learn more.

Need a little more convincing to try out the pilot ?

Check out what’s coming up in Beta/GA in the next few releases with NBA on Flow!!! 

Happy Next Best Actioning!!

Check out the other 3 posts in the series for a tutorial demo video , FAQs and more

Pilot Tutorial -Einstein Next Best Action on Flow(Blog 2 of 4 series)
Pilot other considerations and requirements: Einstein Next Best Action on Flow(Blog 3 of 4 series)
Pilot FAQs-Einstein Next Best Action on Flow (Blog 4 of 4 series)

Pilot FAQs-Einstein Next Best Action on Flow (Blog 4 of 4 series)

Check out these blogs for an Overview, Tutorial and More considerations for Pilot

Here are a few FAQs you may have. I ‘ll start with the obvious one – Is Strategy Builder Going Away?? ..

Is Strategy Builder going away? Why do we need 2 ways to build the same thing? 

Great Question! No, it is not going away anytime soon. However, the good news is you stand to get a ton of great new features on the builder, Reporting and Display enhancements, templates etc that will be available on the new Recommendation Strategy Process type. You also get to enjoy some great platform features such as  templates, versioning, advanced debugging capabilities etc right off the bat! Stay tuned for the beta in winter ‘22. In other words, we’d hate for you to loose out on all these cutting edge flow features, so while we will continue to support Strategy Builder- Flow is the future!!

  • How do I get access to this pilot feature?
    1. Reach out to your AE to get nominated for the pilot, we will turn on the pilot perm on your Sandbox and you are ready to roll!
    2. Feature is available in Essentials, Professional, Enterprise, Performance, Unlimited, and Developer Editions. 
  • How do I connect to external services ?

Use Apex actions in flow to integrate external data sources and information from your Salesforce org into your strategies. You can connect to any number of EXTERNAL SERVICES: connect to an external endpoint such as a credit service provider AND easily bring back the logic, , For example say experian provides a RESTful interface for accessing credit score information. You can integrate the REST API, bring back the score . here and use that to filter out a few recommendations. Its basically a call out to Apex. So that helps with the business rules.

  • Can I connect to an AI of my choice?

In Beta/GA version of NBA in flow you will have access to Einstein Load node from Einstein  Recommendation Builder* directly integrated ( with the Recommendation strategy process type. However you can use Apex actions as mentioned above to call any Prediction service and retrieve these values in the flow. 

*Requirements for ERB  Contact your Account Executive to learn more on ERB

  • How do I Troubleshoot?

Before you activate a recommendation strategy test it thoroughly to make sure that it works as expected. Use the debug option in Flow builder to test the flow. This is analogous to the Inspect option on Strategy builder. 

  • What Perms do I have to enable?
To create or manage recommendationsModify All Data or Manage Next Best Action Strategies
To open, edit, or create a flow in Flow Builder:Manage Flow
To create and save Lightning pages in the Lightning App Builder:Customize Application
To view Lightning pages in the Lightning App Builder:View Setup and Configuration
To run a recommendation strategy on a Lightning record page:Run FlowsORFlow User field enabled on the user detail page
To create, edit and delete custom report types:Manage Custom Report Types
To view recommendation metrics data:Modify All Data or Manage Next Best Action Strategies
  • If I have strategies in my org already, will I have a migration tool ? 

We are considering building a migration tool and would love feedback on it. However, we definitely will have some templates on the Beta/GA version to help you get started. 

  • What is coming in future releases?

NBA on Flow Beta/GA (Winter/Spring ‘22 Safe harbor applies ) 

  1. Strategy Builder Parity elements: Filter ,Map, Branch Selector, Limit Reoffer elements will be added to the Recommendation Strategy process type.  This is to get to functional parity with Strategy builder. Beyond parity, the following features will be built. 
  2. Enhanced Reporting 
    1. Access to RecommendationReactions BPO for Reporting
    2. Reporting with dynamic recommendations created with Generate node
    3. Enabling sharing access on the object so access can be limited to reports for Business Users without giving access to the builder
  3. Enhanced Display 
    1. Mobile support for Display component
    2. Recommendation Reason: Ability to surface why a recommendation is surfaced along with Einsetin score if driven by a model 
    3. Capture Rejection reason
    4. Multi strategy support
  4. AI based Recommendations with Einstein Recommendation Builder*  
    1. Integrate AI in recommendations
    2. Low code Einstein integrated with NBA

*Requirements for ERB 

  1. Other platform features and much more : 
    1. Support for higher number of loads: Support of  upto 50000 loads (Up from 2000 loads currently supported)
    2. Triggered Recommendations: Support for triggered/scheduled Recommendations 
    3. Sub-strategies: Reference a subflow from within a flow

Check out the other blogs in the series for more info on the pilot

Summer ’21 Pilot Preview: Einstein Next Best Action on Flow! (Blog 1 of 4 series)
Pilot Tutorial -Einstein Next Best Action on Flow(Blog 2 of 4 series)

Pilot other considerations and requirements: Einstein Next Best Action on Flow(Blog 3 of 4 series)

Happy Next Best Actioning! 

Pilot Preview – Flow Orchestrator Tutorial 3 – Parallel Work

Here’s the 3rd Tutorial for the Summer ’21 Flow Orchestrator pilot:

If you’re interested in joining the pilot, contact your Account Executive. (If you don’t have an Account Executive, keep your eyes open…there may be other ways to participate in the future. )

Learn more about Flow Orchestrator.

Pilot Preview – Flow Orchestrator Tutorial 2 – Fundamentals

Here’s the 2nd Tutorial for the Summer ’21 Flow Orchestrator pilot:

If you’re interested in joining the pilot, contact your Account Executive. (If you don’t have an Account Executive, keep your eyes open…there may be other ways to participate in the future)

Learn more about Flow Orchestrator.

Pilot Preview – Flow Orchestrator Tutorial 1 – Introduction

This is the first tutorial for the upcoming Summer ’21 Flow Orchestrator pilot.

If you’re interested in joining the pilot, contact your Account Executive. (If you don’t have an Account Executive, keep your eyes open…there may be other ways to participate in the future)

A New Facebook Group for Flow Users

Doug Swist brought to our attention this Facebook Group, which sports an impressive 2000+ members!

Formed by Paul Carass, this site is providing a lot of useful support and resolutions. Check it out!

Follow Flow Fantatic’s 25-Day Flow Solution Challenge on YouTube

If you head over to the Flow Fanatic channel on YouTube, you’ll see that Alex Fram-Schwartz is creating new flow solutions and has challenged himself and his audience to solve 25 of them in 25 days. One thing I love about what he’s doing is that he’s targeting undelivered ideas from the Trailblazer community. We’ve done this a few times in the past, with things like SetupViaFlow. That’s a hell of a big challenge, so check it out:

Flow Scheduler: Enable Self-Service Scheduling for Field Service

Context and Use Case

Salesforce Field Service (formerly known as Field Service Lighting or FSL) provides a series of UIs that allow agents and dispatchers to schedule appointments. However, a common use case for organizations involves providing self-service scheduling for end users through a Community. This package provides a wrapper and UI that allows admins to embed self-service scheduling within a Flow.

Note: this package requires that you own and have already configured Salesforce Field Service, and that the resources you are scheduling are licensed as Technicians. The users of the Flow would be authenticated Community (Experience Cloud) users booking appointments with those licensed technicians.

HUGE thank you to Field Service experts and all-around wonderful people Laura Bode and Leigh-Anne Nugent for all their help making this a reality.

Components

The star of the show in this package is a screen Flow called “Flow Scheduler” (aren’t I creative?) that is meant to be called as a subflow from within a larger self-scheduling Flow. This subflow is all you really need to understand in order to use this package and doesn’t require any modification, but I’ll also explain the underlying components below for anyone interested. The package also contains two custom checkbox fields, one on Service Territory and one on Scheduling Policy, each called “Default for Flow Scheduler”.

Flow Scheduler

This screen Flow takes two input parameters, a required Service Appointment ID and optional Scheduling Policy ID. It then displays a list of available slots to the user, and schedules the Service Appointment based on the user’s selection. Finally, it returns two values, the start datetime and end datetime of the user’s selected slot.

  • The Service Appointment ID is always required, and must be created earlier in the Flow or passed in as input.
    • The corresponding Service Appointment must have a Service Territory associated with it unless you have checked the “Default for Flow Scheduler” checkbox on a Service Territory record.
  • The Scheduling Policy ID is required unless you have checked the “Default for Flow Scheduler” checkbox on a Scheduling Policy record.
  • You can then use the startTime and endTime output values (both of which are of type datetime) and use them 
image.png

Next we’ll explore what’s actually happening inside the Flow Scheduler subflow. 

image.png

Action #1: Get Slots

image.png

This action is an invocable Apex wrapper that calls the AppointmentBookingService.getSlots() methods. It takes two parameters:

  • Service Appointment ID (required)
    • This action assumes that the Service Appointment has already been created and is being passed into this subflow from the parent flow. See the sample build for more detail.
  • Scheduling Policy ID (optional)
    • If this input is not provided, the method will look for a Scheduling Policy record with the “Default for Flow Scheduler” checkbox checked. If it doesn’t find one, it will throw an error.

The action returns one of two values, either:

  • a list of an Apex-defined type called BookingSlot, which will be passed into the Display Available Slots screen component, OR
  • a string value containing the error message returned from Apex. The goal is not to get this one.

Screen: Display Available Slots

image.png

This screen contains the UI component called Display Booking Slots that displays the list of available slots to the user. It takes as inputs the two values returned by the Get Slots action. Again, only one of these values—the list of slots OR the error message—will have a value.
It returns as output two values: the start time and end time of the slot the user selects. Both are of type datetime.
If you want to customize the UI, you can modify the Display Booking Slots component (LWC) or build your own.

Action #2: Schedule Appointment

image.png

This action is an invocable Apex wrapper that calls the ScheduleService.schedule() method. It takes four parameters:

  • Service Appointment ID (required): the same Service Appointment ID we passed to the Get Slots action.
  • Arrival Window Start Time (required): this is the start time that the user selected from the Display Booking Slots component.
  • Arrival Window End Time (required): this is the end time that the user selected from the Display Booking Slots component.
  • Scheduling Policy ID (optional): Once again, if this value is not provided the system will search for a Scheduling Policy record with the “Default for Flow Scheduler” checkbox checked.

This action does not return a value, it simply schedules the Service Appointment.

Sample Use

Stay tuned for a detailed demo video coming soon!

Installation

Unmanaged Package

Source Code

View source

Which navigation button is right for me?

There are multiple custom buttons and navigation tools on unofficialsf.com, each with unique advantages. Here are a few of your options, and when you might consider each one:

  • Custom Flow Navigation Buttons by David Fromstein
    • Description: Used solely for directing navigation between elements within a Flow
      • Full disclosure: the guy writing this comparison doc is the same guy who built this component
    • Benefits:
      • Very lightweight, fast to set up, easy to configure
      • Can look and feel just like standard Flow navigation
      • Multiple buttons in one component, on one line
      • See Features for all the reasons I think this component is helpful 🙂
      • This is the only one of the components listed here written as a Lightning Web Component (LWC), making it more future-proof
    • Downsides:
      • Very specific in what it does, only used for navigation within a Flow, does not currently support launching in modal
  • Launch Flow in Modal by George Abboud
    • Description: Similar to the Bonus suggested usage above, but (1) launches in a modal, which is often very useful, and (2) is a separate component from the Flow being launched
    • Benefits:
      • Does exactly what it says on the label!
    • Downsides:
      • None, really—this is a pretty niche component that does one thing and does it well.
    • Additional resources: Quip doc
  • Flow Buttons by Ryan Cox
    • Like a combination of the above two components, can be used to navigate within a Flow or to launch other Flows (inline or as a modal).
    • Benefits:
      • Does pretty much everything the above two components do, combined.
    • Downsides:
      • Less lightweight than this component.
      • Each button is its own component and on its own line.
  • Advanced Flow Navigation Button from GravityLab
    • Description: this is the mac daddy of custom Flow buttons. It has a ton of functionality, and can do things like open records, navigate to URLs, launch quick actions, and more.
    • Benefits:
      • Tons of functionality, lots not covered by the above buttons. If you need more advanced navigation, this is the one for you.
    • Downsides:
      • With great functionality comes great responsibility configuration. Much less lightweight than alternatives.
      • To my knowledge, doesn’t currently support launching in modals.
    • Additional resources: GravityLab post

Custom Flow Navigation Buttons: move beyond ‘Next’ and ‘Previous’

Overview

Custom Flow Navigation Buttons is a simple, lightweight tool that gives Flow builders the ability to present users with customizable navigation choices that go beyond the standard “Next/Finish” and “Previous”.

The Problem

Standard Flow navigation options are very limited: Next/Finish and Previous. This means Flow builders often have to resort to radio buttons to drive navigation logic, which can feel clunky to the end user and are time-consuming to build:

image.png

The Solution

This component enables Flow builders to add their navigation buttons to Flow screens. This gives users a more intuitive, modern interface, and is faster and easier for Flow admins to build!

image.png

Features

  • Add as many buttons as you want, all as a single component
  • Place anywhere on your Flow screen
  • Choose from four button colours: red, green, blue, and grey (default)
  • Select position of the buttons: left, center, or right (default)
  • Show or hide a horizontal separator line above the buttons
  • Buttons labelled “Next” or “Previous” automatically perform their standard navigation for convenience

Bonus suggested usage

  • If you want to place a Flow on a page in Salesforce but not have it auto-launch, give the Flow an initial screen with just a custom nav button on it labelled “Launch” (or whatever you want to call it)

Setup & Instructions

  1. Install component: https://login.salesforce.com/packaging/installPackage.apexp?p0=04t4x000000YwSM
  2. In Flow Builder, drag the “Nav Button Set” component onto a Flow screen.
    1. Like all Flow elements, give it a unique API name
  3. Add desired button labels in the order you’d like them to appear in a comma-separated list
  4. Optionally, set colours for the buttons (from the listed options) in a comma-separated list
  5. Select the position (left/center/right) of the buttons and whether you’d like a horizontal dividing line, or just leave the defaults
  6. Hide the standard footer! Or don’t, I guess, but it looks weird

The label of the clicked button is saved to the component’s “selectedValue” output value, and can then be referenced in a Decision element to route the user accordingly. “selectedValue” is updated whenever one of the buttons in the set is clicked.

Screenshots

Adding the component to the Flow screen:

Using the output from the button set to route the user to the next step in the flow:

Release History

  • V1.1: Jan 25 2021
  • V1.0: Jan 14 2021

Which button is right for me?

Please see this document for a breakdown of the various navigation buttons available on UnofficialSF and which one is right for your use case: Which button is right for me?

Installation

Unmanaged Package
See Setup & Instructions for detailed setup instructions

Source Code

View source