Skip to content

Salesforce Winter ’22 Release Key Features

Salesforce Winter ’22 Release Key Features.

Salesforce Winter ’22 Release Notes are out with tons of new features and enhancements. Here are some of the features I will be keeping an eye on.

1. Flow Orchestrator (Beta in Winter ’22 Release)

Flow Orchestrator cab be used to combine automated processes in a single interface with Flow Orchestrator. It offers no-code approach to create orchestrations and transform flows into steps organized by stages. Flow Orchestrator offers more flexibility to create approval processes, better ability to assign work to any Salesforce user, and more control over record lifecycles. Please find more details here!

2. Salesforce Functions (Generally Available in Winter ’22 Release)

Salesforce Functions empowers teams to focus on delivering apps and business logic fast instead of managing infrastructure. Your Salesforce app can now use additional programming languages and open-source or third-party frameworks, saving you development time and effort.

With Functions, you can deploy code in a serverless environment, enabling you to run computationally heavy operations on demand. Functions also enable teams to accelerate productivity by making it easy for developers to adopt common industry languages and their supporting ecosystems, as well as the development tools of their choice. Salesforce Functions are fully managed by the Salesforce Platform, which takes care of everything else necessary to invoke your code in a secure, auto-scaling environment.

Source: Unleash the Power of Elastic Compute with Salesforce Functions (Generally Available)

3. Send an Outbound Message from Your Record-Triggered Flow

Outbound messages are available as a core action in Flow Builder. Send a SOAP message from a record-triggered flow to a designated endpoint. For example, notify an external service when a high-priority case is created. Perhaps you used outbound message actions with workflow rules and approval processes. Now outbound message actions are available for record-triggered flows that run after the record is saved.

To use Outbound Message in a Flow drag an Action element onto the canvas.

Outbound Message Flow Action

In the Action field, begin to enter outbound. You can also filter by the Outbound Message category or the Core Action type. Select an outbound message action that has the same object type as the triggering record, for example, case.

Flow New Action

You don’t need to enter input parameters when you configure an outbound message action. The triggering record’s ID is passed implicitly to an outbound message action, which is different than other flow core actions.

After the flow runs, review the Outbound Messages page in Setup to confirm that the message was sent.

Source: Send an Outbound Message from Your Record-Triggered Flow

4. Control the Default Records Your Users See with Scoping Rules (Beta in Winter ’22 Release)

Reduce noise and unnecessary searches while enhancing your users’ productivity. Based on criteria that you select, you can set rules to help your users see only records that are relevant to them. By adding a scoping rule, you can help users focus on pertinent records and prevent them from accessing records containing sensitive or inessential information. Scoping rules don’t restrict the record access that your users already have. Your users can still open and report on all records that they have access to per your org’s sharing settings

Scoping rules are available for custom objects and these standard objects.

  • Account
  • Case
  • Contact
  • Event
  • Lead
  • Opportunity
  • Task

Source: Control the Default Records Your Users See with Scoping Rules (Beta)

5. Call Invocable Actions from Apex (Developer Preview in Winter ’22 Release)

Invocable.Action is a new Apex class that allows you to call invocable actions from Apex code. For the developer preview, this feature is available only in scratch orgs.

To enable this feature in your scratch org, add a reference to CallIAFromApex in the project-scratch-def.json file in your SFDX project.

{
 "orgName": "my company", "edition": "Developer",
 "features": [ "CallIAFromApex" ],
 "settings": {
   ...
 }
}

After you’ve added to your scratch org definition file, reference Invocable.Action in your Apex code. This example uses the standard invocable action “chatterPost” to post a message to the current user's feed.


Invocable.Action action = Invocable.Action.createStandardAction('chatterPost');
action.setInvocationParameter('text', 'This is a test.');
action.setInvocationParameter('type', 'User');
action.setInvocationParameter('subjectNameOrId', UserInfo.getUserId());
List<Invocable.Action.Result> results = action.invoke();
if (results.size() > 0 && results[0].isSuccess()) {
    System.debug('Created feed item with ID: ' + 
results[0].getOutputParameters().get('feedItemId'));
}

This example calls a custom invocable action named Doubler that returns a number that’s twice the input value.


Invocable.Action action = Invocable.Action.createCustomAction('apex', 'Doubler');
action.setInvocationParameter('input', 1);
List<Invocable.Action.Result> results = action.invoke();                                          
if (results.size() > 0 && results[0].isSuccess()) {
    System.debug('Result is: ' + results[0].getOutputParameters().get('output'));
}

Source: Call Invocable Actions from Apex (Developer Preview)

6. OmniStudio

