Appearance
Importing and Exporting
Truetask can import boards from eight other tools and from its own export format. Export any board as JSON for backup, migration, or sharing with another Truetask instance.
Exporting a Board
Export a board to a portable JSON file.
How to export
- Click the board title in the toolbar to open the board menu
- Click Export
- Optionally toggle Include automations to include automation workflows
- Click Export
The browser downloads a .json file named {board_name}_{date}.json.
What's included
| Data | Default | With Automations |
|---|---|---|
| Board name, settings, AI context | ✓ | ✓ |
| Lists (names, order, colors, categories) | ✓ | ✓ |
| Tasks (titles, descriptions, dates, positions) | ✓ | ✓ |
| Tags (names and colors) | ✓ | ✓ |
| Members (names, emails, roles) | ✓ | ✓ |
| Automation workflows | — | ✓ |
What's not included
Uploaded files (attachments, cover images) aren't copied into the export. Only their metadata is preserved, so links will not resolve on another instance.
Who can export
Board Owners and Admins only. Site Owners and Admins can export any board.
Importing a Board
Open the import dialog from the Import button in the sidebar, or via the Command Palette (Cmd/Ctrl+K).
The dialog walks you through three steps:
- Select a provider — choose the source platform
- Upload or paste data — provide the export file
- Configure options — map members, select the done list, and toggle provider-specific settings
Supported providers
| Provider | Format | Imports |
|---|---|---|
| Truetask | JSON | Lists, tasks, tags, members, automations, AI context |
| Trello | JSON | Lists, cards, labels, members, checklists, covers, attachments, custom fields, dates |
| Asana | CSV | Sections, tasks, tags, assignees, dates |
| Linear | CSV | Statuses, issues, labels, assignees, dates |
| Jira | JSON | Statuses, issues, labels, assignees, dates, priority / type metadata |
| GitHub Projects | TSV | Statuses, issues, assignees |
| Todoist | CSV | Sections, tasks, dates, priority |
| Notion | CSV | Statuses, pages, tags, owners, dates |
Member Mapping
Most providers include member or assignee data. During import, you can map each external member to an existing Truetask user.
- Mapped members are assigned to their tasks and added as board members
- Unmapped members are skipped — their tasks import without an assignee
- The importer is always added as the board Owner
Done List Selection
For providers with multiple lists or statuses, you pick which one represents completed tasks. That list is created with the done category, which enables automatic completion behavior:
- Tasks moved into a done list are marked complete
- Tasks moved out are marked incomplete
Some providers (like Linear) auto-detect done statuses — no manual selection required.
Provider Details
Truetask
Import from a previously-exported Truetask board. This is the most complete import path because the format matches the internal data model exactly.
How to get the file: Export from another Truetask instance (or the same one) via board menu → Export.
What's imported:
- Board name and AI context
- Lists with order, colors, descriptions, and categories
- Tasks with titles, descriptions, dates, positions, cover colors, completion status, and checklist counts
- Tags with original names and colors
- Watchers (in addition to members)
- Automations (optional, imported as inactive for safety)
Options:
| Option | Description |
|---|---|
| Done list | Which list represents completed tasks (auto-detected from export) |
| Include automations | Toggle to import automation workflows (on by default) |
| Map members | Match exported members to users on this instance |
Automations import as inactive
Automations are always imported disabled regardless of their source state. Review and activate them manually after verifying they work in the new board.
Trello
How to get the file: In Trello, go to Board Menu → More → Print and Export → Export as JSON.
What's imported:
- Board name
- Open lists (closed lists are skipped)
- Open cards with descriptions, labels, members, dates, and cover colors
- Labels (Trello's color palette mapped to hex)
- Checklists as checklist items on each task
- Custom fields (text, number, checkbox, date, and select types)
- File attachments and cover images (optional, requires Trello API credentials)
Options:
| Option | Description |
|---|---|
| Done list | Which list represents completed tasks |
| Map members | Match Trello members to local users |
| Import attachments | Download file attachments and cover images from Trello |
Attachments and cover images
Trello doesn't include files in the JSON export — only URLs pointing to Trello's servers. To download them you need Trello API credentials.
When the export has attachments, a toggle appears in the import dialog. Enabling it reveals two credential fields:
- API Key — find at trello.com/power-ups/admin
- API Token — generate by visiting this URL (replace
YOUR_API_KEYwith your actual key):
https://trello.com/1/authorize?expiration=30days&name=TrueTask+Import&scope=read&response_type=token&key=YOUR_API_KEYWhen attachment import is enabled:
- All uploaded files (images, PDFs, documents) are downloaded and linked to their tasks
- Card cover images are also copied as task cover images
- Cover colors (non-image covers) always import, regardless of this toggle
- Files exceeding 20 MB or with unsupported MIME types are skipped
- Failed downloads are skipped gracefully — the rest of the import continues
Token safety
The API Token is read-only and expires after 30 days. You can revoke it anytime from your Trello account settings.
Import time
Attachment downloads can significantly increase import time. The dialog remains open during the process.
Asana
How to get the file: In Asana, open the project, click the dropdown next to the name, and select Export/Print → CSV.
What's imported:
- Project name
- Sections become lists
- Tasks with descriptions (from Notes), assignees, tags, start and due dates
- Completion status (from the "Completed At" column)
Options:
| Option | Description |
|---|---|
| Done list | Which section represents completed tasks |
| Map members | Match Asana assignees (by email) to local users |
Linear
How to get the file: In Linear, go to Settings → Import/Export → Export, or use the API to export issues as CSV.
What's imported:
- Team name as board name
- Statuses become lists
- Issues with descriptions, labels, assignees, and due dates
- Done status auto-detected (statuses named "Done", "Completed", "Closed", or "Cancelled")
Options:
| Option | Description |
|---|---|
| Map members | Match Linear assignees (by email) to local users |
No done list selection needed
Linear auto-detects completed statuses. The import dialog skips the done list step.
Jira
How to get the file: Use the Jira REST API to export issues as JSON, or use a Jira export tool. The format should be { "issues": [...] } or a raw array of issue objects.
What's imported:
- Project key as board name (e.g.
PROJ-1→ board namePROJ) - Statuses become lists
- Issues with summaries, descriptions (plain text or Atlassian Document Format), labels, assignees, and due dates
- Issue type, priority, and key appended as metadata in the description
- Done status auto-detected from "Done", "Closed", or "Resolved"
Options:
| Option | Description |
|---|---|
| Done list | Which status represents completed tasks |
| Map members | Match Jira users (by email or account ID) to local users |
GitHub Projects
How to get the file: Open your GitHub Project board, select all rows, and copy the table. Paste into the import dialog, or save as .tsv.
What's imported:
- Project name as board name
- Statuses become lists
- Issues with titles and assignees
- Description built from the issue URL and metadata
Options:
| Option | Description |
|---|---|
| Done list | Which status represents completed tasks |
| Map members | Match GitHub usernames to local users |
Todoist
How to get the file: In Todoist, go to Settings → Backups and download a project backup CSV.
What's imported:
- Project name
- Sections become lists
- Tasks with descriptions, due dates, and priority levels
Options:
| Option | Description |
|---|---|
| Done list | Which section represents completed tasks |
Notion
How to get the file: In Notion, open a database, click … → Export → CSV.
What's imported:
- Database name as board name
- Values from the chosen status column become lists
- Pages with titles, descriptions, tags, owners, and due dates
Options:
| Option | Description |
|---|---|
| Group by | Which column to use as board lists |
| Done list | Which status represents completed tasks |
| Map members | Match Notion users to local users |
After Importing
When the import completes:
- A toast shows the number of lists, tasks, and tags created (plus attachment count, if applicable)
- You're automatically navigated to the new board
- All imported data is immediately editable
Review after import
Check member mappings, verify the done list is correct, and test any imported automations (they're inactive by default) before activating them.