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.
- 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
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:
STEP 3: PULL OKTA API DATA INTO SHEETS
We can now enter our values into API Connector and start importing Okta data into Google Sheets.
- Open up Google Sheets and click Add-ons > API Connector > Create New API Request.
- In the Create Request interface, 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:
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: