Todoist
Connect & Ingest data from Todoist
Todoist is a task management and productivity platform for organizing tasks, projects, and team collaboration. The Sling Todoist connector extracts data from the Todoist API v1, supporting projects, sections, tasks, labels, comments, and collaborators.
CLI Pro Required: APIs require a CLI Pro token or Platform Plan.
Setup
The following credentials are accepted:
Secrets:
api_token(required) -> Your Todoist API Token
Getting Your API Token
Log in to Todoist
Click your avatar (top-left corner)
Go to Settings
Navigate to Integrations in the left sidebar
Click Developer
Copy your API token
Important: API tokens grant the same access as your user account. Keep them secure and do not share them.
Using sling conns
sling connsHere are examples of setting a connection named TODOIST. We must provide the type=api property:
Environment Variable
See here to learn more about the .env.sling file.
Sling Env File YAML
See here to learn more about the sling env.yaml file.
Replication
Here's an example replication configuration to sync Todoist data to a PostgreSQL database:
Sync specific endpoints:
Endpoints
projects
All projects accessible to the authenticated user
No
β
sections
All sections across all projects
No
β
tasks
All active tasks
No
β
labels
All personal labels
No
β
comments
Comments for each task
No
tasks
collaborators
Collaborators for each project
No
projects
The connector uses a queue-based architecture to handle Todoist's hierarchical structure. The projects endpoint populates project IDs used by collaborators. The tasks endpoint populates task IDs used by comments.
To discover available endpoints:
Endpoint Details
projects β Returns all projects the authenticated user has access to, including inbox project, shared projects, and their settings (color, view style, access permissions).
sections β Returns all sections across all projects, including section names, ordering, and archive status.
tasks β Returns all active (non-completed) tasks with full detail: content, description, priority, due dates, labels, parent task, project, and section assignment.
labels β Returns all personal labels created by the user, including label names, colors, and ordering.
comments β Returns all comments for each task. Iterates over task IDs collected from the tasks endpoint. Includes comment content, author, timestamps, and file attachments.
collaborators β Returns all collaborators for each project. Iterates over project IDs collected from the projects endpoint. Includes collaborator names and email addresses.
Rate Limiting
The Todoist API enforces rate limits:
Standard limit: 1000 requests per 15 minutes
The connector automatically:
Uses conservative rate limiting (1 request/second with concurrency of 3)
Retries with exponential backoff on 429 (rate limit) responses, up to 5 attempts
Retries with exponential backoff on 5xx server errors, up to 3 attempts
Common Use Cases
Sync All Todoist Data
Sync Tasks and Comments Only
Export Projects and Collaborators
If you are facing issues connecting, please reach out to us at [email protected], on discord or open a Github Issue here.
Last updated
Was this helpful?