MagicMirror² v2.13.0 is available! For more information about this release, check out this topic.

Todoist accesstoken

  • Hi, can anyone help me to understand where and how I get the accesstoken for Todoist.
    A step by step guide would be very helpful. Must I have a premium account?

    Thanks Robert

  • Did you figure it out??

  • @sizer Go here:

    1. Create an app (e.g. “My Private MagicMirror”) in the developer’s console. If you don’t have a website, use
    2. Then with your client ID and secret, construct an OAuth query (with whatever scope your app will need) and visit in a browser.
    3. It will then redirect you to your app’s website with a code parameter. (If using, it will fail to reach the site; just look at the address bar and find the code parameter.)
    4. Use thecode parameter to exchange for an access token (e.g. using curl):
    $ curl "" \
        -d "client_id=0123456789abcdef" \
        -d "client_secret=secret" \
        -d "code=abcdef" \
        -d "redirect_uri="

  • @ninjabreadman great, but I’m lost. 1. is clear, but what to do now, where to construct OAuth (whetever is it)…?..

    thanks, Zdeněk

  • @zdenek Go here. Follow the instructions to create an OAuth string, that will look something like this:,data:delete&state=secretstring

  • @ninjabreadman thx. My steps:

    1. went to,data:delete&state=secretstring
      where I used my client_id and a “state” used "client_secret
    2. got
    3. on MM from commandlind I run
    curl "" \
        -d "client_id=my_client_id" \
        -d "client_secret=my_client_secret" \
        -d "code=string_from_previous_step" \
        -d "redirect_uri="
    1. got answer

    so, I guess, that “another_string” is the right think for the module = access_token, right?

    			module: 'MMM-Todoist',
    			position: 'top_center',	// This can be any of the regions. Best results in left or right regions.
    			//header: 'Todoist', // This is optional
    			config: { // See 'Configuration options' for more information.
     		         	accessToken: 'axxxxxxxxxxb',
    				maximumEntries: 60,
    				updateInterval: 10*60*1000, // Update every 10 minutes
    				//projects: [ 166564794 ],
    				fade: false

    should be OK, but nothing :-(. Checked in browser:

    div id="module_10_MMM-Todoist" class="module MMM-Todoist MMM-Todoist">div class="module-content">table class="normal small light">/table>/div>/div>

    (removed < signs)

    in Console no Warnings, no Erros…

    any idea?

  • i’m soooooooooo stupid sorry. I thougt, without define any ProjectID I’ll get ToDo of all Projects in my account. Nope. After add of at least one ID, it works…

    sorry for annoying …

  • @zdenek No problem, it happens to all of us. Glad to hear it’s working!

  • Project Sponsor Module Developer

    Hello all,

    I also get so many trouble to make it work, but thanks to your help it is now ok ! 😀

    So no need to create that incredibly complicated “OAuth string”, the use of the “Test token” works perfectly fine :


    But… It is mandatory to define “projects” value in the config.js file.
    As the default value is [] I also consider it as optional…😳

    With this value defined, everything is OK !

Log in to reply