We know where we can get our reports right? There are hopefully infolets, dashboards and reports embedded all over your Engagement Cloud. But did you know that Engagement Cloud can deliver reports directly into your email, without you having to go look for them? Scheduling and delivering reports is a perfectly valid means of getting to analytics that for reasons unknown to me is very rarely implemented.
Scheduling and delivering reports is done by creating a BI Delivers agent. When creating a BI Delivers agent, you are guided through a creation process by going through a set of tabs. I do not think the order of tabs to go through makes sense though. So I hope you do not mind navigating through them with me in a different order. For me, defining a new BI Delivers agent is all about when and what reports need to be scheduled, and who should get the content delivered to.
When
Reports can be scheduled on a regular basis using all the possible settings you might expect, or even more.
Optionally, a condition can be added though. The schedule only determines whether sending a report should be considered. The condition will be evaluated for each scheduled occurrence to determine whether a report should actually be sent. I hope that makes sense.
Adding a condition to an agent is done by running another report and evaluating the number of records that result from this condition report. Sometimes some creativity might be needed to create the right condition report, but that just adds to the fun.
In the example below, the BI Delivers agent will only deliver reports if the ‘Account Data Quality’ report that is ran as a condition report returns more than 0 records, or at least one data quality issue.
What
After having defined when a report needs to be scheduled, it is time to define what content needs to be generated, before it is delivered.
To start with, as content for the BI Agent a dashboard or a report can be selected to be delivered.
The available delivery options depend very much on the chosen delivery format:
- ‘Deliver results directly’ will include the report content in the message itself. This delivery option can only be chosen for agents that will deliver the report data as ‘HTML’ or ‘Plain Text’
- Alternatively, the report content can be added as an attachment. This delivery option is available for any of the available delivery formats
When a condition, defined in the previous step, is met, the BI Delivers agent will off course not send a report. Alternatively a message can be delivered though.
Besides sending reports, a BI Delivers agent can also trigger actions when the agent completes. I have never used these and hence cannot speak out of experience, but I might see some value in triggering a web service or maybe starting a different BI Delivers agent when an agent condition was evaluated to false.
Who
All that is left is defining who will receive the reports and most importantly what data the report should contain. Let me explain.
The resulting report of a BI Delivers agent can be delivered to different groups of people:
- By listing individual Engagement Cloud users
- By listing Engagement Cloud applications roles hence sending the reports to all Engagement Cloud users that have that role assigned to them
- Non-engagement cloud users can be targeted by hard coding their email addresses to which the agent needs to send the report
Reports in Engagement Cloud are always containing only data that users receiving the report are allowed to see. BI Delivers has an option to schedule and run reports ‘as if’ someone else was running them.
Notice how the screenshot below allows for agents to run as the ‘Recipient’ of the report or as a ‘Specified User’. This can be very valuable in certain situations:
- When sending reports to email addresses of non-engagement cloud users, these users will receive empty reports as they have no rights to see any data. Running the report as a different user will allow them to see the data that the chosen user has access to
- When sending out reports for a recurring meeting, you might want to schedule the agent to send out the report with the data visibility of the meeting organizer, so everyone attending the meeting has access to the same data when prepping for the meeting
Finally, a few check boxes need to be ticked when. Although there are many check boxes to choose from, only 3 of them really matter:
- Home Page and Dashboard: This option will make the generated reports available from the bell icon on the BI menu header and hence most useful for BI admins only.
- Devices > Specific Devices > Email: This option will make sure that the reports are send to the email addresses for Engagement Cloud users as they are specified on their EC user profiles.
- Oracle BI Server Cache: The option to send the report data to seed the ‘Oracle BI Server Cache’ is very powerful but very different from the normal usage of BI Delivers.
The other ones are just an indication of how … mature the platform is 🙂
Seeding the BI Cache
The BI Cache is a great tool that allows you to find a good compromise between using real-time data from an application in your reports, and having good performing reports sometimes using data that may be a few hours old.
Normally any user that calls a cache-enabled report will fill up the cache for all other users. BI Delivers agent is meant to be used for scheduling and delivering reports , but is also perfectly capable of filling up the BI Cache before any user does. I would suggest to run BI Cache agents maybe at 6am before any users come into the office, having the reports ready to go
To the point
This was one of those topics on my to-blog-list that I never got to, and now I wonder why I did not write about this earlier. Yes indeed, Engagement Cloud can host all the analytics for you. But sometimes you want the analytics come to you, or see the data from someone else’s perspective. And that is exactly what BI Delivers always is about.