This site contains the documentation that is relevant to older WSO2 product versions and offerings.
For the latest WSO2 documentation, visit https://wso2.com/documentation/.

Working with Tasks in Podio



Overview

The following operations allow you to work with tasks. Click an operation name to see details on how to use it.

For a sample proxy service that illustrates how to work with tasks, see Sample configuration

OperationDescription
assignTaskAssigns a task to a user.
completeTaskMarks the task as complete.

createTask

Creates a task.
getTaskRetrieves the task details.
incompleteTaskMarks the task as incomplete.
listTasksRetrieves tasks.
updateTaskUpdates a task.

Operation details

This section provides further details on the operations related to tasks.

Assigning a task to a user

The assignTask operation assigns a task to a user. This makes the user responsible for the task and its completion. 

assignTask
<podio.assignTask>
    <isSilent>{$ctx:isSilent}</isSilent>
    <taskId>{$ctx:taskId}</taskId>
	<responsible>{$ctx:responsible}</responsible>
</podio.assignTask>
Properties
  • isSilent: The value to enable the stream and notifications for the object.
  • taskId: The ID of the task.
  • responsible: The contact responsible for the task.
Sample Request

Following is a sample REST/JSON request that can be handled by the assignTask operation.

Sample Request for assignTask
{
  "apiUrl": "https://api.podio.com",
  "accessToken": "d562991e24ef4eca9e3adfe2afe31550",
  "taskId":"28856457",
  "isSilent":"true",
  "responsible":"2709263"
}
Related Podio Documentation 

Marking the task as complete

The completeTask operation marks the given task as complete. 

completeTask
<podio.completeTask>
    <isSilent>{$ctx:isSilent}</isSilent>
    <taskId>{$ctx:taskId}</taskId>
	<isHook>{$ctx:isHook}</isHook>
</podio.completeTask>
Properties
  • isSilent: The value to enable the stream and notifications for the object.
  • taskId: The ID of the task.
  • isHook: The value to enable hooks to be executed.
Sample Request

Following is a sample REST/JSON request that can be handled by the completeTask operation.

Sample Request for completeTask
{
  "apiUrl": "https://api.podio.com",
  "accessToken": "d562991e24ef4eca9e3adfe2afe31550",
  "taskId":"28856457",
  "isSilent":"true",
  "isHook":"true"
}
Related Podio Documentation

https://developers.podio.com/doc/tasks/complete-task-22432

Creating a task

The createTask operation creates a new task with no reference to other objects.

createTask
<podio.createTask>
    <isSilent>{$ctx:isSilent}</isSilent>
    <remindDelta>{$ctx:remindDelta}</remindDelta>
    <isHook>{$ctx:isHook}</isHook>
    <text>{$ctx:text}</text>
    <labelIds>{$ctx:labelIds}</labelIds>
    <responsible>{$ctx:responsible}</responsible>
    <labels>{$ctx:labels}</labels>
    <externalId>{$ctx:externalId}</externalId>
    <isPrivate>{$ctx:isPrivate}</isPrivate>
    <dueTime>{$ctx:dueTime}</dueTime>
    <fileIds>{$ctx:fileIds}</fileIds>
    <recurrenceName>{$ctx:recurrenceName}</recurrenceName>
    <recurrenceConfigDays>{$ctx:recurrenceConfigDays}</recurrenceConfigDays>
    <recurrenceRepeatOn>{$ctx:recurrenceRepeatOn}</recurrenceRepeatOn>
    <recurrenceStep>{$ctx:recurrenceStep}</recurrenceStep>
    <recurrenceUntil>{$ctx:recurrenceUntil}</recurrenceUntil>
    <description>{$ctx:description}</description>
    <dueOn>{$ctx:dueOn}</dueOn>
	<dueDate>{$ctx:dueDate}</dueDate>
</podio.createTask>
Properties
  • isSilent: The value to enable the stream and notifications for the object.
  • remindDelta: The reminder value for the task.
  • isHook: The value to enable hooks to be executed.
  • text: The text of the task.
  • labelIds: The list label IDs for the task.
  • responsible: The contact(s) responsible for the task.
  • labels: The list of labels for the task.
  • externalId: The external ID for the task.
  • isPrivate: The Boolean value indicating whether to make the task private.
  • dueTime: The due time of the task.
  • fileIds: The list of files to attach to this task.
  • recurrenceName: The name of the recurrence for the task.
  • recurrenceConfigDays: The list of weekdays for the recurrence.
  • recurrenceRepeatOn: The repeat day for the recurrence.
  • recurrenceStep: The step size for the recurrence.
  • recurrenceUntil: The latest date on which the recurrence should take place.
  • description: The description of the task.
  • dueOn: The due date and time of the task.
  • dueDate: The due date of the task.
Sample Request

Following is a sample REST/JSON request that can be handled by the createTask operation.

