• Go to the Todoist integration’s listing in the Atlassian marketplace. Select Get it now. Once the integration is done installing, you’ll see an Add to Todoist option in the menu for each issue in Jira. Using the integration. Open a Jira issue. Click the three dots icon in the top-right corner. This will bring up a menu. Select Add to Todoist.
  • Click the + Add task button in a section where you would like your task to be, or use Quick Add by clicking the + icon in the top-right corner. Alternatively, you can press the a key to add a new task to the first available column.; Type your task name and apply any parameters (e.g. A due date, priority, label etc.). You can also use the / shortcut to add a task to a specific section from.

Pleexy creates tasks in your Todoist from emails with follow-up flags in your Outlook account. Pleexy can synchronize due dates and automatically remove follow-up flags from your emails when you complete tasks in your Todoist.

After you connect Outlook as a source service, use Pleexy’s customization options to integrate Outlook and Todoist exactly the way you want. First, navigate to the page where you can change settings:

  1. From the Pleexy dashboard, inside the Outlook card, click Details.

  2. Click Edit settings.

On this page, you can customize the connection's name. You can also adjust the settings for Source, Destination, Tasks, and Actions. Let’s walk through your options for each.

Both the apps follow the tried and tested formula here. A menu with lists and filters. We would like to show you a description here but the site won’t allow us.

Source settings

Source means the Outlook folders where Pleexy will pick the tasks to add to your Todoist. Pleexy only takes emails marked for follow-up from your Outlook account. You have three options for which Outlook folders Pleexy will check:

Todoist Exchange Rates

  • Inbox only: Pleexy only checks your Outlook Inbox folder.

  • All folders: Pleexy checks all your Outlook folders.

  • Select folders: Pleexy checks only the Outlook folders you select.
    Note: If you create a new folder in Outlook, click Refresh in the drop-down menu to reload the list of folders.

Next, set a date range to tell Pleexy to ignore Outlook emails that you consider out-of-date. For example, if you enter ‘60,’ Pleexy will ignore emails marked for follow-up that haven’t been updated in the last 60 days.

Pleexy combines your settings for these two filters. For example, if you choose Inbox only and enter 30 days, Pleexy will search for emails marked for follow-up that meet both requirements:

In the Inbox folder

+ Updated less than 30 days ago

Destination settings

Destination means where Pleexy will create tasks in your Todoist. You have two destination options:

  • Create all tasks in one project: Create all tasks in the same Todoist project. Click the drop-down menu to select the Todoist project to use.
    Note: If you want Pleexy to create tasks in a new Todoist project, log in to your Todoist and create the new project there. Back in your Pleexy settings, in the project drop-down menu, click Refresh to update the list of projects.

  • Use an individual project for each folder: Create tasks from each Outlook folder in a different Todoist project. Click the drop-down menu to select the root Todoist project to use. Pleexy will create individual projects within the root project you select for the tasks from each Outlook folder.
    Note: If a project with the same name already exists in the root project you select, Pleexy will use it instead of creating a new project. This way, Pleexy can combine tasks from different source services in the same project. For example, Pleexy will create tasks from a “Development” folder in Outlook and a “Development” board in Trello in a single root project.

Task settings

In the Task settings, you can specify how Pleexy will name and group tasks in your Todoist.

Under Task title template, use macros to customize how Pleexy names your tasks. For Outlook integrations, five elements are available for task names: {subject}, {sender}, {date_received}, {due_date}, and {folder}.

As you change your task title template, Pleexy shows how your changes will look in a live example under the template field. You can combine the macro elements however you want, as long as you get the formatting correct. Here are some ideas:

  • {subject} from {sender}, due on {due_date}

  • Reply to email from {sender} about {subject}

  • Received on {date_received}; due on {due_date}: {subject} from {sender}

Note: If you manually edit a task title in Todoist, Pleexy won’t update or change your edited title.

Under Synchronize due date, you have four options for how Pleexy handles your changes to task due dates:

  1. From Outlook to Todoist: when due date changes in Outlook, change it in Todoist

  2. Both in Outlook and Todoist: when due date changes in one place, change it in the other

  3. From Todoist to Outlook: when due date changes in Todoist, change it in Outlook

  4. Do not sync: do not synchronize due dates between emails and tasks

