Import from other systems
The import copies a project from another system into a new TaskView project in the current organization. Nothing is changed in the source system, and the copy is not kept in sync afterwards.
Supported sources: Trello, Todoist, Jira Cloud and Jira Data Center / Server.
Who can import
Only owners and admins of the organization can open the import page and start an import, the same people who can create projects. Each import is visible only to the person who started it. Imports can't be started with API tokens.
Running an import
Open Import in the sidebar and follow the four steps:
- Connect. Pick the source.
- Trello: click Connect Trello and allow read-only access in the pop-up window. If your server has no
TRELLO_API_KEY(see below), or you prefer it, paste a Trello API key and token instead. - Todoist: paste your personal API token from Todoist Settings → Integrations → Developer.
- Jira Cloud: enter your site address (
https://your-company.atlassian.net), your Atlassian account email and an API token created at id.atlassian.com → Security → API tokens. Use a classic token (Create API token); tokens with scopes are not supported. - Jira Data Center / Server: enter the Jira address as you open it in the browser (a context path like
https://example.com/jirais kept) and a personal access token from Profile → Personal Access Tokens. Requires Jira 8.14 or later.
- Trello: click Connect Trello and allow read-only access in the pop-up window. If your server has no
- Project. Pick one of the boards or projects your account can see.
- Settings. Check the summary, choose how the source structure is mapped, and match people from the source project with organization members.
- Import. The import runs in the background with a live progress bar. You can leave the page and come back: the result stays in Recent imports.
What is imported
Trello
| Trello | TaskView |
|---|---|
| Board | New project with the board's name and description |
| List | Kanban column (default) or project list |
| Card | Task, in the same order as on the board |
| Checklist item | Subtask (default) or a checklist in the task note |
| Label | Tag with a matching color |
| Card members | Assignees, for members you matched |
| Start date, due date | Start date, end date |
| "Due date complete" | Completed task |
| Description (Markdown) | Task note |
| Comments | Appended to the task note with author and time (can be turned off) |
| Uploaded files | Task files (can be turned off) |
| Attached links | Links in the task note |
| Card link | Source link on the task |
Archived cards and lists are skipped by default. With Import archived cards and lists turned on, archived cards are imported as completed tasks.
Todoist
| Todoist | TaskView |
|---|---|
| Project | New project with the project's name and description |
| Section | Kanban column (default) or project list. Tasks without a section stay in Backlog |
| Task, sub-task | Task, subtask |
| Label | Tag with a matching color, only for labels used in the project |
| Priority p1 / p2 / p3 / p4 | High / medium / low / no priority |
| Due date | End date |
| Recurring due date | The current date, plus a "Repeats: …" line in the note |
| Assignee | Assignee, for people you matched |
| Description (Markdown) | Task note |
| Comments | Appended to the task note with author and time (can be turned off) |
| Files in comments | Task files (can be turned off); external files become links in the note |
| Task link | Source link on the task |
Completed tasks are imported by default, with their whole history, as completed tasks. Turn off Import completed tasks to import only open tasks. Deadlines, durations and reminders are not imported, and recurring tasks don't repeat in TaskView.
Jira Cloud and Jira Data Center
Both Jira sources map the same way. Jira Cloud descriptions and comments are converted from Atlassian Document Format, Data Center ones from wiki markup.
| Jira | TaskView |
|---|---|
| Project | New project with the project's name and description |
| Statuses of the project | Kanban columns, ordered To Do → In Progress → Done |
| Issue in a Done-category status | Completed task, completed at the resolution date |
| Epic | Project list holding the epic and its issues (default), or a parent task with the issues as subtasks |
| Sub-task | Subtask |
| Label | Gray tag, only for labels used in the project |
| Priority Highest, High, Blocker, Critical | High |
| Priority Medium, Major | Medium |
| Priority Low, Lowest, Minor, Trivial | Low; other priority names become no priority |
| Due date | End date |
| Assignee | Assignee, for people you matched |
| Description | Task note |
| Comments | Appended to the task note with author and time (can be turned off) |
| Attachments | Task files (can be turned off); images embedded in the text are imported only as files |
| Issue link | Source link on the task |
Done issues are imported by default. Turn off Import done issues to import only issues that are not in a Done-category status. Sprints, custom fields, components, issue links, worklogs and reporters are not imported. On Data Center, epics come from the Jira Software Epic Link field; without Jira Software there are no epics and every issue is a plain task.
The people to match are the assignees of the project's issues. Jira Cloud often hides their emails, so pick members by name.
Jira Data Center on a private network
The server refuses Jira addresses on loopback, private and link-local networks, and never follows redirects. If your Jira and TaskView run on the same internal network, set IMPORT_ALLOW_PRIVATE_URLS=true in the API environment, see environment variables. Never enable it on a public multi-tenant instance.
People
TaskView doesn't match people automatically. On the Settings step you pick an organization member for each board member, Todoist collaborator or Jira assignee, or leave Do not assign. Personal (not shared) Todoist projects have no collaborators, so this step is empty for them. Matched members are added to the new project with the executor role. Only members of the current organization can be selected.
Files
Uploaded files are downloaded from the source and stored like any other task file:
- they count toward the organization's file quota;
- files larger than the server's per-file limit are skipped;
- if file storage isn't configured on the server, files are skipped and the result says so.
Each skipped file is listed in the import result. A skipped file doesn't fail the import.
If something goes wrong
- If the import fails or is cancelled before all tasks are created, the new project is deleted, so you never end up with a half-filled project.
- If it is cancelled while files are uploading, the project and all tasks stay, and the files that weren't uploaded yet are skipped.
- If the server restarts during an import, the import is marked as interrupted within about seven hours. Start it again.
Running the same import twice creates two separate projects.
Limits
- One import at a time per user. Starting another while one is queued or running is refused until the first finishes.
- At most 10 successful connections to a source per user per hour.
- A project is imported only if it produces at most 50,000 tasks. For Trello that is cards plus checklist items, with at most 20,000 cards and 50,000 comments. Larger projects fail with a "too large" message before any project is created.
- Todoist comments are read one task at a time, so large Todoist projects with comments take longer to read before tasks start appearing.
- Jira returns comments together with the issues; an issue whose comment thread Jira cuts short is read with one more request.
- An import runs for at most 6 hours.
Server setup: one-click Trello connection
Without any configuration, users connect Trello by pasting their own API key and token. The import page explains how to get them.
To enable one-click connection for everyone on your instance:
- Open the Trello Power-Up admin page at https://trello.com/power-ups/admin and create a Power-Up.
- On its API key tab, generate an API key.
- In Allowed origins, add the origin of your TaskView web app (for example
https://tasks.example.com). - Set the key in the API environment and restart the API:
TRELLO_API_KEY=your-power-up-api-key
In the pop-up, TaskView asks Trello for a read-only token that expires after one day. Todoist has no server setup: users always paste their own API token. A Todoist personal token grants full access to the account; TaskView only reads with it. Any token, from the pop-up or pasted, is stored encrypted only while the import is being prepared or running, and is deleted when the import finishes. Abandoned drafts are removed after 24 hours.
Telegram & Slack Setup
Connect Telegram and Slack to TaskView to receive task notifications. Personal direct messages and project-wide group channels, with instance-level bot credentials, OAuth, signed inbound webhooks, and SHA-256 hashed binding tokens.
Environment Variables
Complete reference for TaskView environment variables - database connection, JWT authentication, OAuth providers, SMTP email, GitHub/GitLab integration, encryption, and CORS configuration for your self-hosted Docker deployment.