Sample Request for createTask
{
  "apiUrl": "https://api.podio.com",
  "accessToken": "0232fb69b01d4ee18bcde5ee288faff4",
  "text":"Test Task1",
  "description":"Test Task Desc",
  "isPrivate" :"true",
  "dueDate":"2015-03-17",
  "dueTime":"12:21:10",
  "dueOn":"2015-03-17 11:21:10",
  "externalId":"1111",
  "remindDelta":"45",
  "responsible":[{"type": "user", "id": 2709263}],
  "labels":["B"],
  "labelIds":[1681420],
  "recurrenceName":"weekly",
  "recurrenceConfigDays":["monday", "tuesday"],
  "recurrenceRepeatOn":5,
  "recurrenceStep":"1",
  "recurrenceUntil":"2015-03-19",
  "isSilent":"true",
  "isHook":"true"
}
Related Podio Documentation

https://developers.podio.com/doc/tasks/create-task-22419

Retrieving the task details

The getTask operation retrieves the task details for the given ID. 

getTask
<podio.getTask>
	<taskId>{$ctx:taskId}</taskId>
</podio.getTask>
Properties
  • taskId: The ID of the task.
Sample Request

Following is a sample REST/JSON request that can be handled by the getTask operation.

Sample Request for getTask
{
  "apiUrl": "https://api.podio.com",
  "accessToken": "d562991e24ef4eca9e3adfe2afe31550",
  "taskId":"28856457"
}
Related Podio Documentation

https://developers.podio.com/doc/tasks/get-task-22413

Marking the task as incomplete

The incompleteTask operation marks the completed task as no longer being completed.

incompleteTask
<podio.incompleteTask>
    <isSilent>{$ctx:isSilent}</isSilent>
    <taskId>{$ctx:taskId}</taskId>
	<isHook>{$ctx:isHook}</isHook>
</podio.incompleteTask>
Properties
  • isSilent: If set to "true", the object will not be bumped up in the stream and notifications will not be generated.
  • taskId: The ID of the task.
  • isHook: Indicates whether hooks should be executed for the change.
Sample Request

Following is a sample REST/JSON request that can be handled by the incompleteTask operation.

Sample Request for incompleteTask
{
	"apiUrl":"https://api.podio.com",
	"accessToken":"c41e3a68d05d4996b8ab65bbd91273fc",
	"taskId":"28979100"
}
Related Podio Documentation

https://developers.podio.com/doc/tasks/incomplete-task-22433

Retrieving tasks 

The listTasks operation retrieves all tasks. 

listTasks
<podio.listTasks>
    <limit>{$ctx:limit}</limit>
    <files>{$ctx:files}</files>
    <app>{$ctx:app}</app>
    <completedOn>{$ctx:completedOn}</completedOn>
    <responsible>{$ctx:responsible}</responsible>
    <label>{$ctx:label}</label>
    <space>{$ctx:space}</space>
    <org>{$ctx:org}</org>
    <externalId>{$ctx:externalId}</externalId>
    <reference>{$ctx:reference}</reference>
    <reassigned>{$ctx:reassigned}</reassigned>
    <createdOn>{$ctx:createdOn}</createdOn>
    <completedBy>{$ctx:completedBy}</completedBy>
    <sortBy>{$ctx:sortBy}</sortBy>
    <grouping>{$ctx:grouping}</grouping>
    <createdBy>{$ctx:createdBy}</createdBy>
    <sortDesc>{$ctx:sortDesc}</sortDesc>
    <createdVia>{$ctx:createdVia}</createdVia>
    <view>{$ctx:view}</view>
    <offset>{$ctx:offset}</offset>
    <dueDate>{$ctx:dueDate}</dueDate>
	<completed>{$ctx:completed}</completed>
</podio.listTasks>
Properties
  • limit: The maximum number of tasks to return.
  • files: Indicates whether there should be files on the task.
  • app: The application name.
  • completedOn: The completed date.
  • responsible: The user IDs that are responsible for the task.
  • label: The ID of the required label on the tasks.
  • space: The IDs of the spaces the tasks are related to.
  • org: The IDs of the orgs the tasks are related to.
  • externalId: The external ID of the task.
  • reference: The list of references on the form.
  • reassigned: Indicates whether to only return tasks the active user has assigned to someone else.
  • createdOn: The created date.
  • completedBy: The name of the assignee.
  • sortBy: The sort order of the task.
  • grouping: The group name.
  • createdBy: The name of the ticket creator.
  • sortDesc: Indicates whether tasks should be sorted in descending order.
  • createdVia: The ID of the client the task was created through.
  • view: The level of information to return.
  • offset: The offset into the tasks to return.
  • dueDate: The due date.
  • completed: Indicates whether to retrieve only completed tasks.
Sample Request

Following is a sample REST/JSON request that can be handled by the listTasks operation.

Sample Request for listTasks
{
	"apiUrl":"https://api.podio.com",
	"accessToken":"8a21105bfbe54b31b06ffea1ada96309",
	"grouping":"org",
	"responsible":"2702400"
}
Related Podio Documentation

