Source connector
Todoist connector
Todoist integration for databases, warehouses and BI tools
Personal and team task management. Datrise captures Todoist entities such as tasks, projects, sections, labels, comments and completed tasks, then lands normalized and typed models for warehouse reporting, attribution, and AI workflows.
The Todoist API v1 (unified REST + Sync) authenticates with OAuth 2.0, personal access token, incremental runs key on sync_token, and Todoist caps calls at 1,000 requests per 15 minutes per user for REST-style endpoints; the Sync endpoint allows up to 1,000 partial syncs or 100 full syncs per 15 minutes, both capped further at roughly 50 sync requests/minute per user.
Of the 6 objects, 6 sync as upserts keyed on the primary key and 0 as append-only streams, so each incremental run moves only what changed since the last watermark. Every object lands in its own table (for example `todoist_tasks`) with a schema derived from the Todoist API rather than a flattened CSV, in any of the 43 supported destinations.
Datrise is in early access: pick a destination below to open the Todoist pipeline page, and join the waitlist to get the Todoist connector with guided onboarding.
What Todoist data Datrise extracts
Each object lands in its own typed table. Sync mode is derived from the object: history-style objects append, everything else upserts.
| Object | Landing table | Sync mode |
|---|---|---|
| tasks | todoist_tasks | Upsert by primary key, incremental on updated-at |
| projects | todoist_projects | Upsert by primary key, incremental on updated-at |
| sections | todoist_sections | Upsert by primary key, incremental on updated-at |
| labels | todoist_labels | Upsert by primary key, incremental on updated-at |
| comments | todoist_comments | Upsert by primary key, incremental on updated-at |
| completed tasks | todoist_completed_tasks | Upsert by primary key, incremental on updated-at |
Todoist API: setup facts for the connector
Verified against the vendor documentation on 2026-09-02. Unknown values are left blank rather than guessed.
| API | Todoist API v1 (unified REST + Sync) |
|---|---|
| Authentication | OAuth 2.0, personal access token — Bearer token in the `Authorization` header — either a personal API token from Todoist Settings or an OAuth 2.0 access token (refresh tokens are on by default for new OAuth apps). |
| Pagination | cursor — REST-style list endpoints (e.g. `/tasks`) page via a `cursor`/`next_cursor` pair; the separate Sync endpoint (`/sync`) instead returns full resource arrays plus a `sync_token` for the next incremental call rather than page-by-page cursors. |
| Rate limit | 1,000 requests per 15 minutes per user for REST-style endpoints; the Sync endpoint allows up to 1,000 partial syncs or 100 full syncs per 15 minutes, both capped further at roughly 50 sync requests/minute per user |
| Incremental cursor | sync_token — Call `/sync` with `sync_token=*` for the initial full pull, then persist the returned `sync_token` and pass it back on each subsequent call to receive only changed resources. |
| Webhooks | Yes — Webhooks (OAuth app event subscriptions) |
| Bulk export | No |
| Deletes detectable | Yes — Sync API resources (items, projects, etc.) carry an `is_deleted` boolean; a deleted record is returned with `is_deleted: true` in the next incremental sync rather than simply disappearing. |
What bites when replicating Todoist
- The legacy REST API v2 (`/rest/v2/`) and Sync API v9 (`/sync/v9/`) were shut down on February 10, 2026; any integration still pointed at those base URLs is already broken and must move to the unified `/api/v1/` surface, which also changed IDs from numeric to opaque strings.
- API v1 endpoint paths are strictly lowercase snake_case; a mixed-case path copied from older v2/v9 examples returns a 404 instead of an auth or validation error, which can look like a permissions problem.
- A `sync_token` obtained from a partial sync response is only valid for further partial syncs against the same resource selection; requesting a different resource set without first doing a full sync (`sync_token=*`) can return incomplete data.
- Sync full-sync calls are capped at roughly 100 per 15 minutes per user, well below the 1,000/15-minute partial-sync allowance, so a connector that re-triggers a full resync on every run (instead of persisting `sync_token`) can hit the sync-specific limit long before the general request limit.
Popular destinations for Todoist
Choose a destination below to open the ready pipeline page.
- AAirtable
Relational spreadsheet destination for ops and go-to-market teams.
View pipeline - AAmazon Athena
Serverless SQL over S3 data lake tables.
View pipeline - AAmazon DynamoDB
Serverless key-value and document store on AWS.
View pipeline - AAmazon QuickSight
AWS serverless BI with SPICE and embedded analytics.
View pipeline - AAmazon Redshift
AWS petabyte-scale warehouse with Spectrum.
View pipeline - AAmazon S3 Data Lake
Object storage landing zone for parquet and snapshots.
View pipeline - AApache Superset
Open-source BI for SQL exploration, charts, and dashboard publishing.
View pipeline - AAzure Data Lake Storage
ADLS Gen2 object storage for analytics workloads.
View pipeline - AAzure Synapse
Microsoft analytics workspace with SQL pools.
View pipeline
Todoist connector FAQ
- What Todoist data does the connector extract?
- 6 objects: tasks, projects, sections, labels, comments and completed tasks. Each lands in its own table with types preserved; history-style objects (0) load as append-only streams.
- Is the Todoist integration incremental?
- Yes. After the initial full load, every run reads only records changed since the last watermark (updated-at or event timestamp) and applies an upsert or an append depending on the object.
- Where can I load Todoist data?
- Into 43 destinations: relational databases, cloud warehouses, data lakes, spreadsheets and BI tools. Each Todoist → destination pair has its own page with the object-to-table mapping.
Related sources
Other sources in the same category, each with its own connector page.
Early access
Launch your Todoist pipeline with guided onboarding
Join the waitlist to get priority access for Todoist integrations with guided setup, schema-aware mapping, and production-grade incremental sync.