BambooHR
BambooHR Usage Monitoring
About BambooHR
BambooHR is a cloud-based human resources (HR) software solution for small and medium-sized businesses. It helps companies manage everything from hiring and onboarding to payroll and performance. Monitoring BambooHR usage is important for ensuring that HR licenses are used effectively and for optimizing costs. This is similar to monitoring other HR platforms like Personio or Sage HR.
Prerequisites
To begin monitoring BambooHR, ensure you have the following components and permissions in place:
- OpenLM Components: OpenLM Cloud Broker and OpenLM SLM are required.
- Platform-specific Requirements: You'll need administrative access to your BambooHR account to generate an API key with the necessary read permissions.
Configuring data collection
Follow these step-by-step instructions to set up data collection for BambooHR in OpenLM Cloud Broker:
https://documentation.bamboohr.com/docs/getting-started#section-authentication
- The subdomain used to access your account (If you access BambooHR at https://mycompany.bamboohr.com, then the subdomain is "mycompany")
Use this information to generate a token via a browser or curl:
https://<company domain>.bamboohr.com/authorize.php?request=authorize&state=new&response_type=code&scope=[multiple scopes separated by plus +]&client_id=<your App's client id>&redirect_uri=<your App's redirect URI as defined while creating your App>
Your browser will redirect to the URI specified in 'redirect_url', with additional information &code= a temporary code.
Use this information to generate a token using the following call:
https://<company domain>.bamboohr.com/token.php?request=token
Body
{
"client_secret":"<your App's client secret>",
"client_id":"<your App's client ID>",
"code":"<A temporary code>",
"grant_type":"authorization_code",
"redirect_uri":"<Redirect URI mentioned in your App>"
}
The API will return following response:
{
"access_token": "<Temporary access token>",
"expires_in": 3600,
"token_type": "Bearer",
"scope": "<scopes separated by space>",
"refresh_token": "<Temporary refresh token>",
"id_token": "<unique ID>",
"companyDomain": "<your company domain>"
}
You can now use the <Temporary access token> in subsequent calls. In Postman, select 'Bearer Token' and enter the <Temporary access token> in the Token field.
the refresh_token field will only be returned if you provided the offline_access scope in your original request to authorize.php. If you want to refresh your access token then you can
use the refresh token in a call that looks like this:
https://<company domain>.bamboohr.com/token.php?request=token
Body
{
"client_secret":"<your App's client secret>",
"client_id":"<your App's client ID>",
"refresh_token": "<your Temporary Refresh Token>",
"grant_type":"refresh_token",
"redirect_uri":"<Redirect URI mentioned in your App>"
}
OAuth is available in many APIs and requires configuring an application through BambooHR Team. Companies and developers can work with BambooHR to set this up. You will need a BambooHR Application that includes Client ID and Client secret.
For more information about HTTP Basic Authentication, see Basic Authentication and for OAuth see OAuth.
- Add Credentials: In the OpenLM Cloud Broker dashboard, find the BambooHR integration and enter domain and API key.

- Verify Connection: Test the connection to ensure that OpenLM can successfully retrieve data.
- Approve in OpenLM: Approve the new data source within the License Servers section.
- See Data: Usage data for BambooHR will now be visible in the OpenLM Allocation service.
Viewing reports
Access your reports to analyze usage patterns.
- User Activity Trends: See which HR professionals are most active in the platform, helping you manage resource allocation.
- Expired/Unused License Reports: Identify and reclaim licenses from inactive users.