How to migrate from Todoist to Vikunja #2234

Closed
opened 2026-03-22 13:58:28 -05:00 by GiteaMirror · 3 comments
Owner

Originally created by @c0f on GitHub (Jun 2, 2025).

Description

How to migrate from Todoist to Vikunja

Your Vikunja install needs to be publicly available.

My recurring tasks in Todoist did not import so I disabled the recurrence in Todoist before import.

(I tried to post this in the forum but because I'm a new forum user I can only include 2 URLs which would make this guide difficult to use)

In Todoist settings:

Integrations > Developer > Build Integrations

This will take you to the Todoist Developer app manager.

Click 'Create a new app'

Enter:

Click 'Create app'

In the next page under 'App settings':

Click 'Save settings'

On the same page, scroll down to 'Installation', click 'Install for me'

To check the integration is available go back to Todoist and go to Settings > Integrations. In the 'Installed' section you should see your app named 'vikunja'.

That's the end of the Todoist settings.

On your Vikunja host edit your docker-compose.yml. I'm only doing a one-off migration so I've put my settings in the compose file. I'll remove the settings once migration is complete.

Add the following lines under 'environment:'

VIKUNJA_MIGRATION_TODOIST_ENABLE: true
VIKUNJA_MIGRATION_TODOIST_CLIENTID: Paste your Client ID from Todoist
VIKUNJA_MIGRATION_TODOIST_CLIENTSECRET: Paste your Client secret from Todoist
VIKUNJA_MIGRATION_TODOIST_REDIRECTURL: https://vikunja.yourdomain.com/migrate/todoist

These settings are explained in the Vikunja documentation: https://vikunja.io/docs/config-options/#0--migration.

Restart your container and login to Vikunja.

  • Click on your avatar at the top-right
  • Click Settings
  • Click 'Import from other services'
  • You should see a Todoist icon
  • Click the icon

The import will start in the background. I had a hundred tasks and it took seconds to complete.

If you see errors such as 'redirect_uri_not_configured' check the App settings under App Management in https://developer.todoist.com/appconsole.html. Make sure the 'OAuth redirect URL' is a valid, publicly available URL.

Since I was doing a one-off migration I deleted the integration from Todoist and removed the VIKUNJA_MIGRATION_TODOIST_* variables from my docker-compose.yml file after migration.

I hope this is useful.

Vikunja Version

v0.24.6

Browser and version

No response

Can you reproduce the bug on the Vikunja demo site?

Please select

Screenshots

No response

Originally created by @c0f on GitHub (Jun 2, 2025). ### Description **How to migrate from Todoist to Vikunja** Your Vikunja install needs to be publicly available. My recurring tasks in Todoist did not import so I disabled the recurrence in Todoist before import. (I tried to post this in the forum but because I'm a new forum user I can only include 2 URLs which would make this guide difficult to use) In Todoist settings: Integrations > Developer > Build Integrations This will take you to the Todoist Developer app manager. Click 'Create a new app' Enter: - App name: vikunja - App service URL: the URL to your Vikunja install e.g. https://vikunja.yourdomain.com Click 'Create app' In the next page under 'App settings': - Client ID: you'll need this later for VIKUNJA_MIGRATION_TODOIST_CLIENTID - Client secret: you'll need this later for VIKUNJA_MIGRATION_TODOIST_CLIENTSECRET - OAuth redirect URL: https://vikunja.yourdomain.com/migrate/todoist (this must end with /migrate/todoist) - App name: vikunja - App service URL: https://vikunja.yourdomain.com/ Click 'Save settings' On the same page, scroll down to 'Installation', click 'Install for me' To check the integration is available go back to Todoist and go to Settings > Integrations. In the 'Installed' section you should see your app named 'vikunja'. That's the end of the Todoist settings. On your Vikunja host edit your docker-compose.yml. I'm only doing a one-off migration so I've put my settings in the compose file. I'll remove the settings once migration is complete. Add the following lines under 'environment:' VIKUNJA_MIGRATION_TODOIST_ENABLE: true VIKUNJA_MIGRATION_TODOIST_CLIENTID: Paste your Client ID from Todoist VIKUNJA_MIGRATION_TODOIST_CLIENTSECRET: Paste your Client secret from Todoist VIKUNJA_MIGRATION_TODOIST_REDIRECTURL: https://vikunja.yourdomain.com/migrate/todoist These settings are explained in the Vikunja documentation: https://vikunja.io/docs/config-options/#0--migration. Restart your container and login to Vikunja. - Click on your avatar at the top-right - Click Settings - Click 'Import from other services' - You should see a Todoist icon - Click the icon The import will start in the background. I had a hundred tasks and it took seconds to complete. If you see errors such as 'redirect_uri_not_configured' check the App settings under App Management in https://developer.todoist.com/appconsole.html. Make sure the 'OAuth redirect URL' is a valid, publicly available URL. Since I was doing a one-off migration I deleted the integration from Todoist and removed the VIKUNJA_MIGRATION_TODOIST_* variables from my docker-compose.yml file after migration. I hope this is useful. ### Vikunja Version v0.24.6 ### Browser and version _No response_ ### Can you reproduce the bug on the Vikunja demo site? Please select ### Screenshots _No response_
Author
Owner

@kolaente commented on GitHub (Jun 3, 2025):

Thanks for that tutorial! Since you opened it as a bug, is there anything you think is broken about the way it works? Or did you just want to document this somewhere?

In the latter case, I'd love a PR to the docs.

@kolaente commented on GitHub (Jun 3, 2025): Thanks for that tutorial! Since you opened it as a bug, is there anything you think is broken about the way it works? Or did you just want to document this somewhere? In the latter case, I'd love a PR to the docs.
Author
Owner

@c0f commented on GitHub (Jun 3, 2025):

Hi, I don't know how to do a PR for the documentation but I'm happy for anyone else to paste it in.

I'm definitely not reporting it as a bug. The migration worked perfectly and better than many commercial integrations.

@c0f commented on GitHub (Jun 3, 2025): Hi, I don't know how to do a PR for the documentation but I'm happy for anyone else to paste it in. I'm definitely not reporting it as a bug. The migration worked perfectly and better than many commercial integrations.
Author
Owner

@kolaente commented on GitHub (Jun 3, 2025):

Thanks! I've added this to the docs just now, with a little editing.

It's live here: https://vikunja.io/docs/setup-todoist-migration/

@kolaente commented on GitHub (Jun 3, 2025): Thanks! I've added this to the docs just now, with a little editing. It's live here: https://vikunja.io/docs/setup-todoist-migration/
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/vikunja#2234