Checking authentication...

Tasks

Manage Podio tasks and task labels

9 tools

Create Tasks

Write

POST /v1/tools/podio/createTasks

Create one or more tasks in a single call. Each task requires "text" at minimum. Use due_date (YYYY-MM-DD) for date-only, or due_on (YYYY-MM-DD HH:MM:SS) for date+time. Times in due_on and due_time are in the user's local timezone and automatically converted to UTC. To attach to an item, set ref_type: "item" and ref_id to the item_id. Set responsible to assign. Use labels for categorization. file_ids accepts numeric Podio file IDs or URLs starting with https:// — URLs are automatically uploaded and converted to file IDs. hook and silent flags apply to all tasks in the batch.

Parameters

NameTypeRequiredDescription
tasksarrayrequiredArray of tasks to create. Each task requires "text" at minimum.
hookbooleanoptionalExecute hooks for all tasks in the batch
silentbooleanoptionalSuppress notifications for all tasks in the batch

Request

curl -X POST https://api.syncello.io/v1/tools/podio/createTasks \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"
  -d '{
  "tasks": "..."
}'

Response

{
  "total": 1,
  "successful": 1,
  "failed": 0,
  "tasks": [
    {
      "index": 0,
      "success": true,
      "created": true,
      "task_id": 315000123,
      "text": "Prepare contract draft"
    }
  ]
}

Try It

Try it

Sign in to execute this tool

Get Task

Read Idempotent

POST /v1/tools/podio/getTask

Get a task by ID. Returns full task details: text, description, due_on, responsible, labels, files, and reminders. Use getTasks to find the task_id first.

Parameters

NameTypeRequiredDescription
task_idnumberrequiredTask ID. Use getTasks to find this value.

Request

curl -X POST https://api.syncello.io/v1/tools/podio/getTask \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"
  -d '{
  "task_id": "123"
}'

Response

{
  "task_id": 315000123,
  "text": "Prepare contract draft",
  "description": "Draft the enterprise agreement for Northwind Traders",
  "status": "active",
  "completed_on": null,
  "due_date": "2026-08-01",
  "due_on": "2026-08-01 23:59:59",
  "responsible": {
    "user_id": 1122334,
    "name": "Jane Doe"
  },
  "created_by": {
    "user_id": 1122334,
    "name": "Jane Doe",
    "type": "user"
  },
  "created_on": "2026-07-01 14:37:00",
  "ref": {
    "type": "item",
    "id": 3141592653,
    "title": "Northwind Traders"
  },
  "labels": [],
  "files": [],
  "link": "https://podio.com/tasks/315000123",
  "private": false,
  "started": false
}

Try It

Try it

Sign in to execute this tool

Update Tasks

Write

POST /v1/tools/podio/updateTasks

Update one or more tasks in a single call. Each update requires a task_id and at least one field to change. Only specified fields are changed per task. Set completed: true to mark done. Use labels to assign label IDs or text strings. Use responsible to reassign. Times in due_on and due_time are in the user's local timezone and automatically converted to UTC. file_ids accepts numeric Podio file IDs or URLs starting with https:// — URLs are automatically uploaded and converted to file IDs. hook and silent flags apply to all updates in the batch.

Parameters

NameTypeRequiredDescription
tasksarrayrequiredArray of task updates. Each requires task_id and at least one field to change.
hookbooleanoptionalExecute hooks for all updates in the batch
silentbooleanoptionalSuppress notifications for all updates in the batch

Request

curl -X POST https://api.syncello.io/v1/tools/podio/updateTasks \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"
  -d '{
  "tasks": "..."
}'

Response

{
  "total": 1,
  "successful": 1,
  "failed": 0,
  "tasks": [
    {
      "index": 0,
      "success": true,
      "updated": true,
      "task_id": 315000123
    }
  ]
}

Try It

Try it

Sign in to execute this tool

Delete Tasks

Destructive

POST /v1/tools/podio/deleteTasks

Permanently delete one or more tasks in a single call. This cannot be undone. Use getTask first to verify the correct tasks before deleting. hook and silent flags apply to all deletions in the batch.

Parameters

NameTypeRequiredDescription
task_idsarrayrequiredArray of task IDs to delete. Use getTask first to verify these are the correct tasks.
hookbooleanoptionalExecute hooks for all deletions in the batch
silentbooleanoptionalSuppress notifications for all deletions in the batch

Request

curl -X POST https://api.syncello.io/v1/tools/podio/deleteTasks \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"
  -d '{
  "task_ids": "..."
}'

Response

{
  "total": 1,
  "successful": 1,
  "failed": 0,
  "tasks": [
    {
      "index": 0,
      "success": true,
      "deleted": true,
      "task_id": 315000123
    }
  ]
}

Try It

Try it

Sign in to execute this tool

Get Tasks

Read Idempotent

POST /v1/tools/podio/getTasks

List and filter tasks. Defaults to the authenticated user's tasks when no filtering parameter is provided. Set summary: true for grouped counts (overdue, due today, due this week) instead of full task list. Use completed: false for active tasks only. Use view: "full" for complete task details.

