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

Bulk Tag Ashby Candidates From a Google Sheet

2026-05-14
5 min read

The Scenario

Your sourcing team just wrapped a three-week campaign targeting backend engineers. 150 candidates entered Ashby during that window. Leadership wants all of them tagged "Pipeline-2026-Backend" so they're findable in future searches without having to rebuild the query from scratch.

Someone added a column to your sourcing tracker — column A has Ashby candidate IDs, column B has the tag name. The list has been sitting there for a week waiting for someone to act on it.

The bad version:

  • Open Ashby, search for candidate ID 1, navigate to their profile, find the Tags section, click "Add Tag," type the tag name, select it (or create it if it doesn't exist), save.
  • Search for candidate ID 2. Repeat.
  • By candidate 30 you notice the tag autocomplete is showing "Pipeline-2026-Backend" and "Pipeline-2026-backend" as two separate tags because someone typed it with a lowercase b the first time.

150 candidates at 90 seconds each is nearly four hours. And you end up with inconsistent tags anyway.

The Easy Way: One Prompt in SheetXAI

SheetXAI is an AI agent that lives inside your Google Sheet. It reads the sheet and applies tags in Ashby through its built-in integration — including creating the tag if it doesn't exist yet.

For each candidate ID in column A of this sheet, add the Ashby tag whose name is in column B to that candidate. Create the tag if it does not already exist.

SheetXAI works through all 150 rows, calls the Ashby tag endpoint for each candidate, and writes "Done" or the error into column C.

What You Get

  • Column C fills with "Done" for every successfully tagged candidate.
  • If the tag doesn't exist yet, SheetXAI creates it in Ashby before applying it.
  • Error rows show the reason — usually an invalid candidate ID — not a silent skip.
  • All 150 candidates get the same tag string, typed the same way, every time.

What If the Data Is Not Quite Ready

The tag names in column B have inconsistent capitalization

Before tagging, normalize all values in column B to title case. Then for each candidate ID in column A, add the normalized tag to that candidate in Ashby and write "Done" or error into column C.

Some candidates already have the tag and should be skipped

For each row in this sheet, check whether the Ashby candidate in column A already has the tag in column B. If they do, write "Already tagged" in column C and skip. If not, apply the tag and write "Done" in column C.

Each candidate needs multiple tags from different columns

For each row in this sheet, apply all three tags to the Ashby candidate in column A: the tag in column B, the tag in column C, and the tag in column D. Skip any tag column that is blank. Write "Done" or error into column E.

Validate candidates exist, normalize tags, and apply in one pass

For each row in this sheet, check whether a candidate with the ID in column A exists in Ashby. If not, write "Not found" in column C. For candidates that exist, normalize the tag in column B to title case, apply it to the candidate (creating the tag if needed), and write "Done" into column C.

The last prompt is the right one for any batch that came from multiple people entering data — it catches bad IDs and bad formatting before they get applied.

Try It

Get the 7-day free trial of SheetXAI and open any Google Sheet with a list of Ashby candidate IDs and the tags you want to apply, then ask it to run the whole batch in one go. See also the spoke on bulk importing candidates from a sourcing list, or return to the Ashby integration overview.

Stop memorizing formulas.
Tell your spreadsheet what to do.

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

Learn more