Skip to main content
Cortex connects to many third-party vendors whose system interfaces frequently change. As a result, integration behavior or configuration steps may shift without notice. If you encounter unexpected issues, check with your system administrator or refer to the vendor’s documentation for the most current information. Additionally, integration sync times vary and are subject to scheduling overrides and timing variance.

Overview

BambooHR is a Human Resources Information System (HRIS) solution that allows you to define organizational membership. Integrate Cortex with BambooHR to automatically sync team memberships, giving you insight into entity ownership.

How to configure BambooHR with Cortex

Prerequisite

Before getting started, create a BambooHR API key.

Configure the integration in Cortex

  1. In Cortex, navigate to the BambooHR settings page.
    • Click Integrations from the main nav. Search for and select BambooHR.
  2. Click Add configuration.
  3. Configure the BambooHR integration form:
    • Subdomain: Enter your BambooHR subdomain.
      • This can be found in your app URL, e.g., subdomain.bamboohr.com.
    • API token: Enter your BambooHR API token.
    • Report ID: Optionally, enter a Report ID to filter the list of employees.
      • We recommend entering a Report ID if you have a custom BambooHR Report that has the authoritative list of active employees.
      • This value can be found in the app URL, e.g., subdomain.bamboohr.comreports/custom/New+Hires/REPORTID
    • Employee ownership field: Optionally, enter the ownership field name.
      • If left blank, Cortex defaults to finding the list of employees using their division followed by their department.
  4. Click Save.

How to connect Cortex entities to BambooHR

Import entities from BambooHR

See the Create teams documentation for instructions on importing entities.

Syncing ownership from BambooHR

Ownership of each catalog entity through BambooHR is defined through an owner of type group.
The YAML examples on this page show only the x-cortex-* block. When you add one to an entity descriptor, nest it inside the info section. Blocks at the root level of the file are ignored without an error. For a full example, see Defining entities with YAML.
The name should exactly match the team value Cortex reads from BambooHR. See Employee ownership field in Configure the integration in Cortex. Cortex syncs BambooHR teams every day at 6 a.m. UTC. You don’t need identity mappings for BambooHR teams. Cortex uses each member’s email address from BambooHR. To compare ownership sources, see the Ownership sources reference.

Using the BambooHR integration

Scorecards and CQL

With the BambooHR integration, you can create Scorecard rules and write CQL queries based on BambooHR teams. See more examples in the CQL Explorer in Cortex.
A special built-in type that supports a null check or a count check, used to enforce ownership of entities.Definition: ownership: Ownership | NullExampleAn initial level in a security Scorecard might include a rule to ensure an entity has at least one team as an owner:
List of owners, including team members and individual users, for each entityDefinition: ownership.allOwners()ExampleThe Scorecard might include a rule to ensure that entity owners all have an email set:
List of teams for each entityDefinition: ownership.teams(): List<Team>ExampleThe Scorecard might include a rule to ensure that an entity owners all have a description and are not archived:

View integration logs

This feature is available in Cortex cloud.
While viewing an integration’s settings page, select the Error logs tab to view errors from the last 7 days. You can filter the logs list by configuration and by operation (for example, you could filter to view errors surfaced only via Scorecards).
The 'Logs' tab on an integration's settings page shows error information over the past 7 days.
Click into a row to get more information, including time stamp, status code, full error, and request path.

Background sync

Cortex conducts an ownership sync for BambooHR teams every day at 6 a.m. UTC.

Still need help?

The following options are available to get assistance from the Cortex Customer Engineering team:
  • Email: help@cortex.io, or open a support ticket in the in app Resource Center
  • Slack: Users with a connected Slack channel will have a workflow added to their account. From here, you can either @CortexTechnicalSupport or add a :ticket: reaction to a question in Slack, and the team will respond directly.
Don’t have a Slack channel? Talk with your Customer Success Manager.
Last modified on October 21, 2026