Import Okta Data to Google Sheets
In this guide, we’ll walk through how to pull Okta’s API data directly into Google Sheets, using the API Connector add-on for Sheets. We’ll first get an API key, and then set up a request.
CONTENTS
- Before You Begin
- Step 1: Get your Okta API Key
- Step 2: Create your API Request URL
- Step 3: Pull Okta API Data into Sheets
- Step 4: Handle Pagination
BEFORE YOU BEGIN
Click here to install the API Connector add-on from the Google Marketplace.
STEP 1: GET YOUR OKTA API KEY
- While logged in to your Okta dashboard, navigate to Security > API from the top navigation bar.
- From the API menu, click Tokens, and then click Create Token.
- Give your token a name and click Create Token
- You will now be presented with your token. Congrats, you now have access to the Okta API! Copy this value and keep it handy as you’ll need it in a moment.
STEP 2: CREATE YOUR OKTA API REQUEST URL
We’ll first follow the documentation to get a list of users in your organization.
- API root: https://YOUR_DOMAIN.okta.com/api/v1
- Endpoint: /users
Putting it all together, we get the full API Request URL:
https://YOUR_DOMAIN.okta.com/api/v1/users
STEP 3: PULL OKTA API DATA INTO SHEETS
Now let’s add our values into API Connector and import Okta data into Google Sheets!
- Open up Google Sheets and click Add-ons > API Connector > Open.
- In the Create screen, enter the Request URL we just created
- Under Headers, enter three sets of key-value pairs like this:
Content-Type application/json Accept application/json Authorization SWSS YOUR_TOKEN Replace YOUR_TOKEN with the token you got above in part 1. You must include the text ‘SWSS’ before it.
- Create a new tab. You can call it whatever you like, but here we’ll call it ‘Users’. While still in that tab, click ‘Set’ to use that tab as your data destination.
- Name your request. Again we’ll call it ‘Users’
- Click Run and a moment later you’ll see a list of your Okta users populate your Google Sheets.
STEP 4: HANDLE PAGINATION
Note that the Okta API limits the number of records returned in each request. By default, only the first page of records will be returned, and each page contains a limited number of records. To access more than 100 records, use the “limit” and “after” parameters as described in the documentation.
The URLs should look like this:
page 1: https://YOUR_DOMAIN.okta.com/api/v1/users?limit=200
page 2: https://YOUR_DOMAIN.okta.com/api/v1/users?limit=200&after=abcd
The ‘after’ value gets populated by the value returned into the ‘id’ field. In API Connector, you can either set these up as separate requests or run through them automatically with pagination handling (paid feature). Okta places the full paginated links into a header response field called ‘Link’, so the paginated request would look like this: