BambooHR is one of the most popular HR softwares. It’s an all-in-one HR software that makes it easy to organize and analyze employee data, hiring and onboarding, managing employee wages, and more.
In this tutorial, I’ll show you how to connect the BambooHR API to Google Sheets in 7 steps:
Apipheny is an API connector for Google Sheets. You can use Apipheny to connect your Google Sheets to unlimited API data sources, make unlimited API requests, and more. There is a 30 day free trial included.
1.) Install Apipheny by opening the following link on desktop and then clicking the Install button in the Google Marketplace: https://apipheny.io/install
2.) After you’ve installed Apipheny, open a Google Sheet and then click on the Extensions dropdown in the menu at the top.
In the dropdown list you should see Apipheny. Click Apipheny then click Import API to open the Apipheny sidebar in your Google Sheet.
Tip: you can open a new Google Sheet by entering this URL in your browser: sheet.new
Your next step is to make sure you’re logged in to your BambooHR account, so you can create a new access level.
To create the new access level, in your BambooHR account, go to Settings > Access Levels > access the drop-down menu next to Levels > then click Custom Access Level:
Then, on the next page, enter a name for the custom access level and write a description, then click the Next Step button:
On the next page, choose the actions this access level can perform, then click the Next Step button:
Then choose what information users with this access level can see, then click the Save & Finish button:
For the next step, go to Access Levels > choose your newly created access level > select “Add a Non-Employee BambooHR User” in the actions’ menu:
On the next page, enter a first name, a last name, and an email address for the new user.
Then select the same access level that you previously created and click the Save button:
To access the BambooHR API in your Google Sheet, your next step is to get your API Key.
Login to your newly created user account, click on the profile icon, and choose the API Keys option:
Click the +Add New Key button:
Enter a name for the new API key and click the Generate Key button:
Your BambooHR API Key will then be displayed on the screen.
Copy and paste your BambooHR API key to safe location, because you’ll need it in the next steps. Then click the Done button.
In this section, we’ll show you how to browse the BambooHR API documentation to find an API endpoint URL that retrieves the information you need from BambooHR.
If you already know your BambooHR API URL and endpoint, or you want to use the same example URL as us, just skip to Step 6.
To get your endpoint, first open the BambooHR API documentation page: https://documentation.bamboohr.com/reference
The menu on the left contains a list of categories for the available BambooHR API endpoints:
An example endpoint is the Get Employee endpoint, which returns the employee data:
https://api.bamboohr.com/api/gateway.php/companyDomain/v1/employees/0/?fields=firstName%2ClastName
The documentation for this endpoint contains a paragraph describing the endpoint’s purpose, the endpoint’s HTTP method (GET) and URL, a section detailing the cURL command you can use to call the API endpoint, and a table describing the accepted parameters and headers:
All API calls to the BambooHR API should be made to this base/root domain:
https://api.bamboohr.com/api/gateway.php
Now we’re on the last step. Go back to your Google Sheet and make sure that the Apipheny add-on is open on the Import tab. With the Import tab open, enter these details into the Apipheny add-on:
Method: At the top of the Apipheny sidebar, select the HTTP method (GET or POST) required by your API endpoint. For this example, we are using the GET method.
API URL: In Step 5, we explained how you can find the BambooHR API endpoint that you need to retrieve the exact data you want from your BambooHR account. Now copy your complete BambooHR API URL into the Apipheny add-on, where it says “API URL Path”, followed by any parameters required for your query (if applicable).
For this example, we are using the Get Employee Directory endpoint, which gets the list of all employees from our BambooHR account. The whole API URL for this endpoint is:
https://api.bamboohr.com/api/gateway.php/companyName/v1/employees/directory
If you’re using the same example as us, just copy and paste this URL into the Apipheny add-on, but switch out companyName with your company name.
Headers: In the “Headers” section of the Apipheny add-on, add two rows of headers with the following keys and values:
Header 1 Key: Accept Value: application/json
Header 2 Key: Authorization Value: Basic your_coded_key
your_coded_key is obtained by encoding your API key, followed by the 😡 suffix, as a Base64 string. You can use this website to encode your key: https://www.base64encode.org/. So to encode your API key on that website, just enter your API key followed by a colon “:” and an “x” like so: ExampleAPIkey:x then click Encode. Then enter the value you get back as the “value” of the second header, with a space between “Basic” and the encoded API key.
Here’s what your BambooHR API request should look like once entered into the Apipheny add-on:
The last step to get your BambooHR account data in your Google Sheet is to click the Run button at the bottom of the Apipheny add-on, and then your BambooHR data will be imported into your Google Sheet.
After making a successful request to the BambooHR API, try querying a different BambooHR API endpoint, or try using one of the more advanced features in the Apipheny add-on.
Crypto API tutorials and more:
Sponsored by Zink Virtual Tip Jar & Rewording.io Paraphrasing Tool
Accept donations on Twitch | Accept donations on Discord | Accept donations on YouTube | Accept donations on Telegram | Accept donations on Twitter | Accept donations on TikTok | Accept donations on Instagram | Accept donations on LinkedIn | Accept donations on Facebook | Accept donations on your Website