Parameters

NameTypeRequiredDescription
summarybooleanoptionalSet to true for a grouped summary (overdue, due today, due this week, other) with counts and sample tasks instead of a full list. Defaults to false.
completedbooleanoptionalFilter by completion status. Set to false for active tasks only.
responsiblestringoptionalUser IDs (comma-separated)
due_datestringoptionalDate range in YYYY-MM-DD-YYYY-MM-DD format
created_onstringoptionalCreated date range in YYYY-MM-DD-YYYY-MM-DD format
completed_onstringoptionalCompleted date range in YYYY-MM-DD-YYYY-MM-DD format
created_bystringoptionalCreator entities
completed_bystringoptionalCompleter entities
created_viastringoptionalClient ID that created the task
labelnumberoptionalLabel ID to filter by
spacestringoptionalSpace IDs (comma-separated)
orgstringoptionalOrganization IDs (comma-separated)
appstringoptionalApp IDs (comma-separated)
referencestringoptionalReferences "type:id" (semicolon-separated)
external_idstringoptionalExternal ID of the task
filesbooleanoptionalFilter by file presence
reassignedbooleanoptionalFilter by reassignment status
groupingstringoptionalGroup by: due_date, created_by, responsible, app, space, or org
sort_bystringoptionalSort by: created_on, completed_on, or rank (default: rank)
sort_descbooleanoptionalSort descending (default: false)
limitnumberoptionalMaximum number of tasks to return (max 100), or sample tasks per group when summary: true
offsetnumberoptionalOffset for pagination (default: 0)
viewstringoptionalSet to "full" for complete task details

Request

curl -X POST https://api.syncello.io/v1/tools/podio/getTasks \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"

Response

[
  {
    "task_id": 315000123,
    "text": "Prepare contract draft",
    "description": null,
    "due_date": "2026-08-01",
    "status": "active",
    "group": "due_this_week",
    "private": false,
    "responsible": "Jane Doe",
    "labels": [],
    "link": "https://podio.com/tasks/315000123",
    "ref_type": "item",
    "ref_title": "Northwind Traders",
    "ref_app": "Deals",
    "ref_link": "https://podio.com/acme-corp/deals/items/1"
  }
]

Try It

Try it

Sign in to execute this tool

Create Label

Write

POST /v1/tools/podio/createLabel

Create a new task label for the authenticated user. Returns the label_id of the newly created label. Use getLabels to see existing labels first to avoid duplicates.

Parameters

NameTypeRequiredDescription
textstringrequiredThe name of the label
colorstringrequiredThe color of the label in hex format (6 characters, e.g. "FF0000" for red)

Request

curl -X POST https://api.syncello.io/v1/tools/podio/createLabel \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"
  -d '{
  "text": "example",
  "color": "example"
}'

Response

{
  "created": true,
  "label_id": 108000456,
  "text": "Urgent",
  "color": "FF0000"
}

Try It

Try it

Sign in to execute this tool

Get Labels

Read Idempotent

POST /v1/tools/podio/getLabels

Get all task labels for the authenticated user. Returns an array of labels with label_id, text, and color (hex). Use this to find label IDs before assigning labels to tasks via updateTasks.

Request

curl -X POST https://api.syncello.io/v1/tools/podio/getLabels \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"

Response

[
  {
    "label_id": 108000456,
    "text": "Urgent",
    "color": "FF5A60"
  },
  {
    "label_id": 108000457,
    "text": "Follow Up",
    "color": "DCEBD8"
  }
]

Try It

Try it

Sign in to execute this tool

Update Label

Write Idempotent

POST /v1/tools/podio/updateLabel

Update an existing task label. Use getLabels first to find the label_id. You can update the text, color, or both.

Parameters

NameTypeRequiredDescription
label_idnumberrequiredThe ID of the label to update. Use getLabels to find this value.
textstringoptionalThe new name for the label
colorstringoptionalThe new color in hex format (6 characters, e.g. "00FF00" for green)

Request

curl -X POST https://api.syncello.io/v1/tools/podio/updateLabel \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"
  -d '{
  "label_id": "123"
}'

Response

{
  "updated": true,
  "label_id": 108000456,
  "text": "High Priority",
  "color": "FF0000"
}

Try It

Try it

Sign in to execute this tool

Delete Label

Destructive

POST /v1/tools/podio/deleteLabel

Permanently delete a task label. This removes the label from ALL tasks that use it. Use getLabels first to find the label_id and verify the correct label before deleting.

Parameters

NameTypeRequiredDescription
label_idnumberrequiredThe ID of the label to delete. Use getLabels to find this value. The label will be removed from all tasks.

Request

curl -X POST https://api.syncello.io/v1/tools/podio/deleteLabel \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"
  -d '{
  "label_id": "123"
}'

Response

{
  "deleted": true,
  "label_id": 108000456
}

Try It

Try it

Sign in to execute this tool