The Scenario
The engineering team renamed their label taxonomy three weeks ago. "tech-debt" became "refactor." "needs-design" became "design-review." The decision was made in a Notion doc. What nobody scoped was the cleanup: 40 existing Linear issues still have the old labels. The identifiers are all in a Google Sheet from a previous export.
The bad version:
- Open Linear, search for the first issue identifier, open the ticket, find the labels section, click the X on "tech-debt," click "Add label," type "refactor," select it, save.
- Go back to the sheet. Repeat for the next 39 issues.
- Forty tickets at five clicks each is 200 clicks, and you are going to mistype a label name at least once and accidentally create a new label called "re-factor" that will need to be cleaned up later.
This is not a high-skill task. It is a high-volume task disguised as one. The engineer who got assigned the cleanup is not happy about it.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent that lives inside your Google Sheet. It reads the issue identifiers from your sheet and applies the label changes across all of them through Linear's integration — add, remove, or both, in bulk.
Remove the label "tech-debt" from every Linear issue listed in column A and add the label "refactor" to each one
What You Get
- All 40 issues updated — "tech-debt" removed, "refactor" added.
- Issues where "tech-debt" wasn't present still get "refactor" added without failing.
- Identifiers that don't exist in the workspace surface as warnings.
- A completion summary with the count of issues updated.
What If the Data Is Not Quite Ready
Different rows need different label swaps
The taxonomy change wasn't just one label. Column B has the old label and column C has the new one.
For each issue identifier in column A: remove the label in column B and add the label in column C in Linear
Some issues need a label added without removing anything
A subset of issues in the sheet just need a new label attached — no removal.
For every row in this sheet where column D says "add-only": add the label in column C to the Linear issue in column A without removing any existing labels
You need to confirm which labels each issue has before making changes
Before running the swap, you want to see the current state.
For each Linear issue identifier in column A, write its current labels into column B — do not make any changes yet
Full taxonomy migration in one shot
Handle multiple swap rules, filter by current label state, and log the outcome.
For each row in this sheet: check the Linear issue in column A — if it has the label in column B, remove it and add the label in column C; if it does not have the label in column B, just add the label in column C — write "updated" or the error message into column D
The sheet doubles as a migration log once the run completes.
Try It
Get the 7-day free trial of SheetXAI and open any Google Sheet with a list of Linear issue identifiers and label changes — then ask it to apply all the label swaps at once. If you also need to archive some of these issues after re-tagging, the bulk-archive guide covers that next step.
