Back to BambooHR in Google Sheets
SheetXAI logo
BambooHR logo
BambooHR · Google Sheets Guide

Pull Incremental BambooHR Employee Changes Into a Google Sheet for IT Provisioning

2026-05-15
5 min read

The Scenario

You are the IT admin and there is a new-employee provisioning script that runs every night. It reads a Google Sheet — specifically the rows added since the last run — and provisions accounts in five different systems for each new hire.

The handoff from HR is BambooHR. But the sheet only captures records when someone remembers to update it manually, which they don't always do.

Three weeks ago a new hire showed up on day one with no laptop access, no email, and no Slack because the provisioning script missed her. HR had created the BambooHR record but never updated the sheet.

The bad version:

  • Export the BambooHR employee directory, open it in Sheets, and manually compare it against last week's snapshot to find new rows.
  • Do the same for terminations — look for employees who were in last week's export but aren't in this one.
  • Update column by column in the provisioning sheet.
  • Miss someone because the export timestamps are unreliable and you're doing the diff by eye.

This is a process that fails at the exact moment it matters most — the night before someone's first day.

The Easy Way: One Prompt in SheetXAI

SheetXAI is an AI agent that lives inside your Google Sheet. It reads the sheet, connects to BambooHR, and pulls only the records that changed since a given timestamp — new hires, updates, and terminations — in one query.

Fetch all BambooHR employees changed since the timestamp in cell B1 and write employee ID, name, email, department, and change type (insert/update/delete) into this sheet.

SheetXAI calls BambooHR's changed-employees endpoint using the timestamp in B1, pulls every record created, modified, or terminated since that point, and writes them into the sheet with a change type column so the provisioning script knows what action to take.

What You Get

  • Only the employees who changed since the timestamp in B1 — not the full directory.
  • Change type column: insert for new hires, update for modified records, delete for terminations.
  • Columns: employee ID, name, work email, department, change type.
  • The sheet's B1 timestamp can be updated automatically after each run to capture only the delta next time.

What If the Data Is Not Quite Ready

You want to split new hires and terminations into separate tabs

The provisioning script reads from different tabs depending on whether it is creating or deprovisioning.

Fetch all BambooHR employee changes since the timestamp in cell B1. Write new hires (change type 'insert') into the 'Provision' tab with columns employee ID, name, email, department. Write terminations (change type 'delete') into the 'Deprovision' tab with employee ID, name, email.

Some updated records have changed departments and need a flag

When an employee moves departments, they may need different system access than their current provisioned state.

Fetch all BambooHR employee changes since cell B1. For update-type records, check if the department field changed. If it did, write 'dept-change' in a 'Notes' column. Write all changes into this sheet.

The timestamp in B1 is stale — you want to use last row's timestamp instead

The sheet already has a run log. The most recent timestamp is always in the last filled row of column D.

Fetch all BambooHR employee changes since the timestamp in the last non-empty cell in column D. Write the results into this sheet starting below the current data. Write the current timestamp into the next row in column D.

Full delta pull, split, flag, and timestamp update in one prompt

Fetch all BambooHR changes since the timestamp in cell B1. Write new hires into the 'Provision' tab and terminations into the 'Deprovision' tab. For any update with a department change, write 'dept-change' in the Notes column of the Provision tab. After writing, update cell B1 to the current timestamp.

The pattern: the BambooHR query, the conditional routing, and the state update all happen in one instruction.

Try It

Get the 7-day free trial of SheetXAI and open your IT provisioning sheet, then ask it to pull the BambooHR change log since your last sync. You can also pull the full employee directory if you need to rebuild the baseline after a schema change.

Stop memorizing formulas.
Tell your spreadsheet what to do.

Join 4,000+ professionals saving hours every week with SheetXAI.

Learn more