A method, system, and computer program product for dynamic report generation may include a computing device generating a report template including one or more queries that define calls to an external data store. The computing device stores the report template in a report template repository and generates a new report that includes one or more runtime parameters for each of the one or more queries of the report template. The computing device generates the new report by converting the one or more queries of the new report to an agnostic JSON language and retrieves data from an external data store identified in each of the one or more queries and converting the retrieved data to the agnostic JSON language.