# Podio

> Flexible work management with custom apps. Read your organizations, workspaces and apps; find, create, update and delete items; comment; and manage tasks.

App · 20 actions. Web page: https://docs.lodol.com/docs/integrations/podio

## Actions

### Add a comment

Comment on an item or a task.

**Inputs**

- On (`ref_type`, text, required): Whether the comment is on an item or a task. One of: `item`, `task`.
- Item or task ID (`ref_id`, text, required): The item_id or task_id the comment is on.
- Comment (`value`, text, required): The comment's text.
- External ID (`external_id`, text): Your own id for it, to find it again later.
- Invite mentioned people (`alert_invite`, true/false): Invite people @mentioned who are not in the workspace yet. Default: `false`.
- Silent (`silent`, true/false): Don't notify followers or show the change in the activity stream. Default: `false`.

**Outputs**: A comment.

- `comment_id` (text): The comment's id.
- `created_by` (object): A Podio user.
- `created_on` (text): When it was posted (UTC).
- `external_id` (text): The comment's external id.
- `file_count` (number): How many files are attached.
- `like_count` (number): How many likes it has.
- `ref_id` (text): The id of what it is on.
- `ref_type` (text): What it is on: item or task.
- `value` (text): The comment's text.

**Example output**

```json
{
  "comment_id": "987654321",
  "created_by": {
    "name": "Ada Lovelace",
    "user_id": "1234567"
  },
  "created_on": "2026-10-15 10:00:00",
  "like_count": 0,
  "ref_id": "2398765432",
  "ref_type": "item",
  "value": "Looks good."
}
```

### Complete a task

Mark a task as done. A recurring task's next occurrence is returned.

**Inputs**

- Task ID (`task_id`, text, required): The task's id, or its Podio address (podio.com/tasks/...).
- Silent (`silent`, true/false): Don't notify followers or show the change in the activity stream. Default: `false`.

**Outputs**: The completed task.

- `completed` (true/false): Always true.
- `recurring_task_id` (text): The next occurrence, for a recurring task.
- `task_id` (text): The task's id.

**Example output**

```json
{
  "completed": true,
  "task_id": "198765432"
}
```

### Create a task

Create a task, optionally attached to an item, workspace or app.

**Inputs**

- Task (`text`, text, required): What needs doing.
- Description (`description`, text): More detail.
- Due (`due_on`, date and time): When it is due.
- Assign to (`responsible`, list): Podio user ids or email addresses. Blank assigns it to you.
- Attach to (`ref_type`, text): What kind of object to attach the task to. One of: `item`, `space`, `app`.
- Attach to ID (`ref_id`, text): The id of the item, workspace or app.
- Private (`private`, true/false): Only the people on the task can see it. Default: `false`.
- Labels (`labels`, list): Label names for the task.
- External ID (`external_id`, text): Your own id for it, to find it again later.
- Silent (`silent`, true/false): Don't notify followers or show the change in the activity stream. Default: `false`.

**Outputs**: A Podio task.

- `completed_on` (text): When it was completed (UTC).
- `created_by` (object): A Podio user.
- `created_on` (text): When it was created (UTC).
- `description` (text): The task's description.
- `due_date` (text): Due date, in the Podio user's timezone.
- `due_on` (text): Due date and time in UTC.
- `due_time` (text): Due time, in the Podio user's timezone.
- `external_id` (text): The task's external id.
- `labels` (list): The task's labels.
- `link` (text): The task's address in Podio.
- `private` (true/false): Whether only the people on it can see it.
- `ref` (object): What the task is attached to.
- `responsible` (object): A Podio user.
- `space_id` (text): The workspace's id.
- `status` (text): active, completed or deleted.
- `task_id` (text): The task's id.
- `task_ids` (list): Every task created, when it was given to several people.
- `text` (text): The task's text.

**Example output**

