Skip to main content

Todoist

Todoist is a task and project management app for personal and team to-do lists. Its REST API (v1) exposes workspaces, projects, completed tasks, productivity statistics, and workspace membership, letting teams ingest task and project data for reporting or push updates back into Todoist workspaces. This connector uses Nexla's pre-built endpoint templates to read from and write to common Todoist API v1 endpoints.

Todoist icon

Power end-to-end data operations for your Todoist API with Nexla. Our bi-directional Todoist connector is purpose-built for Todoist, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Todoist or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Todoist workflows fast, secure, and fully governed.

Features

Type: API

SourceDestination

  • Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
  • Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
  • API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
  • Request optimization with intelligent batching, retry, and caching to minimize API calls and costs

Prerequisites

The Todoist API v1 uses bearer token authentication: requests are authorized with an Authorization: Bearer header carrying a Todoist access token. Before connecting Todoist to Nexla, obtain a token for the Todoist account whose data you want to move.

A personal API token is the simplest option for a single account and can be retrieved directly from your Todoist settings:

  1. Sign in to Todoist at https://app.todoist.com.

  2. Open Settings, then select the Integrations tab.

  3. Open the Developer section to view your personal API token.

  4. Copy the token and store it securely, as it grants access to your Todoist account and should be treated as confidential.

For applications that authenticate other users, Todoist also supports an OAuth 2.0 authorization flow with scoped access (for example data:read and data:read_write) managed through the Todoist App Management Console. For complete details on tokens, scopes, and OAuth, see the Todoist API documentation.

Authenticate

The Todoist connector template does not collect authentication fields in the Nexla credential itself. Create a credential to name and save the connection, then supply your Todoist access token in the request headers when you configure a source or destination endpoint.

Create a credential in Nexla

  1. After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.

  2. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

  3. Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation.

    The Todoist API v1 requires an Authorization: Bearer header carrying your Todoist access token on every request. Add this header when configuring the endpoint request so that Nexla can authenticate with your Todoist account.

    For details on obtaining and managing tokens and scopes, see the Todoist API documentation.

Use as a data source

To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Todoist connector tile, then select the credential that will be used to connect to your Todoist account, and click Next; or, create a new Todoist credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Todoist endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below.

Active Projects

This endpoint template retrieves the active (non-archived) projects for a Todoist workspace. Each project in the workspace is returned as an individual record.

  • Enter the workspace identifier in the Workspace Id field to select the workspace whose active projects will be fetched.
  • Use the optional Cursor and Limit fields to page through large result sets.

For details on the workspace projects response and available parameters, see the Todoist API documentation.

Archived Projects

This endpoint template retrieves the archived projects for a Todoist workspace. Each archived project is returned as an individual record.

  • Enter the workspace identifier in the Workspace Id field to select the workspace whose archived projects will be fetched.
  • Use the optional Cursor and Limit fields to page through large result sets.

For details on the workspace projects response and available parameters, see the Todoist API documentation.

Tasks Completed By Completion Date

This endpoint template retrieves tasks that were completed within a date range, keyed on each task's completion date. Each completed task item is returned as an individual record.

  • Use the Since and Until fields to bound the completion-date range for the tasks to fetch.
  • Narrow the results with the optional Workspace Id, Project Id, Section Id, and Parent Id fields, and refine further with Filter Query and Filter Lang.
  • Use the optional Cursor and Limit fields to page through large result sets.

For details on completed-task filters, date formats, and the response structure, see the Todoist API documentation.

Tasks Completed By Due Date

This endpoint template retrieves tasks that were completed within a date range, keyed on each task's due date. Each completed task item is returned as an individual record.

  • Use the Since and Until fields to bound the due-date range for the tasks to fetch.
  • Narrow the results with the optional Workspace Id, Project Id, Section Id, and Parent Id fields, and refine further with Filter Query and Filter Lang.
  • Use the optional Cursor and Limit fields to page through large result sets.

For details on completed-task filters, date formats, and the response structure, see the Todoist API documentation.

Get Productivity Stats

This endpoint template retrieves productivity statistics for completed tasks, such as the per-day completed-task counts. Each daily statistics entry is returned as an individual record.

  • This endpoint automatically returns the productivity statistics available to your account. No additional configuration is required beyond selecting this endpoint template.

For details on the productivity statistics response, see the Todoist API documentation.

Plan Details

This endpoint template retrieves the plan details for a Todoist workspace, including the pricing entries available for that workspace. Each price-list entry is returned as an individual record.

  • Enter the workspace identifier in the Workspace Id field to select the workspace whose plan details will be fetched.

For details on the plan details response, see the Todoist API documentation.

Get Workspaces Users

This endpoint template retrieves the users that belong to a Todoist workspace. Each workspace user is returned as an individual record.

  • Enter the workspace identifier in the Workspace Id field to select the workspace whose users will be fetched.
  • Use the optional Cursor and Limit fields to page through large result sets.

