Back to BambooHR in Excel
SheetXAI logo
BambooHR logo
BambooHR · Excel Guide

Bulk Create BambooHR ATS Candidates From an Excel workbook

2026-05-15
5 min read

The Scenario

You are the talent acquisition specialist who just returned from a three-day recruiting conference. You sourced 60 candidates — names, emails, phone numbers, and the job opening ID they matched to — captured in an Excel workbook your assistant put together from the sign-in sheets and business cards.

The recruiter owning these roles wants the candidates in BambooHR ATS by tomorrow morning so the team can start outreach before the conference window closes.

The bad version:

  • Open BambooHR ATS, navigate to job opening 1, click "Add Candidate," fill in name, email, phone, save.
  • Navigate to job opening 2 for the next candidate.
  • Twenty minutes in, realize you submitted five candidates to the wrong job opening — the column in Excel had two job IDs and you read from the wrong one.
  • Delete five records, recreate them, resume.

Sixty candidates at that pace is three hours — and these are warm leads, not cold outreach. The window is short.

The Easy Way: One Prompt in SheetXAI

SheetXAI is an AI agent that lives inside your Excel workbook. It reads each row, matches the candidate to the right BambooHR job opening by ID, and creates the ATS record directly.

Read the Excel table 'CareerFairCandidates' and create one BambooHR ATS candidate per row using FirstName, LastName, Email, Phone, and JobID columns; write the candidate ID into 'CandidateID'.

SheetXAI processes every row in the CareerFairCandidates table, creates each candidate record in the specified job opening, and writes the resulting candidate ID into the CandidateID column.

What You Get

  • One BambooHR ATS candidate record per row, linked to the correct job opening.
  • CandidateID column populated for each successful creation.
  • Failures (invalid job ID, duplicate email) surface an error in CandidateID instead of a silent skip.
  • The workbook is your sourcing audit trail.

What If the Data Is Not Quite Ready

Some candidates were interested in two roles — two job IDs in the JobID column separated by a comma

For each row in CareerFairCandidates where JobID contains a comma, create one BambooHR ATS application per job ID. Write all returned candidate IDs into CandidateID separated by commas.

Some emails appear more than once

Before creating records, check the Email column for duplicates. Write 'duplicate' in CandidateID for any repeated email. Create records only for the first occurrence of each email.

Phone numbers are in inconsistent formats from the sign-in sheets

Before creating records, normalize all values in the Phone column to E.164 format (+1XXXXXXXXXX), then create the BambooHR ATS candidates.

Full dedup-normalize-and-create in one pass

In the CareerFairCandidates table: flag duplicate emails in CandidateID and skip them. Normalize Phone to E.164 format. Skip rows where Email is empty. For all remaining rows, create BambooHR ATS candidate records and write the candidate ID into CandidateID or any error into a Status column.

The pattern: data quality checks and the API write happen in a single instruction.

Try It

Get the 7-day free trial of SheetXAI and open your sourcing workbook, then ask it to create the BambooHR ATS records. You can also pull the full ATS pipeline after creation to confirm all candidates landed in the correct job openings.

Stop memorizing formulas.
Tell your spreadsheet what to do.

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

Learn more