Integrating Flows with CRM Analytics

In CRM Analytics, we have many Actions that provide valuable information and allow you to perform these Actions on a Salesforce Record within CRM Analytics.

But what if you want to apply that specific Action to multiple records at once?

One of the processes we will be exploring in this blog is invoking a Flow, using an Action within a CRM Analytics Dashboard. By building Flows, that are URL addressable, you can pass multiple parameters through it and perform bulk actions like updating, deleting, and displaying records all at once. This way, you can easily manage and analyze large sets of data, save time, and streamline your workflow.

The below GIF demonstrates the process of building a Flow that can take multiple opportunity ids as input from the URL, and then display the respective ids and opportunity names

The process of building a flow can take multiple opportunities input

Steps to Create Bulk Flow Which Displays The Opportunity Id’s And Opportunity Names

Step 1:
Like all Flows, we have a “Start” element. This allows us to set the rules around when the flow runs.

Step 2:
Create new Collection Variables as ‘ids’ and ‘opportunity’

Edit Variable Create new Collection Variables Available for input

It’s important to note that this variable should be of type string, allow multiple values, and is available for input. “ids” is a special reserved variable name, as we understood while creating this Flow. If a different name was inserted, it may not have given the expected output.

Edit Variable Create new Collection Variables Available for output

The opportunity variable should be of type string too, allowing multiple values, and available for output.

Step 3:
LOOP ELEMENT:
Since we have added all the records under a single variable i.e., {ids} in step 2, we will just use that variable for Loop Element. We will loop over ids.

Step 3 - As all the records under a single variable we use that for looping the element

Step 4:
GET RECORD ELEMENT:
In our Flow, we used a Get Element to Query in this object using criteria called “OPPORTUNITY ID” equals variable{ids} in the loop.

Edit Get Records- we used a Get Element to Query in this object using criteria called OPPORTUNITY ID equals variable in the loop

Step 5:
ASSIGNMENT ELEMENT:
We will use an Assignment Element in this step to add all the values of opportunity names to Get variable{opportunity}.

Step 5 - Edit Assignment - Adding all the values of opportunity names to Get variable

Step 6:
Understanding the Screen to Display Opportunity Ids and Opportunity Names

Now we have to link the Flow URL to the link widget.

The GIF that follows illustrates the outcome of clicking the link widget present in the dashboard, it demonstrates how the opportunity “ids” and opportunity “names” are displayed on the screen of the flow.

The-outcome-of-clicking-the-link-widget displaying name and id.gif

Steps to Bind URL to Link Widget on CRM Analytics Dashboard

Step 1:
Get the Flow URL by running it in the Flow editor, and paste that into your link widget with a target as the URL.

Step 2:
Add a query that has an opportunity Id field in it and here that is ‘Id_1’ and make it a multi-select

Step 3:
The next step is to create a binding string with parameters. The Id attribute did not support the “;” delimiter as documented, but it could be added multiple times to the URL, as shown here:

Step 4:
So here is the binding of step 3

https://org-name.vf.force.com/flow/Flow_With_Parameters/3015XYZXYZ1MfddQAC?ids={{join(column(Id_1.selection, [\”Id\”]),\”&ids=\”).asObject()}}
Here the join function joins the ids on the characters “&ids=” to make this multi-value

Binding the URL to the widget

Step 5:
When a user views the dashboard if they select some opportunities

Step 5- Dashboard view of the user selecting opportunities

Click on the Submit button.
The new screen will inform the users that their selection has been passed into Flow correctly.

Flow-with-Parameters-example

Limitations

The length of the URL should not exceed 2048 characters.

Final Thoughts

In this way, we can use the URL action capability to invoke flows and have endless possibilities for implementing this feature based on an individual client’s requirements.
We hope this helps you in your next CRMA Implementations. If you have problems in your own Salesforce instance environments or need help optimizing your utility of CRMA, reach out to SpringML. Our experts can help!

Thought Leadership