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

  1. Click Import in the board header.
  2. Open Or subscribe to a link that stays in sync and paste the URL of the file, then click Read link.
  3. Match your columns to Trello fields as you would for a normal import.
  4. Tick Keep this board in sync with the link.
  5. Choose the column that holds a stable id for each row.
  6. 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 sourceOn the board
A new rowA new card is created and stamped
A row whose fields changedThe card it created is updated in place
A row that disappearedThe card is archived, never deleted
A row that reappearsThe original card is reopened, not duplicated
A row that has not changedNothing 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.

Paste the link straight from your address bar. Kanban Importer converts the common ones into something the browser can read, so you do not have to know what a direct file URL is.

  • A Google Sheet works. Paste the ordinary sheet link, the one that ends in /edit. It is converted to a CSV export link for you, and the tab you were looking at is the tab that syncs. The sheet has to be shared so that anyone with the link can view it. A private sheet is refused, because the browser is reading it as an anonymous visitor rather than as you.
  • A file in a GitHub repository works. Paste the normal file page link and it is converted to the raw file. A raw or gist link you already have works as is, and editing the file in GitHub updates the source immediately.
  • A file on your own web server works if it sends an Access-Control-Allow-Origin header.
  • Dropbox, OneDrive and SharePoint do not work. None of them let another site read a file from a browser. Move the file to Google Sheets or GitHub. You get a message naming the problem rather than a generic failure.
  • The link has to be https. Plain http sources are refused up front, because the page's content security policy permits secure connections only.

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.