[GH-ISSUE #849] How to migrate from Todoist to Vikunja #6306

Closed
opened 2026-04-20 16:53:18 -05:00 by GiteaMirror · 3 comments
Owner

Originally created by @c0f on GitHub (Jun 2, 2025).
Original GitHub issue: https://github.com/go-vikunja/vikunja/issues/849

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). Original GitHub issue: https://github.com/go-vikunja/vikunja/issues/849 ### 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.

<!-- gh-comment-id:2934129645 --> @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.

<!-- gh-comment-id:2936733015 --> @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/

<!-- gh-comment-id:2936927614 --> @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#6306