```json
{
  "created_on": "2026-10-15 08:00:00",
  "due_on": "2026-10-20 15:00:00",
  "labels": [],
  "link": "https://podio.com/tasks/198765432",
  "ref": {
    "id": "2398765432",
    "title": "Website refresh",
    "type": "item"
  },
  "responsible": {
    "name": "Ada Lovelace",
    "user_id": "1234567"
  },
  "status": "active",
  "task_id": "198765432",
  "text": "Review the brief"
}
```

### Create an item

Add an item to an app.

**Inputs**

- App (`app_id`, text, required): The Podio app.
- Fields (`fields`, object): Values by field, filled from the app's fields. Leave one blank to leave it alone; give [] to clear it. A category takes its option, a relationship an item id, a date YYYY-MM-DD; any value may also be Podio JSON such as {"start_date": "2026-01-01"}.
- External ID (`external_id`, text): Your own id for it, to find it again later.
- Tags (`tags`, list): Tags for the item, as a list or comma-separated text.
- Silent (`silent`, true/false): Don't notify followers or show the change in the activity stream. Default: `false`.

**Outputs**: The created item.

- `app_id` (text): The app's id.
- `item_id` (text): The new item's id.
- `title` (text): The new item's title.

**Example output**

```json
{
  "app_id": "29876543",
  "item_id": "2398765432",
  "title": "Website refresh"
}
```

### Delete a task

Delete a task.

**Inputs**

- Task ID (`task_id`, text, required): The task's id, or its Podio address (podio.com/tasks/...).
- Silent (`silent`, true/false): Don't notify followers or show the change in the activity stream. Default: `false`.

**Outputs**: The deleted task.

- `deleted` (true/false): Always true.
- `task_id` (text): The deleted task's id.

**Example output**

```json
{
  "deleted": true,
  "task_id": "198765432"
}
```

### Delete an item

Delete an item.

**Inputs**

- Item ID (`item_id`, text, required): The item's id (item_id), as returned by 'Filter items' or 'Create an item'. This is not the number in the item's Podio address.
- Silent (`silent`, true/false): Don't notify followers or show the change in the activity stream. Default: `false`.

**Outputs**: The deleted item.

- `deleted` (true/false): Always true.
- `item_id` (text): The deleted item's id.

**Example output**

```json
{
  "deleted": true,
  "item_id": "2398765432"
}
```

### Filter items

List an app's items, optionally filtered and sorted. Text fields cannot be filtered on; use 'Search an app' for those.

**Inputs**

- App (`app_id`, text, required): The Podio app.
- Filters (`filters`, object): Podio filters by field external id or key, e.g. {"status": [1], "external_id": "abc"}. A category takes option ids, a date {"from": "2026-01-01", "to": "2026-01-31"}.
- Created on or after (`created_from`, date): Only items created on or after this date.
- Created on or before (`created_to`, date): Only items created on or before this date.
- Sort by (`sort_by`, text): What to sort the items by. One of: `created_on` (Created on), `last_edit_on` (Last edit on), `created_by` (Created by), `last_edit_by` (Last edit by), `app_item_id` (App item id), `item_id` (Item id), `activity`, `priority`, `title`.
- Newest or largest first (`sort_desc`, true/false): Sort in descending order. Default: `false`.
- Limit (`limit`, number): How many to return (default 30, at most 500). From 1 to 500.
- Offset (`offset`, number): How many results to skip, for paging. At least 0.

**Outputs**: The matching items.

- `count` (number): How many items were returned.
- `filtered` (number): How many items match the filters.
- `has_more` (true/false): Whether more matching items exist past this page.
- `items` (list): The items.
- `total` (number): How many items the app has.

**Example output**

```json
{
  "count": 1,
  "filtered": 1,
  "has_more": false,
  "items": [
    {
      "app_id": "29876543",
      "app_item_id": "12",
      "app_name": "Projects",
      "comment_count": 1,
      "created_by": {
        "name": "Ada Lovelace",
        "user_id": "1234567"
      },
      "created_on": "2026-10-01 09:30:00",
      "fields": [
        {
          "external_id": "title",
          "field_id": "234567890",
          "label": "Title",
          "type": "text",
          "values": [
            {
              "value": "Website refresh"
            }
          ]
        }
      ],
      "file_count": 0,
      "item_id": "2398765432",
      "link": "https://podio.com/lodol/operations/apps/projects/items/12",
      "revision": 3,
      "tags": [
        "web"
      ],
      "title": "Website refresh",
      "values": {
        "title": "Website refresh"
      }
    }
  ],
  "total": 1
}
```

