---
title: Importing and exporting tasks and boards
id: boards.import-export
description: "Download your tasks or boards as a CSV file from the Actions menu, and import a file with the same columns to create or update them."
lastUpdated: 2026-10-16
order: 16
---

Who can do this: team leaders, administrators and owners.

## What it does

The Actions menu at the top of the Tasks and Work Boards lists, beside the create button, holds Import and Export.

Export writes tasks or boards to a CSV file. Selected takes the ones you ticked. All Matching takes the ones your search and filters match. Everything takes all of them. Selected and Everything export in the list's sort, and All Matching exports in the list's default order. On the Tasks list, Export also offers Notes. It writes one row per note on those tasks, oldest first within each task, with its author and its text. Lucrii skips a task with no notes. [Exporting orders](/docs/orders/import-export.md) lists the Notes file's columns, and Lucrii doesn't import a Notes file.

The export runs in the background. When the file is ready, a message and an email tell you. Download in the message gets the file. View Job opens the job in Bulk Activity, which has the download too.

A tasks file has the columns `id`, `task_reference`, `board`, `column`, `title`, `description`, `status`, `priority`, `owner_email`, `team`, `due_date`, `tags`, `watcher_emails`, `parent_type` and `parent_id`. A boards file has `id`, `name`, `description`, `team`, `team_default`, `columns` and `collapsed_columns`.

A tasks file also has `task_number`, `parent`, which gives the parent's name, and `completed_at`. A boards file also has `column_count`. Both end with `created_at` and `created_by`, then `updated_at` and `updated_by`, in your organisation's time zone. These columns are for reading. [Importing and exporting contacts](/docs/contacts/import-export.md) explains them, the headings and the rows Lucrii skips.

A tasks file can leave out any column except `id`, `title`, `status`, `priority` and `team`. A boards file can leave out any but `id` and `name`. Lucrii refuses a file that lacks one of them, names a column twice or has a heading it does not read. A column left out keeps its field as it is. A heading can be a column's name or its label. Download Template in the import window gives you every column the import reads.

Before Lucrii saves anything, Check File counts the new records, the updates and the rows with errors. It reads like 3 new tasks, 2 updates and 1 row with errors. It also lists the values the file clears. Check File counts a row that doesn't change its task or board as neither new nor an update, and Lucrii skips it. Check File says so, as in "4 rows change nothing, so Lucrii will skip them." Download Errors gives you every row with errors. Import then saves the other rows. Closing the window before you select Import cancels the check. So does a reload or a closed tab.

On these lists, Export opens on All Columns. Choose Columns keeps the columns the import needs ticked, and you can't untick them. In a tasks file, choosing Column writes Board too. You can change the file in a spreadsheet and import it straight back. Imported back unchanged, it doesn't change or clear anything.

## Before you start

Exporting is for a team leader or above. Importing is for an administrator or above. Below that, the Actions menu leaves those items out.

One import runs at a time in an organisation, whatever it imports. [Importing and exporting contacts](/docs/contacts/import-export.md) says what shows when you start a second.

A file can be up to 25 MB, 50,000 rows and 1,024 columns. A file with more than 128 columns has a lower row limit, and Lucrii says how many fit when it refuses one. A column name can be up to 128 characters. Lucrii refuses a file with a header row and no data rows as you choose it, before anything is uploaded.

Lucrii refuses a row with a cell longer than its column allows, or with more than 250 tags or watchers in one cell. [Importing and exporting contacts](/docs/contacts/import-export.md) says more.

You can have three jobs in progress at once, counting bulk actions and exports together. [Quotes, sales orders and purchase orders](/docs/orders/overview.md) says how the limit works.

A blank cell does one of four things, depending on the column:

- A blank `title`, `status`, `priority` or `team` in a tasks file is a problem. So is a blank `name` in a boards file. Lucrii does not save that row.
- A blank `id` in a tasks file creates a task. A blank `id` in a boards file matches the board by its name.
- A blank `board` takes the task off its board, and a blank `column` puts it in its board's default column. In a file without `board`, a blank `column` leaves the task where it is. A blank `columns` leaves a board's columns as they are, and is a problem only on a new board.
- A blank `task_reference`, `description`, `owner_email`, `due_date`, `tags` or `watcher_emails` in a tasks file clears that value. So does a blank `description`, `team`, `team_default` or `collapsed_columns` in a boards file. Check File counts what the file clears before you import it.

In a tasks file:

- A row with an `id` updates that task. A row without one creates a task.
- `status` is one of assigned, in_progress, on_hold or completed, and `priority` one of low, medium, high or urgent.
- A task created in a column that sets a status, or moved to one, takes that column's status. A `status` cell with a different status is a problem, unless it repeats the status the task already had.
- `due_date` is written as YYYY-MM-DD. It cannot be before today, unless the task is already due that day.
- `board` and `team` are matched by name, `owner_email` by the email of a member, and `column` by its title on that board. A `column` needs its `board` beside it.
- A `team` naming the task's own team keeps it, even after that team was deleted. A `board` naming the task's own board keeps it, even when another board shares its name.
- When two columns on a board share a title, a `column` naming the title of the task's own column keeps the task where it is. A file without a `column` column keeps each task in its column on the board its row names.
- Tags in `tags` are separated by `|`, and the cell becomes the task's whole list of tags.
- `watcher_emails` lists the task's watchers, separated by `|`, and becomes the task's whole list of watchers. Each email must belong to a member. A watcher already on the task stays while the cell names them, even after they leave your organisation.
- `parent_type` is order, item, contact, location or task, and `parent_id` is that record's ID. Fill both to link the task to that record, or leave both blank to take its parent away. Lucrii refuses a row that fills one without the other.

