I encountered a problem this week that I thought would be interesting to discuss. A particular integration was using the IAutomationContext.RunReport method. This method will execute the requested report with the requested filters, however invoking the method again will not rerun the report it simply applies focus to the report. In order to run the report again the agent must close the report. I was asked how one could use this method and ensure the report is run again instead of simply just focusing the report. The short answer is you simply can’t do it using the RunReport method.
I was then left with trying to determine how one could accomplish this functionality given our current API. It took me a bit but I was able to come up with a solution that works fairly well for certain use cases. What I decided to do was use an IContentPane add-in and RightNow Connect Data Integration to execute the report. I then took the returned results from Data Integration and plugged those into a DataGridView that lived on the IContentPane add-in. When an action required the report to run again with new filters or even run a new report, I use data integration to execute the requested report and then take the returned data and update the DataGridView on the IContentPane.
I have developed a sample application demonstrating how this was done. To obtain the source code for this sample please login to the RightNow Developer Community and see the following thread on the RightNow Connect Forum.
You can extend this sample implementation to include any additional functionality in the content pane, content pane ribbon or on click of the DataGridView rows.
If you think the API should include the ability to rerun a report I encourage you to comment on the idea in our Developer Idea Lab.

[...] This post was mentioned on Twitter by CRM Alert. CRM Alert said: Display Report Data in an IContentPane Add-in | RightNow … http://bit.ly/13dEFq [...]