### Get a task

Get a task, with who it is assigned to and what it is attached to.

**Inputs**

- Task ID (`task_id`, text, required): The task's id, or its Podio address (podio.com/tasks/...).

**Outputs**: A Podio task.

- `completed_on` (text): When it was completed (UTC).
- `created_by` (object): A Podio user.
- `created_on` (text): When it was created (UTC).
- `description` (text): The task's description.
- `due_date` (text): Due date, in the Podio user's timezone.
- `due_on` (text): Due date and time in UTC.
- `due_time` (text): Due time, in the Podio user's timezone.
- `external_id` (text): The task's external id.
- `labels` (list): The task's labels.
- `link` (text): The task's address in Podio.
- `private` (true/false): Whether only the people on it can see it.
- `ref` (object): What the task is attached to.
- `responsible` (object): A Podio user.
- `space_id` (text): The workspace's id.
- `status` (text): active, completed or deleted.
- `task_id` (text): The task's id.
- `task_ids` (list): Every task created, when it was given to several people.
- `text` (text): The task's text.

**Example output**

```json
{
  "created_on": "2026-10-15 08:00:00",
  "due_on": "2026-10-20 15:00:00",
  "labels": [],
  "link": "https://podio.com/tasks/198765432",
  "ref": {
    "id": "2398765432",
    "title": "Website refresh",
    "type": "item"
  },
  "responsible": {
    "name": "Ada Lovelace",
    "user_id": "1234567"
  },
  "status": "active",
  "task_id": "198765432",
  "text": "Review the brief"
}
```

### Get a workspace

Get a workspace's name, privacy, your role and who created it.

**Inputs**

- Workspace (`space_id`, text, required): The Podio workspace.

**Outputs**: A Podio workspace.

- `auto_join` (true/false): Whether new organization members join it automatically.
- `created_by` (object): A Podio user.
- `created_on` (text): When it was created (UTC).
- `name` (text): The workspace's name.
- `org_id` (text): The organization's id.
- `privacy` (text): open or closed.
- `role` (text): Your role in it.
- `space_id` (text): The workspace's id.
- `subscribed` (true/false): Whether you follow it.
- `type` (text): regular or emp_network.
- `url` (text): The workspace's address in Podio.
- `url_label` (text): The workspace's URL label.

**Example output**

```json
{
  "name": "Operations",
  "org_id": "1122334",
  "privacy": "closed",
  "role": "admin",
  "space_id": "7654321",
  "type": "regular",
  "url": "https://podio.com/lodol/operations"
}
```

### Get an app

Get an app and its fields, with each field's external id (the key to use when creating or updating items) and a category field's options.

**Inputs**

- App (`app_id`, text, required): The Podio app.

**Outputs**: A Podio app.

- `app_id` (text): The app's id.
- `description` (text): The app's description.
- `external_id` (text): The app's external id.
- `fields` (list): The app's fields (only when getting one app).
- `icon` (text): The app's icon.
- `item_name` (text): What one item is called.
- `name` (text): The app's name.
- `space_id` (text): The workspace's id.
- `status` (text): active, inactive or deleted.
- `type` (text): standard, meeting or contact.

**Example output**

```json
{
  "app_id": "29876543",
  "fields": [
    {
      "external_id": "title",
      "field_id": "234567890",
      "label": "Title",
      "required": true,
      "status": "active",
      "type": "text"
    }
  ],
  "item_name": "Project",
  "name": "Projects",
  "space_id": "7654321",
  "status": "active",
  "type": "standard"
}
```

### Get an item

Get an item with all its field values.

**Inputs**

- Item ID (`item_id`, text, required): The item's id (item_id), as returned by 'Filter items' or 'Create an item'. This is not the number in the item's Podio address.

**Outputs**: A Podio item.

