Keeping a board in sync with a file
Subscribing points a board at a file URL instead of importing once. On each sync, new rows become cards, changed rows update the card they created, and rows that disappear are archived rather than deleted. Cards you edit in Trello are left alone unless their source row changed.
Importing copies a file into a board once. Subscribing points the board at a file that lives on the web, and keeps the two matched every time you sync.
Setting it up
- Click Import in the board header.
- Open Or subscribe to a link that stays in sync and paste the URL of the file, then click Read link.
- Match your columns to Trello fields as you would for a normal import.
- Tick Keep this board in sync with the link.
- Choose the column that holds a stable id for each row.
- Click Save and sync.
From then on, opening the import window on that board shows what a sync would do before you touch anything.
The id column is the important part
Each card is stamped with the id of the row that created it. That stamp is what makes the second sync update a card rather than create a second copy of it.
The id has to stay the same for a row even when everything else about it changes. A row number is a poor choice because inserting a row above shifts everything. A ticket reference, a UUID, or any column you never edit is a good choice.
Rows without an id are skipped and reported, never guessed at.
What each sync does
| In the source | On the board |
|---|---|
| A new row | A new card is created and stamped |
| A row whose fields changed | The card it created is updated in place |
| A row that disappeared | The card is archived, never deleted |
| A row that reappears | The original card is reopened, not duplicated |
| A row that has not changed | Nothing at all |
Your edits on the board are safe
Sync records what it last wrote to each card. If the source row has not changed since then, the card is left alone, even if it no longer matches the source.
That means renaming a card, dragging it to another list, adding members, writing comments or ticking off checklists all survive. A sync only overwrites a field when the row behind it genuinely changed.
Card position, comments, attachments and members added in Trello are never touched by sync at all.
What the link has to be
A direct URL to the file that a browser is allowed to read. That last part matters more than it sounds.
- A GitHub raw link works. So does a gist raw link. Both allow browser access, and editing the file in GitHub updates the source immediately.
- A Google Sheets published link does not work. Google sends no cross origin header on its published CSV URLs, so the browser refuses to read it. This is a Google decision, not a Trello or Kanban Importer limitation.
- A file on your own web server works if it sends an
Access-Control-Allow-Originheader.
If a link cannot be read you get a plain message saying so rather than a failure part way through a sync.
Limits worth knowing
Sync runs when you ask it to, from the import window. It does not run in the background while nobody has the board open.
Checklists, the first comment and the attachment link are written when a card is created and are not updated afterwards. Diffing checklist items against a list somebody has been ticking off would either lose their progress or fight them for it.
Unsubscribing stops the syncing and leaves every card exactly where it is.