The Scenario
The team lead spent Tuesday's planning session identifying blocking dependencies. The result: a two-column Google Sheet with 15 pairs of issue identifiers — the issue on the left blocks the issue on the right. Those relationships need to exist in Linear before engineers start pulling work, or someone is going to start a blocked task without knowing it.
The bad version:
- Open Linear, search for the first issue in column A, open the ticket, scroll to the "Relations" section, click "Add relation," select "blocks," search for the issue in column B, confirm.
- Go back to the sheet, read the next pair, navigate to Linear, search for the first identifier again.
- Fifteen pairs. Each one requires two separate searches and five clicks. By pair 8 you're not certain whether you selected "blocks" or "is blocked by" — the dropdown labels are easy to confuse under time pressure.
A single wrong direction on a blocking relationship sends an engineer down a dead-end for half a sprint.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent that lives inside your Google Sheet. It reads each pair of identifiers from your sheet and creates the relationship in Linear — directional, accurate, and in bulk.
Create a "blocks" relationship in Linear between each pair of issue identifiers in columns A and B of this sheet
What You Get
- 15 blocking relationships created in Linear, each correctly directional — column A blocks column B.
- Pairs where either identifier doesn't exist in the workspace surface as warnings.
- A confirmation summary with the count of relationships created and any errors.
What If the Data Is Not Quite Ready
The relationship type varies by row
Some pairs are "blocks," some are "duplicates." Column C holds the relationship type.
For each row in this sheet, create a Linear relationship between the issue in column A and the issue in column B using the relationship type in column C (blocks, duplicate, or related)
Some pairs are in the wrong order
You want to double-check before committing — write the relationship descriptions back into the sheet first.
For each row in this sheet, write a description in column C of what the relationship would be: "Issue in column A blocks issue in column B" — do not create any relationships yet
Duplicate relationships need to go both ways
Marking an issue as a duplicate should link it in both directions.
For every row in this sheet where column C says "duplicate", create a duplicate relationship in Linear between the issue in column A and the issue in column B in both directions
Full dependency map with validation and writeback
Validate that all identifiers exist, create the relationships, and log the outcome.
For each row in this sheet: check that both the issue in column A and the issue in column B exist in Linear — if both exist, create a "blocks" relationship; if either is missing, write "not found" in column C; if the relationship was created, write "linked" in column C
The sheet becomes a verified dependency map, not just a list of intentions.
Try It
Get the 7-day free trial of SheetXAI and open any Google Sheet with pairs of Linear issue identifiers and the relationship type between them — then ask it to create all the relations at once. If you're also loading these issues into a sprint, the assign-to-active-cycle guide covers that next step.
