Search API Connector Documentation
Import Toggl Data to Google Sheets
In this guide, we’ll walk through how to pull time tracking data from the Toggl API directly into Google Sheets, using the API Connector add-on for Sheets. We'll first get an API key from Toggl, and then set up a request to pull in your time tracking stats to your spreadsheet.
- Before You Begin
- Part 1: Get your Toggl API Key
- Part 2: Create your API Request URL
- Part 3: Pull Toggl API Data into Sheets
- Part 4: More Example API URLs
- Part 5: Handle Pagination
- Part 6: API Documentation
Before You Begin
Click here to install the API Connector add-on from the Google Marketplace.
Part 1: Get Your Toggl API Key
- Log into your account on Toggl.com
- From the main dashboard, click your name and then Profile Settings
- Scroll down the page until you see a section called "API Token". Copy this to your clipboard.
- One last step: Because the Toggl API requires Basic Authentication, we need to encode our authentication info to base 64. Enter your your credentials in the format
YOUR_API_KEY:api_tokeninto this form, where you substitute in your own api key where it says YOUR_API_KEY, and follow it with a colon and then the string 'api_token'. Your encoded credentials will appear underneath.
The encoding script runs in your browser, and none of your credentials are seen or stored by this site.
Part 2: Create Your Toggl API Request URL
We’ll first get your time stats.
- API root: https://api.track.toggl.com/reports/api
- Endpoint: /v2/summary
- Query String:workspace_id=YOUR_WORKSPACE_ID&user_agent=YOUR_EMAIL
You can retrieve your workspace ID by checking your URL while logged into the Toggl dashboard:
Putting it all together, we get the full API Request URL:
Just substitute in your own email address and workspace ID.
Part 3: Pull Toggl API Data into Sheets
Now let's enter that URL into API Connector.
- Open up Google Sheets and click Extensions > API Connector > Open.
- In the Create screen, enter the Request URL we just created
- Under Headers, enter a set of key-value pairs, like this:
Authorization Basic YOUR_BASE64_ENCODED_STRING
Replace YOUR_BASE64_ENCODED_STRING with your encoded string from part 1.
- Create a new tab and click Set current to use that tab as your data destination.
- Under Output options, switch to Grid mode (this makes the output easier to read).
- Name your request and click Run. A moment later you’ll see your time stats populate the Toggl_Summary tab in your Google Sheet:
Part 4: More Example API URLs
You can check the documentation for the full list of available API requests, but if you just want to jump in, you can play around with the URLs you enter in the API URL path field. Try the following (one at a time), including your email address and workspace ID:
- Weekly report
- Detailed report
- Summary report
Part 5: Handle Pagination
By default, Toggl only returns 50 records at a time for certain endpoints. To get more you need to use the "page" parameter as described in their documentation.
In API Connector you can do this automatically with pagination handling, like this:
- Page parameter:
- Run until: choose when to stop fetching data
Part 6: API Documentation
Official documentation: https://developers.track.toggl.com/docs/
Note that Toggl's API documentation provides many example curl requests, which you can import using API Connector's curl import tool. These curl snippets look like this:
curl -v -u 1971800d4d82861d8f2c1651fea4d212:api_token -X GET "https://api.track.toggl.com/reports/api/v2/summary?workspace_id=123&since=2021-05-19&until=2021-05-20&user_agent=api_test"
Just copy and paste those snippet into the curl import tool, replacing the bold values with your own. When you import from curl, your token will automatically be encoded and your request details will automatically appear in the sidebar.