View as Markdown
Todoist icon

Todoist TRIGGER

New Completed Task

Emit new event for each completed Todoist task, including recurring task completions. Non-recurring completions are polled via GET /tasks/completed/by_completion_date. Recurring completions don't appear there - Todoist reschedules a recurring task instead of marking it completed there - so they're additionally polled via the v1 Activity Log (GET /api/v1/activities), detected as an item:completed event with extra_data.is_recurring set to true. Accessing recurring task completions older than 7 days requires a Todoist premium/business plan. Respects the Projects filter. See the documentation.
  • Trigger
  • Polling
  • OAuth
  • Webhook delivery

IMPLEMENTATION

Deploy this event source

Connect the user's Todoist account, configure the source, and choose the webhook where your backend receives events.

import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const deployed = await pd.triggers.deploy({
  id: "todoist-completed-task",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    todoist: { authProvisionId: "apn_xxxxxxx" },
    timer: { "intervalSeconds": 900 },
    selectProjects: ["Select Projects"],
  },
  webhookUrl: "https://example.com/webhooks/todoist",
})

console.log(deployed.id)

MCP exposes on-demand actions. Event sources are deployed through the Connect SDK or API because they continue listening after the initial request.

SCHEMA

Configuration

These inputs define which events the source watches. Dynamic options are loaded from the connected account.

New Completed Task configuration
Property Type Description
timer Polling Interval $.interface.timer
Pipedream will poll the Todoist API on this schedule
Required
selectProjects Select Projects string[]
Filter for events that match one or more projects. Leave this blank to emit results for any project.
Optional Dynamic

01

Connect

Your user authorizes Todoist through Pipedream managed auth.

02

Deploy

Your backend deploys this source with that user's own configuration.

03

Webhook delivery

Every event is sent to the HTTP endpoint you choose when you deploy the source — after each poll.

OR

On-demand retrieval

No webhook required. Your app or agent can fetch recent events from the trigger events API.

Registry key
todoist-completed-task
Version
2.0.0
App
Todoist
Authentication
OAuth
Delivery
Polling source
Output
Events emitted by Todoist.