- `app_id` (text): The app's id.
- `app_item_id` (text): The item's number within the app, as shown in Podio.
- `app_name` (text): The app's name.
- `comment_count` (number): How many comments it has.
- `created_by` (object): A Podio user.
- `created_on` (text): When it was created (UTC).
- `external_id` (text): The item's external id.
- `fields` (list): Each field with its raw values.
- `file_count` (number): How many files it has.
- `item_id` (text): The item's id.
- `last_event_on` (text): When it last changed (UTC).
- `link` (text): The item's address in Podio.
- `revision` (number): The item's current revision.
- `tags` (list): The item's tags.
- `title` (text): The item's title.
- `values` (object): Each field's value by external id: a date's start, a category's text, a related item's title; a list when there are several.

**Example output**

```json
{
  "app_id": "29876543",
  "app_item_id": "12",
  "app_name": "Projects",
  "comment_count": 1,
  "created_by": {
    "name": "Ada Lovelace",
    "user_id": "1234567"
  },
  "created_on": "2026-10-01 09:30:00",
  "fields": [
    {
      "external_id": "title",
      "field_id": "234567890",
      "label": "Title",
      "type": "text",
      "values": [
        {
          "value": "Website refresh"
        }
      ]
    }
  ],
  "file_count": 0,
  "item_id": "2398765432",
  "link": "https://podio.com/lodol/operations/apps/projects/items/12",
  "revision": 3,
  "tags": [
    "web"
  ],
  "title": "Website refresh",
  "values": {
    "title": "Website refresh"
  }
}
```

### Get an item by its number

Get an item by its number within the app: the number at the end of its Podio address.

**Inputs**

- App (`app_id`, text, required): The Podio app.
- Item number (`app_item_id`, text, required): The item's number in the app, or its Podio address (.../items/12).

**Outputs**: A Podio item.

- `app_id` (text): The app's id.
- `app_item_id` (text): The item's number within the app, as shown in Podio.
- `app_name` (text): The app's name.
- `comment_count` (number): How many comments it has.
- `created_by` (object): A Podio user.
- `created_on` (text): When it was created (UTC).
- `external_id` (text): The item's external id.
- `fields` (list): Each field with its raw values.
- `file_count` (number): How many files it has.
- `item_id` (text): The item's id.
- `last_event_on` (text): When it last changed (UTC).
- `link` (text): The item's address in Podio.
- `revision` (number): The item's current revision.
- `tags` (list): The item's tags.
- `title` (text): The item's title.
- `values` (object): Each field's value by external id: a date's start, a category's text, a related item's title; a list when there are several.

**Example output**

```json
{
  "app_id": "29876543",
  "app_item_id": "12",
  "app_name": "Projects",
  "comment_count": 1,
  "created_by": {
    "name": "Ada Lovelace",
    "user_id": "1234567"
  },
  "created_on": "2026-10-01 09:30:00",
  "fields": [
    {
      "external_id": "title",
      "field_id": "234567890",
      "label": "Title",
      "type": "text",
      "values": [
        {
          "value": "Website refresh"
        }
      ]
    }
  ],
  "file_count": 0,
  "item_id": "2398765432",
  "link": "https://podio.com/lodol/operations/apps/projects/items/12",
  "revision": 3,
  "tags": [
    "web"
  ],
  "title": "Website refresh",
  "values": {
    "title": "Website refresh"
  }
}
```

### List apps

List the apps in a workspace.

**Inputs**

- Workspace (`space_id`, text, required): The Podio workspace.
- Include inactive apps (`include_inactive`, true/false): Also list apps that have been deactivated. Default: `false`.

**Outputs**: The apps.

- `apps` (list): The apps.
- `count` (number): How many apps were returned.

**Example output**

```json
{
  "apps": [
    {
      "app_id": "29876543",
      "item_name": "Project",
      "name": "Projects",
      "space_id": "7654321",
      "status": "active",
      "type": "standard"
    }
  ],
  "count": 1
}
```

### List comments

List the comments on an item or a task, oldest first.

**Inputs**

