DocSpring Blog

Migrating From Trello To Airtable

I’ve been using Trello for project management. Trello is alright, but Airtable is much more powerful and flexible. Airtable has a Kanban view that is similar to Trello, but you can also view all of your tasks in a compact spreadsheet. It’s easy to filter, sort, and group by different fields. You can show a calendar view with deadlines (or any other date field). You can easily add custom fields to your cards, and you can also set up “blocks” that display charts, a search form, or even a time tracker.

I wanted to import all of my current and archived Trello cards into Airtable. Trello’s CSV export would have made this easy, but you have to upgrade to their business plan before you can use it. The JSON export is free, so I wrote a script to convert the JSON into CSV.

Convert Trello JSON to CSV

I visited the Trello board and exported the data as JSON:

I only cared about these fields:

  • Name (name)
  • Description (desc)
  • Date of last activity (dateLastActivity)
  • Archived status (closed)
  • Trello ID (shortLink)

Here’s the Ruby script I used to parse the JSON and export CSV:

# Ruby 2.5.3
require 'json'
require 'csv'
json = JSON.parse(File.read('trello.json'))
cards = json['cards'].map do |card|
  card.slice('name', 'desc', 'dateLastActivity', 'closed', 'shortLink')
end

CSV.open(
  'trello.csv',
  'w',
  headers: cards.first.keys,
  write_headers: true
) do |csv|
  cards.each { |c| csv << c.values }
end

Some of my descriptions contain newline characters. These are not escaped, so some CSV rows have multiple lines between double quotes. This works fine when importing the data into Airtable, so you don’t need to worry about that.

Import CSV into Airtable

After converting the data to CSV, I opened Airtable:

  • Click the hamburger menu at the top left
  • Click “Import Spreadsheet”
  • Click “Choose a .CSV file”
  • Upload CSV

Now you will have a new table with all of your imported data:

Trello cards imported into AirTable

Set Field Types

I set up the date type for dateLastActivity, and Airtable converted the strings to dates and times:

Convert date format in Airtable

You can add a “Created Time” column in Airtable, but they don’t support “Updated Time”. Hopefully they’ll add support for this in the future. In the meantime, I won’t be using this dateLastActivity column.

To start using the Kanban view, I needed to add a Single Select column. I set up a new Status column, and copied all the true and false string values from closed. I clicked “Customize field type” for Status. I then renamed false to Todo, and true to Done.

Converting boolean values to select options

After this, I deleted the closed column, because I didn’t need it anymore.

Now I had a simple Kanban board working:

Airtable Kanban board

Airtable’s Kanban boards are really awesome. You can group cards by any field. You can set up a Kanban view where you drag-and-drop cards between different statuses (Todo, In Progress, Done). You can set up another Kanban view to change card priorities (Low, Medium, High, etc.) Or you can assign cards by dragging them between different developers.

Customize the Kanban Card Titles

I wasn’t happy with the Kanban card titles. The font was too large, and the text was truncated after a few words, so I couldn’t really see what the card was about. Other people had also raised this issue in the Airtable forums. There is no option to change this in the UI, so I hacked their CSS to make the font smaller and allow two lines for the title:

Airtable Fixed Kanban Card Titles

The custom CSS isn’t perfect, but it seems to work well enough. The cards have position: absolute, and they manually calculate the card position (top) with JavaScript, so it’s difficult to adjust the layout with CSS. Fortunately there was a lot of space between the cards, so there was some room to make the cards slightly taller.

If you want to use this custom style, you can install the Stylish browser extension:

Then install the “Airtable - Better Kanban Titles” style from userstyles.org.




I’ve just started using Airtable but I’m really impressed with it so far. I was a bit nervous to get started, because it sounded very complicated and I thought the learning curve would be very steep. But once you get a sense of what it can do, it’s really not too difficult to use.

I was starting to get a bit overwhelmed with all the cards in my Trello boards, so it’s really nice to have powerful search, sorting, filtering, and grouping. I’m using Airtable’s free plan for now, but I might upgrade to Pro so that I can start using some blocks. I might start using it as a CRM to track leads, and it’s a great alternative to Google Sheets. They have lots of interesting templates.

If you’ve been thinking about switching from Trello to something else, then you should take a look at Airtable.

Disclaimer: I have no affiliation with Airtable, but I’ve used DocSpring’s referral link in this post. Our account will get $10 in credit for every person that signs up.