Bamboo Custom Report

Follow this walkthrough to create a Bamboo custom report for your Seismic Learning account

Hannah Walt avatar
Written by Hannah Walt
Updated over a week ago

In This Article

How to Create a Bamboo Custom Report

So you want to set up a Bamboo custom report! Here's what we need from you:

  • Your company's Bamboo subdomain

  • A read-only Bamboo API key

  • Your custom report ID

  • All report headers (preferably in the form of an Excel sheet)

The custom report needs to be built in Bamboo. This is where you'll add the required attributes and any additional attributes you want to sync.

The custom report ID can be found in the URL of a Bamboo custom report. It is likely a number in the hundreds such as 133 or 275.

How to Build a Bamboo Custom Report

During the report building process, you need to set a filter to only include active employees. This is a vital part of the process. If this filter is not included the information of terminated employees will carry over.

The filters can also include users from a given department, a certain location, or any number of other variables.

Required Column Headers in a Custom Report

Name. This column header can contain either a full name or a first and last name. If you want to use a full name, Seismic Learning maps this to the first name attribute on our end. If you want to use both first and last names, follow this format: Last Name, First Name. It's important that capitalization be strictly followed or users' names will fail to sync.

EEID. The EEID is a computed value in Bamboo. What this means is the value is present for every record, the customer cannot alter it, and it is unique for each employee. This makes it a safe ID to use as an external ID.

Email. This attribute must be present; without it we cannot create an account.

Important Note: Learning does not sync email addresses from multiple fields. If an employee has a home email address but not a work email address, and the sync is set up to check for work email, it will not see the home email and the user will not be created.

If a column cell is left blank, the corresponding field in Learning is updated to match. For example, suppose a user belongs to the Sales department. This information is added under a column titled Department. If, on a subsequent sync, 'Sales' is deleted and the Department column left empty, the user's Department field in Learning will also be empty (i.e., 'Sales' will be erased).

Optional Attributes

Learning can map any Bamboo field to a standard Learning field. The standard fields available are:

  • Role (options include "admin", "manager", "creator", "learner")

  • Job Title

  • Hire Date (must be formatted as YYYY-MM-DD)

  • Business Unit

  • Department

  • Location

  • Manager Name

Custom Attributes

Learning can map any additional attributes included in the custom report to custom fields.

Important Note: Custom fields only sync if they are mapped accordingly. For clearance purposes, a customer may need to reach out to Bamboo support if information is being sent via API.

Customer fields MUST match the following valid format:

{ "Report Name 1": "Custom Field Name 1", "Report Name 2": "Custom Field Name 2" }

The Report Name is what is returned from the API in the custom report. The Custom Field Name is what the company wants the name of the custom field to be in Learning.

Archiving Users via Bamboo Custom Report

Learning syncs all records present in the custom report. When a user is removed from the Bamboo report, this user is then archived in Learning.

When Does the Sync Run?

After you've provided the necessary credentials, and the sync has been successfully created, the integration will sync five times a day: at 7 am, 1 pm, 7 pm, 9 pm, and 1 am EST.

With each sync, any new users in the report are created in Learning, and any changes made to previous employee records are updated.

⏭️ Once you've built the custom report, please send the sample report, the header fields, the EEID number, the subdomain, a read-only API key, and the custom report ID to the Support team at

Did this answer your question?