You can toggle-on the Set task’s priority option. With this option, Pleexy synchronizes each task’s priority in Todoist according to the corresponding email’s priority in Outlook.

And you can toggle-on Add email’s Body to the task in Todoist if you want Pleexy to add the body of your Outlook emails to task comments in Todoist.

Action settings

Action settings let you control what happens in Outlook and Todoist when you delete and complete tasks—on both sides of the integration!

First, tell Pleexy what should happen in Todoist when you delete an email in Outlook. Click the drop-down to select one option:

  • Delete corresponding task: Pleexy should delete the corresponding task in Todoist

  • Do not touch task: Pleexy should leave the corresponding task in Todoist

Second, specify what should happen in Todoist when you complete a follow-up flag in Outlook. Click the drop-down menu to select one option:

  • Complete corresponding task: Pleexy should mark the corresponding task as complete in Todoist

  • Do not touch task: Pleexy should not mark the corresponding task as complete in Todoist

Third, tell Pleexy what should happen in Outlook when you complete a task in Todoist. Click the drop-down menu to select one option:

  • Mark follow-up as complete: Pleexy should mark the corresponding follow-up flag as complete in Outlook

  • Do not touch email: Pleexy should not mark the corresponding follow-up flag as complete in Outlook

Don’t forget to scroll down and click Save changes when you’re finished customizing!

Thanks for your interest in developing apps with Todoist! In this guides section we'll provide an overview of the APIs we offer and cover some common topics for application development using our APIs.

If you are looking for reference documentation for our APIs please proceed to either the REST API Reference or Sync API Reference.

Our APIs

We offer two APIs for external developers, providing different models for sending and receiving data.

Rest API

The Todoist REST API offers the simplest approach to read and write data on the Todoist web service.

For most common application requirements this is our recommended API for external developers and uses an approach that should be familiar for anyone with experience calling RESTful APIs.

We've provided a Getting Started tutorial section within our REST API documentation to introduce you to the API and some common flows you'll encounter when developing Todoist applications. If you are totally new to our APIs or even unfamiliar with Todoist this is a great place to start.

Sync API

The Todoist Sync API is used by our web and mobile applications and is recommended for clients that will maintain alocal representation of a user's full account data. It allows for incrementally sending and receiving account data by identifying positions in an account's state history using a sync token.

This API also contains additional endpoints for areas like account management and less common features that may not yet be implementedon the newer REST API.

Within the documentation for the Sync API you'll also find a Getting Started tutorial that will introduce you to using the Sync endpoint to send and receive data.

In order to make authorized calls to the Todoist REST or Sync APIs, your application must firstobtain an access token.

The following section describes the process for using the OAuth protocol to obtain an access token from the user.

OAuth

Todoist Exchange

External applications can obtain a user authorized API token via the OAuth2protocol. Before getting started, developers need to create their applicationsin the App Management Console and configure a valid OAuthredirect URL. A registered Todoist application is assigned a unique Client IDand Client Secret which are needed for the OAuth2 flow.

This procedure is comprised of 3 steps.

Step 1: Authorization request

An example of the URL to the authorization endpoint:

Redirect users to the authorization URL at the endpointhttps://todoist.com/oauth/authorize, with the specified request parameters.

Required parameters

NameDescription
client_id StringThe unique Client ID of the Todoist application that you registered.
scope StringA comma separated list of permissions that you would like the users to grant to your application. See the below table for detail on the available scopes.
state StringA unique and unguessable string. It is used to protect you against cross-site request forgery attacks.

Permission scopes

NameDescription
task:addGrants permission to add new tasks (the application cannot read or modify any existing data).
data:readGrants read-only access to application data, including tasks, projects, labels, and filters.
data:read_writeGrants read and write access to application data, including tasks, projects, labels, and filters. This scope includes task:add and data:read scopes.
data:deleteGrants permission to delete application data, including tasks, labels, and filters.
project:deleteGrants permission to delete projects.

