Integrate Ally's API with an External Reporting Tool

External reporting tools offer numerous benefits, including enhanced data visualization, customization options, and automated reporting processes. Institutions can easily analyze complex data sets using a variety of chart types, graphs, and dashboards. By customizing displayed data elements, they can tailor reports to their specific needs. With automated reporting, users save valuable time and resources, streamlining report generation.

By combining Ally's API data retrieval capabilities with the advanced visualization and analysis features of popular reporting tools, Institutions can unlock insights to facilitate data-driven decisions.

Feel free to review the Reporting API Endpoints technical documentation to learn how to appropriately set up and customize your endpoints.

Before you start

To integrate Ally's API with your preferred reporting tool you will need the following:

  • An external reporting tool such as Power BI, Tableau, Microsoft Excel, or SAP Analytics, among others
  • Access to Ally's Institutional Report (Admin only)
  • Authorization API token (available in the Institutional Report)
  • Endpoint's URL (available on this help page)
  • Your Ally Client ID (contact our Support team if you do not have this ID)

Keep in mind that you will need to switch between this help page, the Institutional Report, and the external reporting tool to successfully set up everything. 

How to integrate Ally's API with an external reporting tool

Export options from the Institutional Report
  • A modal will display with an automatically generated token. Select Copy token.

API tokens expire after one year. To obtain a new token, follow this guide to set up your external reporting tool again.    


Copy token model in the Institutional Report
  • Go to your preferred external reporting tool. For the means of this example, we will show how to set up Ally's API with Power BI.

Other external reporting tools have different interfaces, however, they all follow similar steps as shown below. Please refer to your reporting tool documentation if you need assistance setting up your data source.  

  • Open Power BI Desktop
  • Select Get Data from the Home tab options. 
  • Select Web from the displayed list.
Get Data menu from Power BI
  • Select the Advanced option in the From web modal. 
  • Type Authorization in the HTTP request header parameter field.
  • In the text box to the right, type Bearer add a space, and paste the token from the Institutional Report.
  • Copy one of the following Endpoint URLs:
    • https://[Region]/api/v2/clients/[Ally Client ID]/reports/overall
    • https://[Region]/api/v2/clients/[Ally Client ID]/reports/issues 

Ally's Report data can be sectioned into Overview and Issues. Both apply for all your courses at your institution. Select the Endpoint URL you prefer.  

  • Paste the Endpoint URL in the URL paths field in Power BI's From Web modal.
  • Replace [Ally Client ID] with your unique Ally ID.

If you do not have this ID, please contact our Support team. Remember that the is the Ally client ID, not the LMS ID.

From Web modal in Power BI
  • Select OK to start the query based on the information provided.

Depending on the number of records, the dataset may need some preparation time. Ally responds with a "status" informing the user if the data is still processing. In Power BI, you can see this by selecting the "Expanded metadata" and searching the metadata.status column:

While the status is "Processing" you will need to wait until data is ready. Select the "Refresh preview" button on the top ribbon to call the API again and see if the data is ready. If the dataset is ready, all the records will be displayed and the metadata.status column will show the "Successful" status.

  • Finally select Close & Apply on the top left-hand side corer.

Data refresh time 
Source data is internally updated every 15 minutes for any of the endpoints. Consider this when invoking the endpoint to retrieve the data for your reports. 

Response limit
Keep in mind that the response limit per endpoint invocation is 10,000 records. If some records are not shown within the first 10000 records, you will need to use filtering or sorting options.