Todoist
Create, update, and complete tasks in Todoist.
On this page
Connect
Auth type: API key (secret_text). Paste the API key (or token) from the provider's settings into the connect dialog. It is encrypted at rest and only decrypted on the server when an action runs.
- In the editor: Backend panel, Integrations tab, then Connect. This connects it for the project.
- For every project in a workspace: Workspace settings, Integrations.
- Owners and admins choose which integrations members may connect in the admin panel (Integrations tab), and can attach their own OAuth app there.
Call it from a workflow
Pass the action name and its input. The call resolves with { success, output, error? }; a missing connection resolves with success false and the reason. See ctx.integrations.invoke and ctx.integrations.call.
// .workflow.js (native ctx)
export async function run(ctx) {
const res = await ctx.integrations.invoke("todoist", "create_task", {
"content": "<content>"
});
if (!res.success) throw new Error(res.error);
ctx.log.info("Todoist answered", { output: res.output });
}// defineWorkflow module (@app/sdk ctx)
import { defineWorkflow } from "@app/sdk";
export default defineWorkflow({
id: "todoist-create-task",
name: "Todoist: Create Task",
description: "Calls Todoist when a row is created.",
trigger: { type: "entity_event", entity: "tickets", event: "created" },
async run(ctx, event) {
const res = await ctx.integrations.call("todoist", {
"action": "create_task",
"content": "<content>"
}) as { success: boolean; error?: string };
if (!res.success) throw new Error(res.error);
},
});curl -X POST "$APP_ORIGIN/__appbricx/connector-proxy/todoist/create_task" \
-H "Authorization: Bearer $APP_KEY" \
-H "content-type: application/json" \
-d '{"props":{"content":"<content>"}}'Actions
create_taskin catalog
Create Task. Create task
| Input | Type | Description |
|---|---|---|
project_idoptional | id (picked from your account) | Task project ID. If not set, task is put to user's Inbox. |
contentrequired | long text | The task's content. It may contain some markdown-formatted text and hyperlinks |
descriptionoptional | long text | A description for the task. This value may contain some markdown-formatted text and hyperlinks. |
labelsoptional | array | The task's labels (a list of names that may represent either personal or shared labels) |
priorityoptional | number | Task priority from 1 (normal) to 4 (urgent) |
due_dateoptional | text | Can be either a specific date in YYYY-MM-DD format relative to user's timezone, a specific date and time in RFC3339 format, or a human defined date (e.g. 'next Monday') using local time |
section_idoptional | id (picked from your account) | Section |
find_taskin catalog
Find Task. Finds a task by name.
| Input | Type | Description |
|---|---|---|
namerequired | text | The name of the task to search for. |
project_idoptional | id (picked from your account) | Search for tasks within the selected project. If left blank, then all projects are searched. |
update_taskin catalog
Update Task. Updates an existing task.
| Input | Type | Description |
|---|---|---|
task_idrequired | text | Task ID |
contentoptional | long text | The task's content. It may contain some markdown-formatted text and hyperlinks |
descriptionoptional | long text | A description for the task. This value may contain some markdown-formatted text and hyperlinks. |
labelsoptional | array | The task's labels (a list of names that may represent either personal or shared labels) |
priorityoptional | number | Task priority from 1 (normal) to 4 (urgent) |
due_dateoptional | text | Can be either a specific date in YYYY-MM-DD format relative to user's timezone, a specific date and time in RFC3339 format, or a human defined date (e.g. 'next Monday') using local time |
custom_api_call
Custom API Call. Make a custom API call to a specific endpoint
| Input | Type | Description |
|---|---|---|
urlrequired | object (depends on other props) | url |
methodrequired | one of "GET" | "POST" | "PATCH" | "PUT" | "DELETE" | "HEAD" | Method |
headersrequired | object | Authorization headers are injected automatically from your connection. |
queryParamsrequired | object | Query Parameters |
body_typeoptional | one of "none" | "json" | "form_data" | "raw" | Body Type |
bodyoptional | object (depends on other props) | Body |
response_is_binaryoptional | boolean | Enable for files like PDFs, images, etc. |
failsafeoptional | boolean | No Error on Failure |
timeoutoptional | number | Timeout (in seconds) |
followRedirectsoptional | boolean | Follow redirects |
mark_task_completed
Mark Task as Completed. Marks a task as being completed.
| Input | Type | Description |
|---|---|---|
task_idrequired | text | Task ID |
Details
- Id
todoist- Category
- Productivity
- Tags
- tasks, todo, personal-productivity, gtd
- Package
@activepieces/piece-todoist@0.4.6- Tier
- Built in