Beta Test: Custom Reports API

  • 19 July 2022
  • 7 replies
  • 242 views

Userlevel 1
Badge +1

Dear Community,


my name is Antonia, I'm the Product Expert for Analytics & Reporting at Personio.

In August, we are launching a beta test for our new Custom Reports Public API. This functionality will allow you to get custom report data in json format via the new endpoints to store or process it further. Currently we are still looking for beta testers who will be able to test these endpoints before anybody else, and provide feedback on how we can make them even more useful.

If you would like to participate, please contact me under support@personio.de.
(A very short email will suffice. Just mention that you are interested in the beta test: “Custom Reports Public API”)


Please be aware of the following conditions for participation:

  • Participants must be account owners and admins.
  • Participants must be signed up to our beta test program → click here to sign up.

During the beta test we hope to get regular feedback from users so that we can tailor the functionality to your needs as best as possible.

In case of any questions regarding the test phase please feel free to also comment this post.


Best regards,
Antonia


7 replies

Userlevel 1
Badge +1

OK, great. Please make sure the reports retrieved through API also contain the IDs (departments, teams...), otherwise the consistency collapses if for example team name is changed.

Userlevel 1
Badge +1

Hi @ammar - thanks for reaching out. The response will contain entity IDs as well to make sure such name changes don’t cause any issues. 

Userlevel 1
Badge +1

Hi.

I don’t quite understand the refresh policy of the reports. So I have a custom report which tracks all the changes (salary, department changes, team changes...). Will this report always have the most recent data, or will it get refreshed periodically (if so, how often)?

Userlevel 1
Badge +1

Hi @ammar 

The report always shows the most recent data - we refresh data in the report each time a change is tracked for an employee (given that the column/attribute is part of the report). The field data_refreshed_at should reflect that. 

Hope that helps. 

Userlevel 1
Badge +1

Hi @ammar 

The report always shows the most recent data - we refresh data in the report each time a change is tracked for an employee (given that the column/attribute is part of the report). The field data_refreshed_at should reflect that. 
 

OK, nice. I was a bit confused, as in the front-end, there is a “refresh” button, I was never sure what it actually does.

2 more questions:

  • Not sure about the paginations, The JSON result has a metadata block with , "current_page" and "total_pages", suggesting  pagination might kick in, but it doesn’t say when.

     

  • And I'm not sure I understand why "data" is an array - suggesting there might be multiple data entities, but I don't understand in what scenario might it be the case.

Userlevel 1
Badge +1

Hi @ammar,

The refresh button in the UI is just a manual alternative to refresh data in the report, it should not be necessary to use regularly though. 

 

Not sure about the paginations, The JSON result has a metadata block with , "current_page" and "total_pages", suggesting  pagination might kick in, but it doesn’t say when.

Pagination is not yet implemented but will be in a later iteration. I’ll let you know once it is available to test. 

 

And I'm not sure I understand why "data" is an array - suggesting there might be multiple data entities, but I don't understand in what scenario might it be the case.

Depending on the endpoint, data entities or items are either a report (GetReports endpoint), a column (GetColumns endpoint) or an employee (GetReportData endpoint).

Userlevel 4
Badge +10

Hi Antonia, hi Personians,

First of all, big thank you to Personio team for releasing Custom Reports API. It's great to have this option.

Nevertheless, it seems like https://developer.personio.de/reference/listreportitems allows us to pass only one parameter (report id). 

For POINT IN TIME reports, what would give much more power to this, is adding another parameter for specifying date we want the data to be fetched for. This would make a huuuge difference (possibility to fetch data for a given date).

Should I submit this as new idea or is it enough to have it here?

 

Thank you,

Vida

Your reply