For details on the workspace users response and available parameters, see the Todoist API documentation.

Invitations

This endpoint template retrieves the outstanding invitations for a Todoist workspace. Each invitation is returned as an individual record.

  • Enter the workspace identifier in the Workspace Id field to select the workspace whose invitations will be fetched.

For details on the workspace invitations response, see the Todoist API documentation.

All Invitations

This endpoint template retrieves all invitations for a Todoist workspace, including those beyond the currently outstanding set. Each invitation is returned as an individual record.

  • Enter the workspace identifier in the Workspace Id field to select the workspace whose invitations will be fetched.

For details on the workspace invitations response, see the Todoist API documentation.

Invite Workspace Users

This endpoint template invites one or more users to a Todoist workspace and returns the list of invited email addresses, with each invited email surfaced as an individual record.

  • Enter the workspace identifier in the Workspace Id field to select the target workspace.
  • Provide the addresses to invite in the Email List field and the workspace role to assign in the Role field.

This endpoint sends an invitation request and returns the invited email addresses. For details on accepted role values and the request format, see the Todoist API documentation.

Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.

Manual configuration

Todoist data sources can also be manually configured to ingest data from any valid Todoist API v1 endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.

The Todoist API v1 requires an Authorization: Bearer header carrying your Todoist access token. When configuring an endpoint manually, add this header so that Nexla can authenticate with your Todoist account.

Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new Todoist data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.

Use as a destination

Click the + icon on the Nexset that will be sent to the Todoist destination, and select the Send to Destination option from the menu. Select the Todoist connector from the list of available destination connectors, then select the credential that will be used to connect to your Todoist account, and click Next; or, create a new Todoist credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Todoist endpoints. Select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.

Accept Invitation

This endpoint template accepts a workspace invitation, identified by its invite code, using records from a Nexset.

  • Provide the invitation's invite code in the Invite Code field so the correct invitation is accepted.

For details on the accept-invitation request, see the Todoist API documentation.

Reject Invitation

This endpoint template rejects a workspace invitation, identified by its invite code, using records from a Nexset.

  • Provide the invitation's invite code in the Invite Code field so the correct invitation is rejected.

For details on the reject-invitation request, see the Todoist API documentation.

Delete Invitation

This endpoint template deletes a workspace invitation using records from a Nexset. Each record is sent as a request to remove the corresponding invitation.

  • Send the invitation details required by the delete-invitation request in the record body of each Nexset record.

For details on the delete-invitation request body, see the Todoist API documentation.

Update Workspace User

This endpoint template updates a specific user within a workspace using records from a Nexset.

  • Provide the target workspace in the Workspace Id field and the target user in the User Id field so the correct membership record is updated.
  • Send the updated user attributes in the record body of each Nexset record.

For details on the update-workspace-user request body, see the Todoist API documentation.

Remove Workspace User

This endpoint template removes a specific user from a workspace using records from a Nexset.

  • Provide the target workspace in the Workspace Id field and the target user in the User Id field so the correct user is removed.

For details on the remove-workspace-user request, see the Todoist API documentation.

Update Logo

This endpoint template updates a workspace logo using records from a Nexset.

  • Send the workspace and logo details required by the update-logo request in the record body of each Nexset record.

For details on the update-logo request body, see the Todoist API documentation.

Join

This endpoint template joins a workspace using records from a Nexset.

  • Send the workspace details required by the join request in the record body of each Nexset record.

For details on the join request body, see the Todoist API documentation.

Shared Labels Rename

This endpoint template renames a shared label using records from a Nexset. Each record is sent as a request to rename the specified shared label.

  • Send the current and new shared-label names required by the rename request in the record body of each Nexset record.

For details on the shared-labels rename request body, see the Todoist API documentation.

Shared Labels Remove

This endpoint template removes a shared label using records from a Nexset. Each record is sent as a request to remove the specified shared label.

  • Send the shared-label name required by the remove request in the record body of each Nexset record.

For details on the shared-labels remove request body, see the Todoist API documentation.

Migrate Personal Token

This endpoint template migrates a personal token via the access tokens endpoint using records from a Nexset.

  • Send the token details required by the migrate-personal-token request in the record body of each Nexset record.

For details on the migrate-personal-token request body, see the Todoist API documentation.

Manual configuration

Todoist destinations can also be manually configured to send data to any valid Todoist API v1 endpoint. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks.

The Todoist API v1 requires an Authorization: Bearer header carrying your Todoist access token. When configuring a destination endpoint manually, add this header so that Nexla can authenticate with your Todoist account.

Save & activate

Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To send the data to the configured Todoist endpoint, open the destination resource menu, and select Activate.

The Nexset data will not be sent to the Todoist endpoint until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.