This article is for Tempo for Cloud.
Question
How can I export Tempo data (for example, worklogs) to Microsoft Excel using the Tempo REST API, and keep it refreshed? My Excel Get Data > From Web connection returns nothing or will not connect.
Answer
Use Excel's Power Query (Data > Get Data > From Web) to call the Tempo API with your API Bearer token in the Authorization header. The steps below use the worklogs endpoint as an example.
Use case
A data or reporting team wants to pull Tempo data, such as worklogs, into Excel for its own reports. Their organization blocks API tools such as Postman, so Excel's built-in Get Data feature is the only option. The same approach works for any Tempo REST API endpoint you have a token scope for, for example teams or plans.
Common problems when setting this up:
-
Excel asks how to connect, and none of Anonymous, Windows, Basic, Web API or Organizational account seems to accept the Tempo token. The token goes in the request header (Step 2), not in the credentials prompt.
-
The connection fails or returns no data. Common causes are a version 3 URL, a base URL for the wrong region, a malformed
Authorizationheader, or an expired token or missing scope.
Before you start
-
Use the Tempo Cloud version 4 API. Version 3 URLs (
/core/3/) fail with an Unable to Connect error. -
Use the base URL that matches where your Tempo data resides. See Base URLs by region.
-
Authenticate with an API Bearer token generated in Tempo (Step 1).
-
Excel must support Power Query (Excel for Microsoft 365, or Excel 2016 and later on Windows).
-
You need permission to create API tokens in Tempo.
Base URLs by region
-
https://api.eu.tempo.io: clients in Europe -
https://api.us.tempo.io: clients in the Americas -
https://api.tempo.io: other locations, if you are unsure where your client is installed, or for a universal path
A base URL for a different cluster than the one your Tempo data resides in returns an authorization error. If you get a 401 or 403, try the base URL for your region. The examples below use https://api.tempo.io. Replace it with your regional base URL if needed.
Step 1: Generate a Tempo API Bearer token
-
In Jira, open Tempo and select Settings in the Tempo sidebar.
-
Under Data Access, select API Integration.
-
Click New Token at the upper right.
-
Enter a descriptive Name (for example,
Excel Reporting Token) and set the Expiry. The default is 30 days. -
Define the access scope. Choose full access, or custom access with only the scope you need. For worklogs, select the Worklogs scope with View access.
-
Click Confirm, then copy the token and store it securely. The token is shown only once. If you lose it, you must regenerate it, which invalidates the old token.
See Using REST API integrations for details on token scopes, regenerating, and deleting tokens.
Step 2: Connect Excel to the Tempo API
-
Open a blank workbook in Microsoft Excel.
-
Go to the Data tab and click Get Data > From Other Sources > From Web.
-
In the From Web dialog, select Advanced. This unlocks the HTTP request headers. The Basic option has no place for headers, so the token cannot be sent.
-
In URL parts, enter the endpoint, for example:
https://api.tempo.io/4/worklogs
To limit the data, add parameters such as:
https://api.tempo.io/4/worklogs?from=2026-09-01&to=2026-09-30&limit=1000
Dates use the formatYYYY-MM-DD. -
Under HTTP request header parameters, set the first box to
Authorizationand the second box toBearer YOUR_TEMPO_TOKEN. Use a capital B inBearerand a single space before the token. -
Click OK.
Step 3: Choose credentials (only if prompted)
Depending on your Excel version and settings, Excel may or may not ask how to connect. If it does not prompt, go to Step 4.
-
If the credentials prompt appears, select Anonymous. Do not select Web API, Basic, Windows or Organizational account, and do not paste the Tempo token into any of those fields. "Anonymous" here only means Excel adds no credentials of its own. Your token is still sent in the
Authorizationheader from Step 2, and the data is not public. -
Set the level to the base URL you used (for example
https://api.tempo.io/) and click Connect.
Step 4: Transform and load the data
The Power Query Editor opens and shows the JSON returned by Tempo.
-
Click the List link next to
resultsto drill into the array of records. -
On the Transform tab, click To Table. In the To Table window, click OK.
-
Click the expand icon (two arrows) in the column header and select the fields to import, for example
tempoWorklogId,timeSpentSeconds,startDate,description, andissue. Clear Use original column name as prefix if you prefer shorter column names. -
On the Home tab, click Close & Load.
The Tempo data now appears in your worksheet.
Step 5: Refresh the data
-
Click anywhere in the loaded table. To refresh manually, select Data > Refresh All.
-
To refresh automatically, select Data > Queries & Connections, right-click the query, and select Properties.
-
Select Refresh data when opening the file, or Refresh every and set the interval in minutes.
Troubleshooting and best practices
-
Unable to Connect, or no data returned: Confirm the URL uses
/4/and not/core/3/. Confirm the header name isAuthorizationand the value isBearer <token>. See Application is not connecting to api.tempo.io. -
401 Unauthorized or 403 Forbidden: Check that the token has not expired and that its scope includes the endpoint you call. Also check the base URL matches your data region (see Base URLs by region). A token does not cover scopes added after it was created, and a token's scope cannot be edited, so create a new token if needed.
-
Credentials prompt does not accept the token: Choose Anonymous and keep the token in the request header. The token is not a Web API key, password or organizational account.
-
400 Bad Request: Check parameter values, for example dates must be
YYYY-MM-DD. -
Missing data: Tempo API results are paginated. The default
limitis 50 and the maximum is 5000. Increaselimitor narrow the date range withfromandto. -
429 Too Many Requests, or large data sets: Tempo rate limits requests, and the exact limit depends on system load. Avoid pulling months of worklogs in one call. Use shorter date ranges, a single user, pagination, and a limit. See Best Practices for Tempo Cloud REST API.
-
Token security: Anyone with the workbook can see the token stored in the query. Use a view-only scope, set an expiry, and do not share the file widely.