Compare text with the FuzzyWuzzy algorithm invocable

User munawirrahman over on Medium posted a neat Invocable that makes use of the ‘FuzzyWuzzy’ algorithm to compare the similarities between two text strings in Flow.

Check it out

IsChanged and Triggered Flows

Jodie Miners has written another excellent review covering some new Flow features in the Spring 21 release. This time she explains how to use the Prior Value feature in triggered Flows.

Read the full post here.

Formula Fields and Triggered Flows

Jodie Miners has written about all the ways Formula fields can be referenced in Triggered Flows in the Spring ’21 release.

As of Spring ’21 sandbox testing:

  • Formulas CAN be used in trigger conditions on before save flow triggers
  • Formulas CAN be used in trigger conditions in after save flow triggers
  • Formulas CAN be used in decisions in before save flow triggers IF the Resource uses the Prior Value (eg {!$Record__Prior.IsActive__c}). But you can NOT use formula values from the newly changed record.
  • Formulas CAN be used in decisions in after save flow triggers
  • Formulas CAN be used as the source value in Assignment Updates in before save flow triggers IF the Value uses the Prior Value (eg {!$Record__Prior.IsActive__c}). But you can NOT use formula values from the newly changed record.
  • Formulas CAN be used as the source value Update records elements in after save flow triggers

Read the full post with examples here.

Learn how to Debug Triggered Flows and Parse Multi-Select Picklists with these New Posts from Vibhor Goel

Vibhor has a great site called Accidental Coder – A Salesforce Blog. Here are two recent posts to help you learn new ways to debug flows and to work with multi-select picklists.

Test and Debug Record Triggered Flows in Salesforce

Test and Debug Flows

Parse Multi-Picklist Values in a Flow with an Apex Action

Flow Basics for Beginners

Are you starting to learn flow and want some help getting started? Check out this great Flow Fundamentals: Variables blog post from Deanne Walters.

Icon Picker for Flow Screens and Custom Property Editors

Icon Picker for Flow Screens and Custom Property Editors

Components like Datatable allow the user to select a Salesforce Icon from the Lightning Design System but up until now you had to know the exact name and formatting for the icon. Examples: standard:account or utility:color_swatch

With the new fsc_pickIcon component, you can add a visual icon picker to your Flow Screen and developers can include it in a Custom Property Editor or other Lightning Web Components. This component is based on some code from the Salesforce Labs AppExchange app Activity Timeline.

The user starts by selecting the Icon Type (Standard, Action, Custom or Utility). One can further narrow down their choices by entering a search or filter term in the box above the icon list.

Usage

Drag the custom component Pick an Icon onto a Flow Screen. Use the Output Parameter iconName to reference the icon selected by the user.

Parameters

Input

none

Output

iconName – Name of the selected icon in the format of type:name

Installation

12/30/20Eric Smith – Version 1.0.0

This component is included as part of the FlowScreenComponentsBasePack Version 2.1.2 or later.

Developer Notes

Use in a Custom Property Editor

When referencing the Icon Picker in your CPE HTML file, the only attribute you need to specify is the oniconselection handler.

<c-fsc_pick-icon
    oniconselection={handlePickIcon}>
</c-fsc_pick-icon>

In your JavaScript file, the selected icon name will be passed in event.detail.

handlePickIcon(event) {
    let changedAttribute = 'tableIcon';
    this.inputValues[changedAttribute].value = event.detail;
    this.dispatchFlowValueChangeEvent(changedAttribute, event.detail, 'String');
}

Use in a Lightning Web Component

This example shows the Icon Picker exposed in a Modal window. In addition to specifying the oniconselection handler, you can specify the height in pixels for the first (SELECT TYPE) tab. At least 100 is recommended so narrow windows can display all of the other tab names in a drop-down without having to scroll.