In a boards file:

- A row with an `id` updates that board, and its `name` can rename it. A row without an `id` matches the board by its `name`, and creates one when none matches.
- `columns` lists the board's columns in order, separated by `|`, as in `New: Assigned|Doing|Done: Completed`. A column that sets a status is followed by a colon and one of Assigned, In Progress, On Hold or Completed.
- A `|`, `:` or `\` in a column's title is written with a `\` before it, as in `Waiting\: Parts`, in `columns` and in `collapsed_columns`.
- A board that already exists keeps every column it has, with its settings. The file adds the columns the board lacks. It puts the ones it names first, in its order.
- A board holds at most 12 columns.
- `team_default` says yes to make the board its team's default. Leave it blank or say no to take the default away. A file without `team_default` leaves each board's default as it is. A default board needs a team, and one team can have only one default in a file.
- `collapsed_columns` names the columns shown collapsed, separated by `|`. Every other column shows expanded, and a blank cell expands them all.
- A `team` naming the board's own team keeps it, even after that team was deleted.
- To copy a boards file into another organisation, blank its `id` cells first.

## How to use it

1. Open Tasks or Work Boards.
2. Select Actions.
3. Select Export, choose what to include, and start the export.
4. When the file is ready, download it from the message or from the job in Bulk Activity.
5. To bring a file in, select Import, drop or choose the file, select Check File, read what it will change, and select Import.

## Troubleshooting

The import says "Use the template's columns." The message lists the columns to add, the ones to remove, the ones to keep once and the ones to shorten. Fix the file's first row, or select Download Template in the import window and copy your rows into it.

A row is reported as a problem. The message gives the cell and one of the reasons below.

- A blank `title`, `status`, `priority`, `team` or `name`, or a blank `columns` on a new board.
- A team, board, column or member that does not exist by that name, or two boards or teams sharing a name.
- A status that differs from the one its column sets.
- A date in the wrong form.
- An `id` no task or board has, or the same `id` on two rows.
- A board with no columns yet.
- A `parent_type` without a `parent_id`, or the other way round. The message reads "Name the parent's type and ID together."

A `column` with a blank `board` reports "Name the board the column is on." Fill in the board's name beside it.

A boards row reports "No board has the ID 12." The board was deleted, the ID came from another organisation's file, or the ID has a typing mistake. Blank the `id` cell, and the row matches a board by its `name` or creates one.

A board name can appear on only one row without an `id`. Otherwise the row reports a message such as "Row 4 names "Studio", which another row in this file also names." Keep one row for each board.

A boards row reports "Only one board can be the "Studio" team's default." Say yes in `team_default` on one row for that team.

## Related

- [Bulk actions on tasks and boards](/docs/boards/bulk-actions.md): Tick tasks or boards in a list, or select cards on a board, then edit, move or delete them together after a check of which ones will change.
- [Work boards and tasks](/docs/boards/overview.md): Browse your work boards and every task in two tabs, each with saved views, bulk actions and a create button.
- [Creating and editing a task](/docs/boards/tasks-create.md): Create a task with a title, a due date, a priority and a place on a board, and change any of it later from the same form.
- [Creating a work board](/docs/boards/work-boards-create.md): Create a work board with a title, a description and the team that decides who can change it.
- [Bulk Activity](/docs/settings/bulk-activity.md): See the imports, exports and changes to many records at once that your role shows you, and what happened to each record.

## Changes

- [Assignee and an All view on order and task lists](/changelog/2026-10-16#2026-10-16-assignee-and-an-all-view) - 2026-10-16
- [Bulk actions with Hermes](/changelog/2026-10-16#2026-10-16-bulk-actions-with-hermes) - 2026-10-16
- [Export file names and sort order](/changelog/2026-10-16#2026-10-16-export-file-names-and-sort-order) - 2026-10-16
- [Exports that import back](/changelog/2026-10-16#2026-10-16-exports-that-import-back) - 2026-10-16
- [Field lengths and tag limits](/changelog/2026-10-16#2026-10-16-field-lengths-and-tag-limits) - 2026-10-16
- [Importing and exporting tasks and boards](/changelog/2026-10-16#2026-10-16-importing-and-exporting-tasks-and-boards) - 2026-10-16
- [More columns in the files an import reads](/changelog/2026-10-16#2026-10-16-more-columns-in-import-files) - 2026-10-16
- [Notes, payments and fulfilments in exports](/changelog/2026-10-16#2026-10-16-notes-payments-and-fulfilments-in-exports) - 2026-10-16
- [One drop area for import files](/changelog/2026-10-16#2026-10-16-one-drop-area-for-import-files) - 2026-10-16
