BambooHREntra ID
Connect BambooHR to Entra ID
Turn BambooHR hires, changes and departures into account updates in Entra ID. Follow the setup steps, preview changes with a dry run, then go live.
BambooHR record
08:02:14
Priya Natarajan
1042
- Job Title
- Software Engineer
- Department
- Engineering
- Location
- Austin
- Reports To
- D. Okafor
- Hire Date
- Nov 10, 2026
- Employment Status
- Full-Time
Entra ID
eng-austin
- accountEngineering (administrative unit)
- userPrincipalNamepriya.natarajan@northwind.com
- mailpriya.natarajan@northwind.com
- jobTitleSoftware Engineer
- managerD. Okafor
- memberOfEng-All
- memberOfLicense-M365-E3
2.3s
- BambooHR fields mapped
- 13
- Steps to go live
- 9
- Employee records stored in our cloud
- 0
Joiners, movers and leavers
How BambooHR updates Entra ID
HR updates BambooHR. ezOnboard updates accounts based on your rules.
Joiner
An account before day one
A person is added to BambooHR with a hire date and Active status.
- Account created in the tenant, disabled until the start date
- Name, email, title, department, office and manager set from BambooHR
- Account added to its administrative unit and groups, with group-based licenses assigned
- Account enabled on the start date, with a Temporary Access Pass for first sign-in
Mover
Access for the new role
A job title, department, location or manager changes in BambooHR’s Job tab.
- Title, department, office and manager updated
- Account moved to the administrative unit your rules specify
- Groups and group-based licenses updated to match the new role
Leaver
Offboarding on schedule
A termination date is set in BambooHR, or the person’s status changes to Inactive.
- Account disabled on the termination date, never deleted
- Sign-in sessions revoked
- Direct licenses recovered and account removed from managed groups
Before you start
What to have ready
Work with a BambooHR admin and a directory admin to complete the setup.
- In BambooHR
- BambooHR Full Admin or Account Owner access to create an access level and a non-employee user
- A work email or employee number for each person in BambooHR to match them to their account
- In Entra ID
- A server running Windows Server 2019 or later; no domain join required
- A Global Administrator to grant consent to the ezOnboard application
- Outbound HTTPS to the HR system, ezOnboard, graph.microsoft.com and login.microsoftonline.com
- Administrative units and groups for ezOnboard to manage, and Temporary Access Pass enabled in your authentication methods policy
Step by step
Set up BambooHR with Entra ID
Start in BambooHR and on your server. Then finish in the ezOnboard portal with our implementation team.
01
BambooHR
Create a view-only access level for ezOnboard
Settings → Access Levels → Add → Custom Access Level
A BambooHR API key uses its owner’s permissions. Create a dedicated non-employee user and custom access level for ezOnboard. This limits access and keeps the key working when staff change.
Create a custom access level named ezOnboard. Under what it can do, allow only Create New Reports. Under what it can see, set See About other Employees to All Employees. Set the fields below to View Only. Add a non-employee user named ezOnboard to this level.
- Personal › Basic info: status, first name, last name, preferred name and employee #
- Personal › Contact: work email
- Job: hire date, employment status, termination date and job information
Custom access level. Use View Only for the sections shown and No Access for the rest.
02
BambooHR
Generate an API key
User menu → API Keys → Add New Key
Sign in as the ezOnboard non-employee user. Open the user menu in the lower left, choose API Keys and create a key named ezOnboard.
Copy the key to a secure location before closing the dialog. BambooHR shows it only once. Note your company subdomain: the part of your address before .bamboohr.com. You’ll need both in step 5.
New API key. Copy it before choosing Done. It’s shown only once.
03
Your server
Install the ezOnboard agent
The agent runs as a Windows service on your server with Windows Server 2019 or later. No domain join is required. It connects to BambooHR, ezOnboard and Microsoft Graph over outbound HTTPS. No inbound firewall rules are needed.
Download the signed MSI and enrollment bundle from the portal. Save the install code. The portal shows it only once. Run the MSI and enter the code. The agent uses a local virtual account by default, with no password to manage. The installer checks outbound access and the clock before making changes. Domain and LDAP checks show “not needed”.
Installer screen with the setup requirements.
04
ezOnboard portal and Microsoft
Connect your tenant and grant admin consent
Add a Microsoft 365 connection in the portal. Choose the Directory and Licenses capabilities, then continue to Microsoft. Sign in as a Global Administrator and grant consent. The portal shows which capabilities have access. You can grant missing permissions later.
ezOnboard uses application permissions, not an administrator account or password. Revoke consent in Entra ID to remove its access. Each tenant connects to one organization.
- Directory: manage users, managers, group memberships and administrative units
- Licenses: read subscriptions, assign licenses and recover unused licenses
- Sign-in: revoke sessions for leavers and issue a Temporary Access Pass to new hires
Connection page showing which capabilities have access.
05
ezOnboard portal
Add BambooHR as an HR source
In the portal, add BambooHR as an HR source using the API key and your company subdomain. Your credentials are encrypted with your organization’s key and sent to your agent. The agent reads BambooHR from your network. Nobody at ezOnboard can read the credentials.
Choose a field to match people across both systems, usually work email or employee ID. The agent checks BambooHR every five minutes and catches up on any missed changes.
HR source. Your agent uses these credentials to read BambooHR.
06
ezOnboard portal
Map BambooHR fields to Entra ID attributes
Choose which BambooHR fields update each directory attribute. Start with the defaults below, add custom fields or combine values. For example, build a display name from first and last names, format a job title or look up an office address by site.
Blank BambooHR fields leave directory values unchanged unless you configure the mapping to clear them.
Field mapping. See the full list of defaults below.
07
ezOnboard portal
Set rules for accounts, administrative units and groups
Rules define who gets an account, which administrative unit it belongs to, how it’s named and which groups it joins. They also control offboarding. Use BambooHR fields, such as department and site, to make those choices.
Our implementation team helps you write the rules. With approvals enabled, your team must approve each rule change before the agent uses it.
Rules page with the placement rule open.
08
ezOnboard portal
Preview changes with a dry run
Run a dry run for your whole workforce. The agent matches BambooHR records to existing accounts by employee ID, then work email, and previews changes without applying them. If two accounts match one person, that action stops for review.
Review the planned changes and the rules behind them in the portal. Adjust your rules and repeat the dry run until the results match your expectations.
Dry run. No changes are applied while dry run is on.
09
ezOnboard portal
Go live
Turn off dry run to apply changes. If a run would disable or move more accounts than your safety limits allow, it stops and alerts your team before making changes. We review the first runs with you.
HR continues working in BambooHR. Your rules handle new accounts, updates and offboarding on schedule. Get alerts by email, in the portal or by webhook when a run stops, the HR feed stops updating or the agent stops reporting. An inactive feed never triggers offboarding.
Reports with account activity, tickets avoided and agent uptime.
Field mapping
BambooHR fields and Entra ID attributes
Start with these defaults and adjust any mapping. Dates and lifecycle status control when accounts are created, enabled or disabled.
| BambooHR field | Entra ID attribute | How it’s used |
|---|---|---|
| First NamePersonal › Basic info | givenName | Sets the first name at account creation and keeps it up to date. |
| Last NamePersonal › Basic info | surname | Keeps the last name up to date. Also updates the logon name if your naming rule uses it. |
| Preferred NamePersonal › Basic info | displayName | Uses the preferred name for the display name and email. Uses the first name if blank. |
| Work EmailPersonal › Contact | mail, userPrincipalName | Sets the email address and sign-in name. A mail rule can also generate them from the person’s name. |
| Employee #Personal › Basic info | employeeId | Added to new accounts and used first to match existing accounts. |
| Job TitleJob › Job information | jobTitle | Keeps the job title up to date and sets groups based on your rules. |
| DepartmentJob › Job information | department | Keeps the department up to date. Rules can use it to choose account placement and groups. |
| LocationJob › Job information | officeLocation | Keeps the office up to date. A lookup table can also fill in the street, city and country. |
| Reports ToJob › Job information | manager | Links to the manager’s account to keep approvals and org charts in sync with BambooHR. |
| Hire DateJob | accountEnabled | Sets when the account is created and enabled. You choose how many days before the hire date to create it. |
| StatusPersonal › Basic info | accountEnabled | Active keeps the account enabled. Inactive disables it when no other record keeps the person active. |
| Employment StatusJob | accountEnabled | Terminated ends the record. Rules can also use Full-Time, Part-Time or Contractor to choose groups and licenses. |
| Termination DateJob › Employment status | accountEnabled | Sets the date for disabling the account and starting offboarding. Your rules set the time. |
Frequently asked questions
- Does ezOnboard write to BambooHR?
- No. ezOnboard only reads BambooHR. Set the required fields to View Only. No Edit access is needed. Make any corrections in BambooHR.
- Which BambooHR permissions does the API key need?
- The key uses its owner’s permissions. Give that user a custom access level with Create New Reports and View Only access to Basic info, Contact and Job for all employees. Leave other sections at No Access.
- Do we need BambooHR’s Entra ID integration or SCIM?
- No. ezOnboard reads BambooHR’s API and uses your rules to manage accounts in Active Directory or Entra ID. Its agent runs on your network and can also manage Exchange.
- Do we need a server for Entra ID?
- Yes. Use a Windows Server with outbound HTTPS to BambooHR, ezOnboard and Microsoft Graph. No domain join or inbound firewall rules are required. The agent runs as a local virtual account by default and keeps employee data on your network. It doesn’t store tenant administrator credentials.
- What permissions does ezOnboard need in Entra ID?
- A Global Administrator grants consent to the ezOnboard application. Permissions are grouped by capability, such as managing users or assigning licenses. You can grant additional capabilities later. Revoke consent in Entra ID to remove access.
- How quickly does a BambooHR change reach Entra ID?
- The agent checks BambooHR every five minutes and usually applies changes within seconds of finding them. Scheduled changes follow your rules: accounts are created before the start date, enabled on that date and disabled on the termination date at the time you choose.
- How does BambooHR trigger offboarding in Entra ID?
- On the termination date, the account is disabled and its sign-in sessions are revoked. Direct licenses are recovered. The account is removed from managed groups, releasing their licenses. The account is never deleted. Every step is recorded for audit.
- How do new hires sign in?
- With a Temporary Access Pass issued when their account is enabled on the start date. ezOnboard emails it to their manager or an address set by your rules. Enable Temporary Access Pass in your authentication methods policy and provide an Exchange Online mailbox to send from.
- Which guide should we use for a hybrid directory?
- Use the Active Directory guide if your accounts sync to Entra ID through Entra Connect. The agent updates on-premises accounts and manages licenses and mailboxes in the cloud. It won’t change cloud attributes owned by Entra Connect. This guide covers cloud-only accounts.
Get a demo
See BambooHR connected to Entra ID
Get a demo for your BambooHR and Entra ID setup. For questions, email sales@ezonboard.io.