- On (`ref_type`, text, required): Whether the comment is on an item or a task. One of: `item`, `task`.
- Item or task ID (`ref_id`, text, required): The item_id or task_id the comment is on.
- Limit (`limit`, number): How many to return (default 100, at most 100). From 1 to 100.
- Offset (`offset`, number): How many results to skip, for paging. At least 0.

**Outputs**: The comments.

- `comments` (list): The comments.
- `count` (number): How many comments were returned.

**Example output**

```json
{
  "comments": [
    {
      "comment_id": "987654321",
      "created_by": {
        "name": "Ada Lovelace",
        "user_id": "1234567"
      },
      "created_on": "2026-10-15 10:00:00",
      "like_count": 0,
      "ref_id": "2398765432",
      "ref_type": "item",
      "value": "Looks good."
    }
  ],
  "count": 1
}
```

### List organizations

List the Podio organizations you belong to, each with its workspaces. Useful as a connection check.

**Inputs**: None.

**Outputs**: The organizations.

- `count` (number): How many organizations were returned.
- `organizations` (list): The organizations.

**Example output**

```json
{
  "count": 1,
  "organizations": [
    {
      "name": "Lodol",
      "org_id": "1122334",
      "spaces": [
        {
          "name": "Operations",
          "role": "admin",
          "space_id": "7654321",
          "type": "regular",
          "url": "https://podio.com/lodol/operations"
        }
      ],
      "status": "active",
      "type": "free"
    }
  ]
}
```

### List tasks

List tasks by who they are assigned to, what they are attached to, or their workspace, organization or app. With no filter, lists your own tasks.

**Inputs**

- Assigned to (`responsible`, text): A Podio user id; 0 for yourself.
- Attached to (`reference_type`, text): Only tasks attached to this kind of object. One of: `item`, `space`, `app`.
- Attached to ID (`reference_id`, text): The id of that item, workspace or app.
- Workspace (`space_id`, text): Only tasks in this workspace.
- Organization (`org_id`, text): Only tasks in this organization.
- App (`app_id`, text): Only tasks on this app's items.
- Completed (`completed`, text): Only completed (Yes) or open (No) tasks. Blank lists both. One of: `yes`, `no`.
- Due on or after (`due_from`, date): Only tasks due on or after this date.
- Due on or before (`due_to`, date): Only tasks due on or before this date.
- Sort by (`sort_by`, text): What to sort the tasks by. One of: `rank`, `created_on` (Created on), `completed_on` (Completed on).
- Descending (`sort_desc`, true/false): Sort in descending order. Default: `false`.
- Limit (`limit`, number): How many to return (default 20, at most 100). From 1 to 100.
- Offset (`offset`, number): How many results to skip, for paging. At least 0.

**Outputs**: The tasks.

- `count` (number): How many tasks were returned.
- `tasks` (list): The tasks.

**Example output**

```json
{
  "count": 1,
  "tasks": [
    {
      "created_on": "2026-10-15 08:00:00",
      "due_on": "2026-10-20 15:00:00",
      "labels": [],
      "link": "https://podio.com/tasks/198765432",
      "ref": {
        "id": "2398765432",
        "title": "Website refresh",
        "type": "item"
      },
      "responsible": {
        "name": "Ada Lovelace",
        "user_id": "1234567"
      },
      "status": "active",
      "task_id": "198765432",
      "text": "Review the brief"
    }
  ]
}
```

### List workspaces

List the workspaces in an organization.

**Inputs**

- Organization (`org_id`, text, required): The Podio organization.

**Outputs**: The workspaces.

- `count` (number): How many workspaces were returned.
- `spaces` (list): The workspaces.

**Example output**

```json
{
  "count": 1,
  "spaces": [
    {
      "name": "Operations",
      "role": "admin",
      "space_id": "7654321",
      "type": "regular",
      "url": "https://podio.com/lodol/operations"
    }
  ]
}
```

### Search an app

Search an app's items, tasks or files by text. Newly added items can take a little while to appear.

**Inputs**

