Data At It’s Best: The Art of Scheduling Calculated Insight Refreshes Using Flow
Calculated Insights allow you to define and calculate multidimensional metrics on your entire digital state in Data Cloud. Scheduling a calculated insight to process in Salesforce Data Cloud can offer several benefits for organizations looking to leverage their data effectively. Here are a few reasons why you might want to schedule such insights:
- Timely Decision-Making: Insights are often most valuable when they are up-to-date and relevant. By scheduling insights, you can ensure that decision-makers have access to the latest information when making strategic choices.
- Consistency: Insights may need to be refreshed only when certain data streams are refreshed or only after Identity Resolution is complete.
- Optimal Resource Utilization: Scheduling allows you to allocate resources efficiently. You can plan the processing during off-peak hours or when system usage is lower, preventing any negative impact on system performance.
- Real-Time Monitoring: Some insights might be required more frequently, such as real-time monitoring of specific data points. Scheduling ensures that these insights are generated at the necessary intervals.
The following blog post walks through how to use flow to schedule a refresh of a calculated insight when needed.
Pre-Requisite
Data Cloud now gives you the option to schedule the refresh of a calculated insight. The available options are:
- Not Scheduled
- Every 6 hours
- Every 12 hours
- Every 24 hours.
To be able to trigger the refresh outside of these windows, say once a week, or only when the underlying data is refreshed, you would need to set the schedule of the Calculated Insight to “Not Scheduled”.
Flow Design
We will now walk through how to set up a simple flow to trigger the refresh of the data in a Calculated Insight. This is what the flow will look like once configured.
Step 1
Set up a scheduled flow with a schedule to run weekly. If you need the flow to run after a particular data stream is triggered you can set up a triggered flow with the entry criteria being the name of the data stream. In the screenshot below we are looking to see if a particular data stream has been refreshed successfully within the last 24 hours as a pre-requisite to publishing the calculated insight.
Step 2
Get the Calculated Insights to publish using “get records’. In this example, we are retrieving all insights, but if you have a naming convention you can just retrieve certain insights that you want to publish, or if it’s just a single calculated insight you can use that as well.
Step 3
If you have more than one calculated insight being returned add a loop to loop through each insight returned by “Get Records”.
Step 4
Now add a new action within the loop to publish each Calculated Insight.
Save the flow and then invoke the flow based on a schedule or trigger it via a record change. The flow will then refresh the data in the Calculated Insights.
Note: You can read more about Salesforce Flow Builder and Data Cloud Calculated Insights in the Salesforce Help Pages.
Final Remarks
In summary, scheduling the refresh of calculated insights in Salesforce Data Cloud when needed helps organizations save time, stay up-to-date, and make data-driven decisions more effectively. It’s particularly useful when dealing with large datasets, complex calculations, and when insights need to be delivered consistently and in a timely and relevant manner to support business operations and strategies.
Hi Gina,
Thank you for this Post.
It helps us understand the Orchestration process of refreshing CI data in Data Cloud.
I have one query… are you missing Step 4 ? or was that just a mistake in numbering from 4 to 5 ?
Also … we seem to be getting an error on permission to publish the CI when we run it in our Org. Is there a Permission Set we need to ensure ?
Thanks for the feedback. It was a mistake and we have updated the numbering 😁