1. A non-transitory computer readable medium having instructions stored thereon that, when executed by a processor of a server, cause the processor to specify configuration details for providing a business intelligence report for a user, the processor: in response to a business intelligence application connecting to the server through a firewall, providing by the server a list of available pre-defined business intelligence reports that are compatible with the business intelligence application and each comprise associated configuration details; receiving a request by the server from the business intelligence application indicating a selection of a pre-defined business intelligence report from the list of available pre-defined business intelligence reports; in response to the request, assembling by the server a Structured Query Language (SQL) code that defines a query configured to provide the pre-defined business intelligence report; and providing the SQL code by the server to the business intelligence application, wherein the business intelligence application performs the query on business data associated with the business intelligence application and stored in a user database that is inaccessible to the server due to the firewall, wherein data retrieved by the query is used to generate and display the business intelligence report in accordance to corresponding configuration details.