BambooHR is one of the most popular HR softwares in the world. 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.
To pull data from the BambooHR API to Google Sheets easily and without writing any code, first install and open the Apipheny Google Sheets add-on.
Apipheny is a no-code API integrator for Google Sheets that you can use to make unlimited API requests, connect to unlimited APIs (including the BambooHR API), save API requests, schedule API requests, and more. Click here if you want to learn more about Apipheny.
1. Install Apipheny by clicking the Install button on this page.
2. After you’ve installed Apipheny, open a Google Sheet and then click on the Add-Ons option in the menu at the top (see screenshot below). In the add-ons menu, you should see Apipheny, if you’ve already installed it.
Click Apipheny > Import API to open the Apipheny sidebar in your Google Sheet.
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.
Every API has a URL, and every API URL has one or multiple “endpoints” to choose from.
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:
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 the BambooHR base/root domain:
All BambooHR API endpoints should be appended to this base/root domain.
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:
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 “:x” 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, such as:
If you want to import BambooHR API data into Google Data Studio, just follow the same steps above and then connect your Google Sheet to Google Data Studio.