The Scenario
Your sourcing team 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 are findable in future searches without rebuilding the query each time.
Your coordinator built the list: an Excel workbook with Ashby candidate IDs in column A and the tag name in column B. It has been sitting there for a week.
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, 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 Excel workbook. It reads the workbook and applies tags in Ashby through its built-in integration — including creating the tag if it does not exist yet.
Read the TaggingList table — column A is the Ashby candidate ID, column B is the tag title. Apply each tag to the corresponding candidate in Ashby and write 'Done' in column C.
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 does not exist yet, SheetXAI creates it before applying it.
- Error rows show the reason — usually an invalid candidate ID.
- All 150 candidates get the same tag string, typed the same way, every time.
What If the Data Is Not Quite Ready
Tag names in column B have inconsistent capitalization
Before tagging, normalize all values in column B of the TaggingList table 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 the TaggingList table, 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 the TaggingList table, 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 the TaggingList table, 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 column B to title case, apply the tag (creating it if needed), and write "Done" into column C.
Try It
Get the 7-day free trial of SheetXAI and open any Excel workbook 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.
