Skip to content
Last updated

Todoist integration

Todoist is a task manager for organizing tasks, projects, and deadlines, on your own or with a team.

It can be connected to Agen.co two ways, matching the Official / In-house filter in the connector picker:

  • Official — Agen.co connects through Todoist's own hosted MCP server. Each user authorizes with their own Todoist account, and no app needs to be registered in Todoist.
  • In-house — Agen.co wraps the Todoist REST API directly through its own integration layer, using an OAuth app you register in the Todoist App Management Console, with the scopes you choose.

Pick Official if the built-in MCP tools cover what your agents need. Fall back to In-house if you want your own OAuth app or a different scope set, such as data:read only.


Connect via the official MCP server

Prerequisites

  • A Todoist account. No app needs to be registered in the Todoist App Management Console — the MCP server registers Agen.co as a client automatically, so there is no Client ID or Client Secret to copy.

Connect Todoist in Agen.co

  1. In the Agen.co portal, go to Connectors → My connectors and click Add connector.

  2. In the Select connector drawer, search for Todoist and select it. The Add Todoist panel opens with Official selected at the top.

  3. Fill in the field:

    FieldRequiredDescription
    Instance SlugYesPrefixes each imported tool as slug__tool, so several instances of the connector can coexist. Prefilled with todoist. Use lowercase kebab-case. You can change it later from the connector's settings.
  4. Click Connect. Todoist opens in a new tab, and the panel shows Waiting for authorization — complete it in the opened tab…

  5. In the Todoist tab, log in if prompted and approve the access request. Agen.co requests the data:read_write scope, which lets it read your Todoist data and create, edit, and complete tasks and projects.

  6. Back in Agen.co, the panel switches to Select the tools to import from Todoist. Every tool is toggled on; turn off any you don't want to import, then click Add.

The connector is created and its tools imported only when you click Add. If you close the panel before that, nothing is saved, even though the Todoist tab reported success.

Authorize each user

Adding the connector doesn't authorize anyone's tool calls yet. The first time each user's agent calls a Todoist tool, the call returns an authorization link instead of a result. The user opens the link, logs in to Todoist, and clicks Allow access. The consent screen names the requesting client by a technical ID, mcp-gateway:source:<uuid> is requesting access, rather than Agen.co — this is expected, so tell users to allow it rather than deny it. After that, the user's tool calls run with their own Todoist account. Each user can review or revoke that access later in Todoist under Settings → Integrations.

Once connected, Todoist appears under My connectors with tools spanning:

AreaWhat it covers
TasksFinding, adding, updating, completing, reopening, rescheduling, and assigning tasks
Projects and sectionsCreating, updating, moving, and reordering projects and sections, and importing or exporting project templates
Labels and filtersFinding, adding, and updating labels and filters
Comments and remindersReading, adding, and updating comments and reminders
SearchSearching and fetching tasks, projects, and other objects, and viewing attachments
DeletionDeleting projects, sections, tasks, comments, labels, filters, and reminders. A workspace project must be archived before it can be deleted
Activity and insightsActivity history, productivity stats, and project and workspace health
WorkspacesListing workspaces and project collaborators, and reading the user's profile

Enabling the Todoist connector isn't enough on its own. Tool calls remain denied until you create a policy that grants access to the specific tools you want to expose.

Connect via the Todoist API

Integrating Todoist with Frontegg allows your application to access and manage tasks, projects, sections, and comments on behalf of your users through OAuth 2.0 authentication, using the Todoist API v1.

Prerequisites

  • A Todoist account
  • Access to the Todoist App Management Console

Connect Todoist

Step 1: Open the app management console

Log in to your Todoist account. Navigate to Settings → Integrations → Developer and click Manage your existing integrations. This opens the App Management page. Click the Add new integration button to create a new OAuth application.

Todoist app management console

Step 2: Create a new application

In the Create App dialog, enter a name for your application (e.g., "Frontegg Integration") and click Create App.

Create Todoist application

Step 3: Copy credentials

After creating the app, you are redirected to the App settings page. Here you can find your Client ID and Client Secret under the OAuth credentials section.

Copy the Client ID and Client Secret values. You will need them to configure the integration in the Frontegg portal.

Keep your credentials secure

Never share or commit your Client Secret to version control.

Todoist credentials

Step 4: Configure the redirect URL

Scroll down to the OAuth redirect URL field and enter the redirect URL shown in the Frontegg portal for this integration. See How to get your Redirect URL. The value has this shape, but take the real one from the portal rather than assembling it:

  • https://YOUR_MCP_GATEWAY_URL/integration-callback

A Todoist app holds a single redirect URL, so each environment whose gateway has its own URL — staging and production, for example — needs its own Todoist app. If the URL doesn't match, Todoist rejects the authorization with Invalid redirect URI.

Todoist redirect URIs

Step 5: Save settings

Click the Save settings button at the bottom of the page to save your application configuration.

Save Todoist settings

Step 6: Verify the saved configuration

After saving, verify that the redirect URL and the app name are correct. The page should display the saved configuration without the Save/Cancel buttons.

Todoist saved configuration

Configure OAuth scopes

Todoist manages OAuth scopes at the authorization request level rather than through the developer console. The following scopes are available:

ScopeDescription
data:readListing, filtering, and reading tasks, projects, sections, and comments
data:read_writeCreating, updating, completing, and reopening tasks, creating and updating projects, and adding sections and comments
data:deleteDeleting tasks (the Delete Task tool)
project:deleteDeleting projects. No connector tool uses this scope

Minimum required scopes

For basic functionality, you need: data:read, data:read_write. Add data:delete if your agents should be able to delete tasks.

Configure the Frontegg portal

Once you have obtained your Client ID and Client Secret from the steps above, enter them in the integration configuration page of the Frontegg portal:

  1. Open the Frontegg portal and navigate to [ENVIRONMENT] → Integrations → Todoist.
  2. Enter the Client ID and Client Secret in the corresponding fields.
  3. Select the required scopes.
  4. Click Save.

Additional resources