https://developers.podio.com/doc/tasks/get-tasks-77949

Updating a task

The updateTask operation updates the task with the given attributes. Any attributes not specified will remain unchanged. 

updateTask
<podio.updateTask>
    <taskId>{$ctx:taskId}</taskId>
    <isSilent>{$ctx:isSilent}</isSilent>
    <remindDelta>{$ctx:remindDelta}</remindDelta>
    <isHook>{$ctx:isHook}</isHook>
    <text>{$ctx:text}</text>
    <labelIds>{$ctx:labelIds}</labelIds>
    <responsible>{$ctx:responsible}</responsible>
    <labels>{$ctx:labels}</labels>
    <externalId>{$ctx:externalId}</externalId>
    <isPrivate>{$ctx:isPrivate}</isPrivate>
    <dueTime>{$ctx:dueTime}</dueTime>
    <fileIds>{$ctx:fileIds}</fileIds>
    <recurrenceName>{$ctx:recurrenceName}</recurrenceName>
    <recurrenceConfigDays>{$ctx:recurrenceConfigDays}</recurrenceConfigDays>
    <recurrenceRepeatOn>{$ctx:recurrenceRepeatOn}</recurrenceRepeatOn>
    <recurrenceStep>{$ctx:recurrenceStep}</recurrenceStep>
    <recurrenceUntil>{$ctx:recurrenceUntil}</recurrenceUntil>
    <description>{$ctx:description}</description>
    <dueOn>{$ctx:dueOn}</dueOn>
	<dueDate>{$ctx:dueDate}</dueDate>
</podio.updateTask>
Properties
  • taskId: The ID of the task.
  • isSilent: The value to enable the stream and notifications for the object.
  • remindDelta: The reminder value for the task.
  • isHook: The value to enable hooks to be executed.
  • text: The text of the task.
  • labelIds: The list label IDs for the task.
  • responsible: The contact(s) responsible for the task.
  • labels: The list of labels for the task.
  • externalId: The external ID for the task.
  • isPrivate: The Boolean value indicating whether to make the task private.
  • dueTime: The due time of the task.
  • fileIds: The list of files to attach to this task.
  • recurrenceName: The name of the recurrence for the task.
  • recurrenceConfigDays: The list of weekdays for the recurrence.
  • recurrenceRepeatOn: The repeat day for the recurrence.
  • recurrenceStep: The step size for the recurrence.
  • recurrenceUntil: The latest date on which the recurrence should take place.
  • description: The description of the task.
  • dueOn: The due date and time of the task.
  • dueDate: The due date of the task.
Sample Request

Following is a sample REST/JSON request that can be handled by the updateTask operation.

Sample Request for updateTask
{
  "apiUrl": "https://api.podio.com",
  "taskId":"29056802",
  "accessToken": "0232fb69b01d4ee18bcde5ee288faff4",
  "text":"Test Task1",
  "description":"Test Task Desc",
  "isPrivate" :"true",
  "dueDate":"2015-03-17",
  "dueTime":"12:21:10",
  "dueOn":"2015-03-17 11:21:10",
  "externalId":"1111",
  "remindDelta":"45",
  "responsible":[{"type": "user", "id": 2709263}],
  "labels":["A"],
  "labelIds":[1716186],
  "recurrenceName":"weekly",
  "recurrenceConfigDays":["monday", "tuesday"],
  "recurrenceRepeatOn":5,
  "recurrenceStep":"1",
  "recurrenceUntil":"2015-03-19",
  "isSilent":"true",
  "isHook":"true"
}
Related Podio Documentation

https://developers.podio.com/doc/tasks/update-task-10583674

Sample Configuration

Following is a sample proxy service that illustrates how to connect to Podio with the init operation and use the assignTask operation. The sample request for this proxy can be found in the assignTask sample request. You can use this sample as a template for using other operations in this category.

Sample proxy
<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse" name="podio_assignTask" transports="https,http" statistics="disable"
   trace="disable" startOnLoad="true">
   <target>
      <inSequence onError="faultHandlerSeq">
         <property name="apiUrl" expression="json-eval($.apiUrl)" />
         <property name="accessToken" expression="json-eval($.accessToken)" />
         <property name="taskId" expression="json-eval($.taskId)" />
         <property name="isSilent" expression="json-eval($.isSilent)" />
         <property name="responsible" expression="json-eval($.responsible)" />
         <podio.init>
            <apiUrl>{$ctx:apiUrl}</apiUrl>
            <accessToken>{$ctx:accessToken}</accessToken>
         </podio.init>
         <podio.assignTask>
            <isSilent>{$ctx:isSilent}</isSilent>
            <taskId>{$ctx:taskId}</taskId>
            <responsible>{$ctx:responsible}</responsible>
         </podio.assignTask>
         <respond />
      </inSequence>
      <outSequence>
         <send />
      </outSequence>
   </target>
</proxy>