The All Hours Time & Attendance app for Power BI puts your All Hours data into a ready-made Power BI report in your own Power BI tenant. You install the app once and connect it with an All Hours API key, and the data then refreshes on a schedule.
The report has three pages:
Overview – planned time to date, presence, paid absence to date, presence rate, the split between working time and paid absence, and hours by time policy,
Trends – how these figures change over the selected period,
People – the same figures for each employee.
Before you start
You need:
a Power BI Pro or Premium Per User licence for the person installing the app,
permission to install template apps in your Power BI tenant – your Power BI administrator enables it in the admin portal under Tenant settings › Template apps,
an All Hours API key with its Client ID and Client Secret.
Creating an API key
An All Hours administrator creates the API key:
Go to Settings › Advanced and expand the API section.
Click Create new API key, enter a name (for example Power BI), select an authorization role and click Create.
Save the Client ID and Client Secret that are shown in a safe place. You will not be able to display them again.
More about API keys: Enabling API access.
Installing the app
Sign in to Power BI.
Select Apps › Get apps, search for All Hours Time & Attendance and select Get it now. You can also find the app in Microsoft AppSource.
Select Install. Power BI creates a new workspace for the app and opens it.
Until you connect your own data, the app shows sample data.
Connecting your data
1. In the app, select Connect your data in the banner at the top.
2. Fill in the parameters:
Parameter | What to enter |
Client ID | the Client ID of your All Hours API key |
Client Secret | the Client Secret of the same API key |
Months back | the number of months of history to load (0–24, default 3) |
Months ahead | the number of months of planned shifts to load (0–12, default 1) |
3. Select Next.
4. On the authentication screen, set:
Authentication method – Anonymous (the app signs in to All Hours with the Client ID and Client Secret you entered),
Privacy level – Organizational.
5. Select Sign in and connect.
Power BI starts the first data refresh. It usually takes less than a minute; more months of history take longer. When it finishes, the report shows your own data.
Keeping the data up to date
Scheduled refresh. Open the app’s workspace, find the app’s semantic model and go to Settings › Refresh. Turn on scheduled refresh and choose the times. For attendance reporting, once a day is usually enough.
Changing parameters. In the same settings, open Parameters, change Months back, Months ahead or the API key, select Apply and refresh the data.
App updates. When a new version is available, Power BI shows a notification in the app’s workspace. Select Update the workspace and the app. Afterwards, check that the parameters still contain your values and refresh the data.
Using the report
Use the bar at the top of each page to narrow down the data:
Period – the start and end date. The period can only cover the months loaded with Months back and Months ahead.
Org unit, Person, Tag – select one or more values, or leave them set to All.
The top right corner shows the date range of the loaded data and the time of the last refresh. If that time is older than expected, check the refresh history in the semantic model settings.
Troubleshooting
Problem | Likely cause | Solution |
You cannot find or install the app | Template apps are blocked in your tenant, or you have no Pro/PPU licence | Ask your Power BI administrator to allow template apps for you |
The refresh fails with a sign-in or credentials error | Wrong Client ID or Client Secret, or the API key was deleted or changed | Check the values in All Hours, enter them again under Parameters and refresh the data |
“Failed to test the connection” when editing data source credentials | Power BI tests the address without signing in | Select Anonymous, tick Skip test connection and save |
“Scheduled refresh has been disabled” | Power BI turns refresh off after repeated failures | Fix the cause of the error and turn scheduled refresh on again |
The report still shows sample data | The first refresh has not finished or has failed | Open Refresh history in the semantic model and check the error |
Older months are missing | Months back is set too low | Increase Months back (up to 24) and refresh the data |
Keeping the Client Secret safe
The app stores the Client Secret as a parameter of its semantic model. Anyone with the Contributor, Member or Admin role in the app’s workspace can read it. People who only view the app cannot.
Create a separate All Hours API key just for Power BI, so you can revoke it without affecting other connections.
Limit edit access to the app’s workspace to the people who manage the app.
If the Client Secret leaks or someone with workspace access leaves the company, create a new API key in All Hours, enter the new values under Parameters and refresh the data.
Need help?
Contact us at [email protected]. If a refresh fails, include the error text from Refresh history in your message.