OmniStudio provides a suite of services, components, and data model objects that combine to create Industry Cloud applications. Create guided interactions using data from Salesforce and external sources.

  • Expression Sets and Decision Matrices
    • An expression set is a series of calculations performed on matrix lookups and user-defined variables and constants.
    • A decision matrix is a table that looks up information using multiple input dimensions and returns the corresponding output value. You can populate a decision matrix with input and output values manually or from a CSV file.
    • Expression sets and decision matrices can automate the creation of complex quotes. Together, expression sets and decision matrices can guide an agent through a series of questions, pull data from various sources, and present customized quotes or eligibility determinations.
    • Expression sets and decision matrices accept JSON input from a REST API, an OmniScript, or an integration procedure. Inputs can come from more than one source. The output can be a proposal or PDF, or JSON data for populating an OmniScript, integration procedure, or REST API request.
  • FlexCards
    • Add input elements to a FlexCard, overwrite the global SLDS or Newport stylesheets on specific FlexCards, enable accessibility support on chart and datatable elements, and refresh your FlexCard in preview.
    • Add multiple actions to an event listener, trigger a datasource from an action, and use a merge field to set the dynamic channel name for a pubsub event.
    • Create a public property from the FlexCard Designer and call it as a session variable, set a private variable in a FlexCard to define and evaluate at runtime, and pass an object’s API name to a component in a FlexCard on a record page.
    • Conditionally enable actions on an event listener, remove conditionally hidden elements from the rendered HTML, and conditionally display actions in a menu element.
  • OmniScripts
    • Create and save record entries in modals, use autocomplete in input elements, display a Message element as a toast, clear Edit Block values, and set a fixed footer on mobile devices.
    • Run decision matrices with the Decision Matrix Action and run expression sets with the Calculation Action.
    • OmniStudio’s DocuSign integration includes security enhancements for the connection between your Salesforce org and a DocuSign account.
  • Integration Procedures
    • Run decision matrices with the Decision Matrix Action and run expression sets with the Calculation Action.
    • Run Apex methods or Invocable Actions with the Remote Action.

Source: OmniStudio

7. Connect a Record-Triggered Flow to an External System Using an Asynchronous Path

Finally, you can use a record-triggered flow to integrate with an external system and update external objects—without writing any code. Add an asynchronous path that runs after the original transaction for the triggering record is successfully committed. Now your record-triggered flows can perform actions that were previously limited by transaction boundaries. For example, use an asynchronous path to post a message to Slack, update a record in Heroku, or place an order using a third-party fulfillment system. Both asynchronous and scheduled paths are subject to the same asynchronous per-transaction Apex limits.

In Spring ’21, scheduled paths became available in record-triggered flows. Now Salesforce added asynchronous paths that run in the background and don’t delay the execution of your original triggered transaction. Use an asynchronous path to execute a long-running operation, such as a callout to an external web service or any operation that you want to run on its own time. You can also use an asynchronous path to avoid the mixed DML error. For example, in a flow that’s triggered to run when an opportunity is created or updated, use an asynchronous path to update a value on a user record.

You can’t define a time for an asynchronous path to run as you can for a scheduled path. And in situations when system resources are unavailable, the execution of an asynchronous path will be delayed.

Asynchronous paths are available for record-triggered flows that run after the record is saved. Open the Start element.

Flow Asynchronous Path

Configure the flow to run only when a record is updated to meet the condition requirements, or select the Is Changed operator in a condition. Select Include a Run Asynchronously path to access an external system after the original transaction for the triggering record is successfully committed.

When a new or updated record triggers your flow to run, an asynchronous path is queued until it runs. You can monitor an asynchronous path on the Time-Based Workflow page in Setup.

If you deselect Include a Run Asynchronously path, an asynchronous path is removed from your flow.

Source: Connect a Record-Triggered Flow to an External System Using an Asynchronous Path

8. Debug Scheduled Paths in Record-Triggered Flows

Salesforce added paths to the list of debugging enhancements for record-triggered flows. You can debug a scheduled path, a path that runs immediately, or a path that runs asynchronously.

Debug a record-triggered flow. Select the path you want to debug.

Debug Flow

Source: Debug Scheduled Paths in Record-Triggered Flows

9. Build More Interactive Lightning Pages with Dynamic Interactions

Now you can create applications with components that communicate and transform based on user interactions, all in the Lightning App Builder UI. With Dynamic Interactions, an event occurring in one component on a Lightning page, such as the user clicking an item in a list view, can update other components on the page.

Source: Build More Interactive Lightning Pages with Dynamic Interactions

10. Control Access to Sensitive Data with Restriction Rules (Generally Available)

Secure your data and boost productivity by permitting your users to see only the records necessary for their job function. Create restriction rules to control which subset of records you allow specified groups of users to see. Restriction rules are available for custom objects, contracts, tasks, events, time sheets, and time sheet entries. This feature, now generally available, includes some changes since the last release. You can now create and manage restriction rules in Setup as well as with Tooling and Metadata APIs.

To create a restriction rule, navigate to Object Manager in Setup. Select the object that you want to add a restriction rule for. Click Restriction Rules. Name and describe the rule and activate it. Select a user field and choose filter settings to determine which users the rule applies to. Then, select a record field and choose filter settings to determine which records are accessible.

Source: Control Access to Sensitive Data with Restriction Rules (Generally Available)

Which Salesforce Winter ’22 Release feature are you excited about? Please let us know in comments!

Tags:

Please Leave a Comment