Potential errors

ErrorDescription
User Rejected Authorization RequestWhen the user denies your authorization request, Todoist will redirect the user to the configured redirect URI with the error parameter: http://example.com?error=access_denied.
Redirect URI Not ConfiguredThis JSON error will be returned to the requester (your user's browser) if redirect URI is not configured in the App Management Console.
Invalid Application StatusWhen your application exceeds the maximum token limit or when your application is being suspended due to abuse, Todoist will redirect the user to the configured redirect URI with the error parameter: http://example.com?error=invalid_application_status.
Invalid ScopeWhen the scope parameter is invalid, Todoist will redirect the user to the configured redirect URI with error parameter: http://example.com?error=invalid_scope.

Step 2: Redirection to your application site

When the user grants your authorization request, the user will be redirected tothe redirect URL configured for your application. The redirect requestwill come with two query parameters attached: code and state.

The code parameter contains the authorization code that you will use toexchange for an access token. The state parameter should match the stateparameter that you supplied in the previous step. If the state is unmatched,your request has been compromised by other parties, and the process should beaborted.

Step 3: Token exchange

An example of exchanging the token:

On success, Todoist returns HTTP 200 with token in JSON object format:

Once you have the authorization code, you can exchange it for the access tokenby sending a POST request to the following endpoint:

https://todoist.com/oauth/access_token.

Required parameters

NameDescription
client_id StringThe Client ID of the Todoist application that you registered.
client_secret StringThe Client Secret of the Todoist application that you registered.
code StringThe code that was sent in the query string to the redirect URL in the previous step.

Potential errors

ErrorDescription
Bad Authorization Code ErrorOccurs when the code parameter does not match the code that is given in the redirect request: {'error': 'bad_authorization_code'}
Incorrect Client Credentials ErrorOccurs when the client_id or client_secret parameters are incorrect: {'error': 'incorrect_application_credentials'}

Some objects (like projects, labels, and filters) returned by our APIs may have colors defined by anid or name. The table below shows all information you may need for any of these colors.

IDNameHexadecimalIDNameHexadecimal
30berry_red#b8256f40light_blue#96c3eb
31red#db403541blue#4073ff
32orange#ff993342grape#884dff
33yellow#fad00043violet#af38eb
34olive_green#afb83b44lavender#eb96eb
35lime_green#7ecc4945magenta#e05194
36green#29943846salmon#ff8d85
37mint_green#6accbc47charcoal#808080
38teal#158fad48grey#b8b8b8
39sky_blue#14aaf549taupe#ccac93

Our applications for Android and iOS support custom URL schemes for launching to specific views and initiating some common actions.

Views

The following schemes are available to open a specific view:

SchemeDescription
todoist://Opens Todoist to the user's default view.
todoist://todayOpens the today view.
todoist://upcomingOpens the Upcoming view.
todoist://profileOpens the profile view.
todoist://inboxOpens the inbox view.
todoist://teaminboxOpens the team inbox view. If the user doesn't have a business account it will show an alert and redirect automatically to the inbox view.
todoist://notificationsOpens notifications view.

Tasks

Example of adding a task:

Here's an example of a content value:

And how it should be supplied using Percent-encoding:

Here's an example of a date value:

And how it should be supplied using Percent-encoding:

The following schemes are available for tasks:

SchemeDescription
todoist://task?id={id}Opens a task by ID.
todoist://addtaskOpens the add task view to add a new task to Todoist.

Todoist Exchange Login

The todoist://addtask scheme accepts the following optional values:

ValueDescription
content URL encodingThe content of the task, which should be a string that is in Percent-encoding (also known as URL encoding).
date URL encodingThe due date of the task, which should be a string that is in Percent-encoding (also known as URL encoding). Look at our reference to see which formats are supported.
priority IntegerThe priority of the task (a number between 1 and 4, 4 for very urgent and 1 for natural).
Note: Keep in mind that very urgent is the priority 1 on clients. So, p1 will return 4 in the API.

This URL scheme will not automatically submit the task to Todoist, it will just open and pre-fill the add task view. If no values are passed, the add task view will just be opened.

Projects

The following schemes are available for tasks:

SchemeDescription
todoist://projectsOpens the projects view (shows all projects).
todoist://project?id={id}Opens a specific project by ID.

Example of opening a specific project:

The todoist://project scheme accepts the following required value:

ValueDescription
id IntegerThe ID of the project to view. If the ID doesn't exist, you don't have access to the project, or the value is empty, an alert will be showed and the user will be redirected to the projects view.

Labels

The following schemes are available for labels:

SchemeDescription
todoist://labelsOpens the labels view (shows all labels)
todoist://label?name={name}Opens a specific label by name.

Example of opening a specific label:

The todoist://label scheme accepts the following required value:

ValueDescription
name StringThe name of the label to view. If the label doesn't exist, you don't have access to the label, or the value is empty, an alert will be shown.

Filters

The following schemes are available for filters:

SchemeDescription
todoist://filtersOpens the filters view (shows all filters)
todoist://filter?id={id}Opens a specific filter by ID.

Example of opening a specific filter:

The todoist://filter scheme accepts the following required value:

ValueDescription
id IntegerThe ID of the filter to view. If the ID doesn't exist, you don’t have access to the filter, or the value is empty, an alert will be showed and the user will be redirected to the filters view.

Search

The following scheme is available for searching (Android only):

SchemeDescription
todoist://search?query={query}Used to search in the Todoist application.

Example of searching for 'Test & Today':

The todoist://search scheme accepts the following required value:

ValueDescription
query URL encodingThe query to search in the Todoist application, which should be a string that is in Percent-encoding (also known as URL encoding).

Market your app to millions of Todoist users with a custom integration page. Our searchable directory lets our audience easily find, install, and use your app — making it an effortless yet effective way to promote your work!

Get started today.

Submissions

To begin, fill out the app submissions form. Just add a marketing description, installation instructions, and links to your website and privacy policy.

We'll also ask you for some images, in the following format:

  • Your app icon, in JPG format on a white background. The size of the image should be 250x250px.
  • One or more screenshots in JPG format at 1600x1000px. If your screenshot includes images of Todoist it should use the default theme (Red).

Review

After you've submitted your app, we'll email you a confirmation. We aim to review submissions and respond with any feedback within 10 business days.

During the review, we'll make sure:

  • All the fields in the submission form are filled out in English.
  • Your app complements or enhances the functionality of Todoist. It should not replicate functionality already included.
  • Your app is free of any functional errors during our testing.
  • Users can easily set up the integration using the instructions you've provided.
  • All links provided are HTTPS enabled to ensure the security of our users.
  • Any use of the Todoist name or logo follow our brand guidelines.
  • Your privacy policy ensures you will not sell or share our user's data to any third parties without their consent.
  • The marketing descriptions and images you've provided are clear and follow our style.

If we find any issues along the way, we'll be in touch via email and work with you to resolve them.If you have any questions or updates at any time, you can reply to any of the emails you've received during the submissions process. We'll aim to get back to you within 2 business days.

Publishing

Once your submission has passed our review, we'll publish your listing and provide you with a public link that youcan share! We'll also translate your listing to expand the reach of your marketing.

If you have any further questions or updates to provide after we've published your integration page,you can always reach out to our integrations team at integrations@doist.com.We're happy to help!

Thanks for using Todoist's APIs to build an application!

If you plan to utilize Todoist's logo or branding in the visual designof your application or website, please adhere toTodoist's brand guidelines.

In addition, please take note of the following:

  • 'Todoist' should not be the first word in your application's name. Itmay be used elsewhere in the name, though. For instance 'x forTodoist' or 'x with Todoist', etc. This makes it clear that yourapplication is created by you and not by Doist.
  • You must clearly state that your application is 'not created by,affiliated with, or supported by Doist' in your applicationdescription.

By using the Todoist marks you agree to properly follow the abovebrand guidelines as well asour Terms of Service. For furtherinformation about the use of the Todoist brand, please contactpress@doist.com.

Interested in developing an integration for Todoist but unsure where to start? Get in touch with us atintegrations@doist.com,and we'll be happy to help.