Guide

Import a backlog

Start from the backlog you already have. Turn an Excel or Google Sheets export into a live, agent-ready board in seconds — no re-entry, no lock-in.

How import works

Point tix import at a .xlsx or .csv export. The header row becomes the board schema — each column's field type is inferred (text, number, date, select, checkbox) — and every data row becomes a seed ticket. A status/state/stage column maps to board columns; otherwise a Backlog / In progress / Done workflow is used.

1 · Dry-run the file

Parse locally first. --dry-run prints the detected columns, inferred types, and the schema it would create — no credential, no network, nothing written:

tix import --dry-run
tix import --from sheet backlog.xlsx --dry-run

2 · Create the board

Happy with the detected shape? Run it for real (this needs your TIX_API_KEY). Name the board and pick which column is the ticket title:

tix import
tix import --from sheet backlog.xlsx \
  --name "Q3 Migration" \
  --title-col "Summary"

Mapping columns

Override the inferred mapping when you want a specific field key for a header — repeat --map per column — and name the status column explicitly if it is not auto-detected:

Forcing a mapping
tix import --from sheet backlog.csv \
  --title-col "Title" \
  --status-col "State" \
  --map severity="Priority" --map surface="Area"

No lock-in, either direction

Import brings a spreadsheet in; tix board schema --yaml and markdown export take the work back out. The board is a place the work lives while it moves, not a vault it gets trapped in.

After import

You now have a typed board seeded with your existing tickets — ready for an agent to drive and a team to watch. Refine the schema with typed fields, wire up dependencies, then connect an agent.