- App (`app_id`, text, required): The Podio app.
- Search for (`query`, text, required): The text to search for.
- Only (`ref_type`, text): Only return this kind of result. One of: `item`, `task`, `file`.
- Search in (`search_fields`, list): Limit the search to these parts, e.g. title, text_values, email_values, tags, comments.
- Limit (`limit`, number): How many to return (default 20, at most 20). From 1 to 20.
- Offset (`offset`, number): How many results to skip, for paging. At least 0.

**Outputs**: The results.

- `count` (number): How many results were returned.
- `results` (list): The results.

**Example output**

```json
{
  "count": 1,
  "results": [
    {
      "app_id": "29876543",
      "id": "2398765432",
      "title": "Website refresh",
      "type": "item"
    }
  ]
}
```

### Update a task

Change a task's text, description, due date, assignee or privacy, or mark it done or not done. Only what you give is changed.

**Inputs**

- Task ID (`task_id`, text, required): The task's id, or its Podio address (podio.com/tasks/...).
- Task (`text`, text): The new text.
- Description (`description`, text): The new description.
- Due date (`due_date`, date): The new due date, in the Podio user's timezone.
- Due time (`due_time`, time): The new due time, in the Podio user's timezone. Needs a due date.
- Assign to (`responsible`, text): The Podio user id to assign it to.
- Private (`private`, text): Make it private (Yes) or visible to the workspace (No). Blank leaves it as it is. One of: `yes`, `no`.
- Completed (`completed`, text): Mark it done (Yes) or not done (No). Blank leaves it as it is. One of: `yes`, `no`.

**Outputs**: A Podio task.

- `completed_on` (text): When it was completed (UTC).
- `created_by` (object): A Podio user.
- `created_on` (text): When it was created (UTC).
- `description` (text): The task's description.
- `due_date` (text): Due date, in the Podio user's timezone.
- `due_on` (text): Due date and time in UTC.
- `due_time` (text): Due time, in the Podio user's timezone.
- `external_id` (text): The task's external id.
- `labels` (list): The task's labels.
- `link` (text): The task's address in Podio.
- `private` (true/false): Whether only the people on it can see it.
- `ref` (object): What the task is attached to.
- `responsible` (object): A Podio user.
- `space_id` (text): The workspace's id.
- `status` (text): active, completed or deleted.
- `task_id` (text): The task's id.
- `task_ids` (list): Every task created, when it was given to several people.
- `text` (text): The task's text.

**Example output**

```json
{
  "created_on": "2026-10-15 08:00:00",
  "due_on": "2026-10-20 15:00:00",
  "labels": [],
  "link": "https://podio.com/tasks/198765432",
  "ref": {
    "id": "2398765432",
    "title": "Website refresh",
    "type": "item"
  },
  "responsible": {
    "name": "Ada Lovelace",
    "user_id": "1234567"
  },
  "status": "active",
  "task_id": "198765432",
  "text": "Review the final brief"
}
```

### Update an item

Change an item's field values, external id or tags. Only what you give is changed.

**Inputs**

- Item ID (`item_id`, text, required): The item's id (item_id), as returned by 'Filter items' or 'Create an item'. This is not the number in the item's Podio address.
- App (`app_id`, text): The item's app, to fill the Fields editor and check field names. Optional.
- Fields (`fields`, object): Values by field, filled from the app's fields. Leave one blank to leave it alone; give [] to clear it. A category takes its option, a relationship an item id, a date YYYY-MM-DD; any value may also be Podio JSON such as {"start_date": "2026-01-01"}.
- External ID (`external_id`, text): Your own id for it, to find it again later.
- Tags (`tags`, list): Replaces the item's tags.
- Revision (`revision`, number): Only update if the item is still at this revision (from 'Get an item'); otherwise the step fails. At least 0.
- Silent (`silent`, true/false): Don't notify followers or show the change in the activity stream. Default: `false`.

**Outputs**: The updated item.

- `item_id` (text): The item's id.
- `revision` (number): The item's new revision.
- `title` (text): The item's title.

**Example output**

```json
{
  "item_id": "2398765432",
  "revision": 4,
  "title": "Website refresh"
}
```
