Skip to content

Import and export

Three separate things live under Settings → Data, and they do different jobs.

Use it for
Todoist import Moving in from Todoist
Clone backup Moving between two Conatus instances, or a manual snapshot
Project templates Reusing one project’s structure

None of them is a substitute for database backups.

Settings → Data → Import from Todoist, or the importer on the first-run onboarding page. It is a three-step flow, and nothing is written until step two is confirmed.

Connect with an API token is the better path. Find the token in Todoist under Settings → Integrations → Developer and paste it. Conatus calls the Todoist Sync API directly, which means recurring tasks arrive with their current due dates already resolved. No manual review needed.

The token is used for that one request and is never stored.

Upload a backup accepts Todoist’s .zip export or individual .csv files. Drag them in or pick them from the file dialog. CSV backups carry the recurring rule as a phrase but not the resolved next date, so those tasks are flagged for review.

You get a per-project preview: how many sections, tasks, subtasks and comments each one holds, any warnings, and any recurring tasks whose dates need a look. Tick exactly the projects you want.

Projects whose name collides with one you already have are flagged, and you choose what happens to them:

  • Rename, imported as Name (copy)
  • Skip, left behind

Nothing has been written to your account at this point. The preview is read-only, and neither the token nor the uploaded files are stored.

The result line reports how many projects, sections, tasks, comments and labels were created, plus how many were renamed or skipped.

Transfers Does not transfer
Projects, including nesting Completed tasks
Sections Filters
Tasks, descriptions, hierarchy Attachments
Priorities (Todoist’s scale is inverted to match) Reminders
Due dates and times Karma, activity history
Deadlines Todoist collaborators
Durations
Recurring rules that map onto Conatus rules
Labels
Task and project comments

Todoist backup filenames often append an opaque ID to the project name (Personal [6g8WPqw25HQhcQgV]). Conatus strips it.

Recurring rules translate where the grammar lines up. Anything Conatus does not recognise, such as multi-weekday and positional rules, imports as an ordinary dated task and appears in the preview warnings. See Recurring tasks.

Export data downloads export.json: your projects, sections, tasks, labels and label links. Import clone backup reads that file back.

The scope is limited so that a file round-trips cleanly:

  • Only projects you own. Tasks you created in someone else’s shared project stay out.
  • Only links to your own labels. A collaborator’s label assignments would dangle.
  • Project nesting is dropped. It is a display preference, not portable data.
  • Deleted (trashed) items are excluded.
  • Attachments are not included, because they live in object storage, not the database.

The importer validates every reference before writing: a section pointing at an unknown project, or a task pointing at an unknown parent, is rejected with the exact path of the problem rather than half-imported.

Project options → Save as template on any project downloads a JSON template. Import it from the projects list to get a fresh project with the same shape.

Templates are dateless and personal-scope:

Carried over Left behind
Project name and colour Due dates, times, deadlines
Sections and their order Assignees
Task names, descriptions Labels
Priorities Comments, attachments, reminders
Repeat rules Completion state
Durations Completed tasks
Task hierarchy

A template’s tasks are all active. Completed tasks are not exported, and a subtask whose parent was completed is imported as a root task rather than left with a dangling parent.

If the template’s name matches a project you already own, the new project is created as Name (copy).