Podio API Documentation

Widgets

Widgets are small components that can be installed on an organization, space, app or user. Every widget has a title and is of a certain type.

Types

The following types of widgets are available:

  • text: Displays a static text.
  • image: Displays a static image.
  • link: Displays a list of links.
  • tag_cloud: Displays the tags on a single app or all apps on the space.
  • calculation: Displays the results of a calculation
  • tasks: Displays your own tasks or delegated tasks.
  • events: Displays your upcoming events.
  • profiles: Displays other peoples profiles.
  • apps: Displays frequently used apps.
  • app_view: Displays the items of an app view.
  • contacts: Displays the contacts in a workspace.
  • files: Displays the files in a workspace.

Configuration

Each type has its own distinct configuration option:

Text

{
  "text": The text to be displayed in the widget
}
 

Image

{
  "file_id": The file id of the image to be displayed
}
 

Link

{
  "links": The list of links to be displayed
  [
    "{link}",
    ... (more links)
  ]
}
 

Tag cloud

{
  "limit": The maximum number of tags to return
}

Calculation

{
  "app_id": The id of the app the calculation should be done on,
  "app_link": The link to the app (will only be returned, cannot be set),
  "calculation": The calculation to use. See the calculation operation for details,
  "unit": The unit of the result of the calculation
}
 

Tasks

{
  "kind": Either 'mine' or 'delegated' to display tasks the user is responsible for, or tasks the user has delegated,
"limit": The number of tasks to return
}

Events

{
  "limit": The number of tasks to return
}


Profiles

{
  "limit": The number of tasks to return
}


App view

{
  "view_id": The id of the view the items should belong to,
  "limit": The number of tasks to return
}


Apps

{
  "limit": The number of tasks to return
}

Contacts

{
  "limit": The number of contacts to return
}

FIles

{
  "limit": The number of files to return
}

Data

When loading widgets for display, each widget will return the data to be display. The data returned depends on the type of widget:

Text

{text}: The text from the configuration
 

Image

{
 "file_id": The file id of image,
 "url": The URL for the link
}

Link

[
  {
    "title": The title of the link,
    "url": The URL of the link
  },
  ... (more links)
]
 

Tag cloud

[
  {
    "text": The tag,
    "count": The number of items with the given tag
  },
  ... (more tags)

Calculation

{
  "total": The total of the calculation,
  "groups": The result of the grouping calculations,
  [
    {
      "value": The id of the group,
      "label": The label of the group,
      "count": The result of the calculation
    },
    ... (more groups)
  ]
}

Tasks

{
 "total": The total number of tasks,
 "tasks": List of tasks, each as a JSON object (see task area)
}

Events

 
{
 "total": The total number of events,
 "events": List of events, each as a JSON object (see event area)

}

Profiles

 
{
 "total": The total number of profiles,
 "profiles": List of profiles, each as a JSON object (see profile area)

}

Apps

 
 
{
 "apps": List of apps, each as a JSON object (see app area)
}

AppView

 
 
{
 "app": App as JSON object (see app area),
 "app_view": List of items matching this view, each as a JSON object (see item area)

}

Contacts

 
 
{
 "total": The total number of contacts,
 "contacts": List of contacts, each as a JSON object (see profile area)

}

Files

 
 
{
 "total": The total number of files,
 "files": List of files, each as a JSON object (see file area)

}

Recent items

 
 
{
 "items": List of recent items for the specific user, each as a JSON object (see item area)

}