<!-- Input dialog for entering Column Icon values -->
<template if:true={isOpenIconInput}>
    <div style="height: 400px;">
        <section role="dialog" tabindex="-1" aria-labelledby="modal-heading-00" aria-modal="true" aria-describedby="modal-content-id-0" class="slds-modal slds-fade-in-open">
            <div class="slds-modal__container">
                <header class="slds-modal__header slds-modal__header_empty">
                    <button class="slds-button slds-button_icon slds-modal__close slds-button_icon-inverse" title="Close" onclick={handleCloseIconModal}>
                        <lightning-icon icon-name="utility:close" alternative-text="close" variant="inverse" size="small"></lightning-icon>
                        <span class="slds-assistive-text">Close</span>
                    </button>
                </header>
                <div class="slds-modal__content slds-p-around_medium" id="modal-content-id-0">
                    <c-fsc_pick-icon
                        first-tab-height="100"
                        oniconselection={handlePickIcon}>
                    </c-fsc_pick-icon>
                </div>
                <footer class="slds-modal__footer">
                    <button class="slds-button slds-button_neutral" onclick={handleCloseIconModal}>Cancel</button>
                    <button class="slds-button slds-button_brand" onclick={handleCommitIconSelection}>Save</button>
                </footer>
            </div>
        </section>
        <div class="slds-backdrop slds-backdrop_open"></div>
    </div>
</template>

Your handler can reference event.detail to get the name of the selected icon.

handlePickIcon(event) {
    this.selectedIcon = event.detail;
}

Developer Note: Retrieving Information About the Flows in an Org or About a Single Flow

While coding in Apex, you can use SOQL to retrieve information about the Flows in an organization. We touched on this while describing the Flow Picker, but never really focused on it.

You can conduct SOQL on the FlowDefinitionView to get the data for a list view of flows. Once you have a particular flow in mind, use FlowVersionView and FlowVariableView to get its variables.

Here’s how Flow Picker does it:

Introducing Flow Orchestrator

At the online Dreamforce Keynote on December 2, Marc Benioff and Sarah Franklin introduced Einstein Automate, a new message that describes the full range of the Salesforce automation solution. Sarah’s area of ownership includes the Automation Services team that includes Flow, Next Best Action, Process Builder, Workflow Rules, and Approval Processes.

As part of this announcement, Salesforce debuted Orchestrator, which I believe will be one of the most impactful products that Salesforce has produced in years. Orchestrator takes a wide range of rich, sophisticated, and complex business process use cases that require code today and makes them easy to create with clicks.

To get an introduction, start with this part of the Dreamforce Keynote:

Orchestrator’s key message slides:

We’ll publish more preview information on Orchestrator in the months to come.

Custom Property Editors Now Have Access to ‘Upstream’ Automatic Outputs

Until now, if you built a Custom Property Editor and wanted to enable users to map upstream mergefields to various inputs of your CPE’s underlying action or screen component, you could only get access to manual variables. Salesforce in general is encouraging flow builders to move away from manual variables and let Flow handle things automatically. So it has been important to enable CPE developers to have access to automatic references.

That’s possible starting in Spring ’21. Here’s the release note with the syntax:

We intend to upgrade the Flow Combo Box that can be found in Flow Screen Components Base Pack to incorporate this new data access so that all upstream values will be visible and we can always use help from the community. If you’re an LWC developer and interested in helping out, please post a comment.

Datatable Now Includes a Custom Property Editor

See this in action during DreamTX!

Flow Builder Demos 12/17 (1PM, 2PM, 3PM Eastern Time)

The Datatable Flow Screen Component has come a long ways from the original Aura component that included separate attributes for 10 different Salesforce objects in a single component. Once Salesforce supported the ability to pick the desired Object in the Flow Builder, at the time of configuration, it was rebuilt from scratch as a Lightning Web Component. Now Datatable has been reimagined again with the addition of a Custom Property Editor that’s used by the Flow Builder whenever a Datatable is added to a Flow Screen.

This image has an empty alt attribute; its file name is image-18-894x1030.png

Custom Property Editors allow a developer to bypass the standard basic list of all component attributes in the Flow Builder and replace it with a Lightning Web Component that can present a logical and formatted interface for the user to configure the component. The CPE developed for the Datatable component takes this even further by including a button that launches a separate Flow that displays a special Datatable the user can interact with to configure their Datatable. I like to refer to this as my Custom Column Configuration Wizard.

Once installed, this component will appear as Datatable in the Flow Builder. DatatableV2 will still work with your existing Flows and can coexist with the new Datatable.

Here are a few examples showing how to build a Flow with a Datatable, how to configure the Datatable using the Custom Property Editor and how a user can interact with a Datatable. For complete documentation, visit the Datatable page.


Build a Flow with a Datatable


Configure a Datatable with the Custom Property Editor


Interact with a Datatable