Podio API Documentation

Notifications

A notification is an information about an event that occured in Podio. A notification is directed against a single user, and can have a status of either unread or viewed. Notifications have a reference to the action that caused the notification.

Types

Notifications can have the following types:

  • alert: The user was alerted as part of an action (reference)
  • comment: A comment was added to an object (subscription)
  • file: A file was attached to an object (subscription)
  • file: A file was deleted from an object (subscription)
  • meeting: A meeting was added to an object
  • member_reference_add: The user was added as a reference on an item (reference)
  • member_reference_remove: The user was removed as a reference on an item (reference)
  • rating: A rating was added to an object (subscription)
  • space_invite: The user was invited to join a space (space)
  • space_accept: The user accepted an invitation to join the space
  • space_decline: The user declined an invitation to join the space
  • space_delete: A space the user was a member of has been deleted (space)
  • self_kicked_from_space: Notification to the user that the admin ended the user's space membership (space)
  • user_left_space: Notification to space admins that the user left the space (space)
  • user_kicked_from_space: Notification to space admins that the user was removed from the space by an admin (space)
  • role_change: The role of the user was changed on a space (space)
  • creation: An object was created (subscription)
  • update: An object was updated (subscription)
  • delete: An object was deleted (subscription)
  • message: A message was received from a conversation (message)
  • conversation_add: A participant was added to a conversation (message)
  • bulletin: A news item was received from Podio
  • rsvp: An item was created on an app with RSVP enabled
  • answer: A user answered a question
  • space_create: A space was created in the organization
  • meeting_participant_add: The user was added as a participant on a meeting
  • meeting_participant_remove: The user was removed as a participant on a meeting
  • meeting_started: The meeting was started
  • batch_process: The processing of a batch started
  • batch_complete: The processing of a batch completed
  • space_member_request: A space admins get notified when a user requestes access to a space (space)
  • grant_create: A grant was given to the user (space)
  • grant_delete: A grant was remove from the user (space)
  • grant_create_other: A grant was given to another user on something user is subscribed to (space)
  • grant_delete_other: A grant to another user was removed on something user is subscribed to (space)
  • reference: A reference was added to the item from another item
  • vote: A vote on an item (subscription)
  • participation: A user changed their participation status on an item (subscription)
  • reminder: A reminder of an upcoming meeting or task (reminder)

Icons

The following icons are used

  • alert
  • task
  • meeting
  • status
  • creation
  • update
  • delete
  • comment
  • approved
  • rejected
  • star-rating
  • like
  • attending
  • not-attending
  • maybe-attending
  • thumbs-up
  • thumbs-down
  • yes
  • no
  • message
  • message-reply
  • bulletin
  • member_reference_add
  • member_reference_remove
  • file
  • user_left_space
  • user_kicked_from_space
  • self_kicked_from_space
  • space_invite
  • answer
  • space_create
  • reminder

 

Context

Each notification has a context which give contextual information to the notification about the origin of the notification.

status

{
  "status_id": The id of the status,
  ... (more, see the get status operation)
}
 

task

{
  "task_id": The id of the task,
  ... (more, see the get task operation)
}
 

space

{
  "space_id": The id of the space,
  "name": The name of the space,
  "member_count": The number of members,
  "top_members": The 4 most active members
  [
    {
      "user_id": The id of the user,
      "name": The name of the user
    },
    ... (more users, up to 4)
  ]
  "app_count": The number of apps,
  "top_apps": The 4 apps with the most items,
  [
    {
      "app_id": The id of the app,
      "name": The name of the app,
      "icon": The icon of the app
    },
    .... (more apps, up to 4)
  ]
}
 

org

{
  "org_id": The id of the org,
  "name": The name of the org,
  "url": The full URL to the org,
  "logo": The id of file of the logo for the org,
  "premium": True if the org is premium, false otherwise
 

item

{
  "item_id": The id of the item,
  .... (more, see the get item basic operation)
}
 

bulletin

{
  "bulletin_id": The id of the bulletin,
  ... (more, see the get bulletin operation)
}
 

app

{
  "app_id": The id of the app,
  ... (more, see the get app operation)
}
 

share

{
  "share_id": The id of the share,
  ... (more, see the get share operation)
}
 

conversation

{
  "conversation_id": The id of the conversation,
  ... (more, see the get conversation operation)
}
 

question

{
  "question_id": The id of the question,
  "text": The question text,
  "options": The options of the question
  [
    {
      "question_option_id": The id of the option,
      "text": The text of the option
    },
    ... (more options)
  ],
  "ref": The object the question is on
  {
    "type": The type of object (either "status" or "comment"),
    "id": The id of the object,
    "title": The title of the object,
    "link": The link to the object
  }
}
 

meeting

{
  "meeting_id": The id of the meeting,
  ... (more, see the get meeting operation)
}

 

file

{
  "file_id": The id of the file,
  ... (more, see the get file operation)
}


batch

{
  "batch_id": The id of the file,
  ... (more, see the get batch operation)
}
 

Notification details data

The data or details of the notification depends on both the type of notification and the context. The data is returned in a dictionary called "data". The dictionary will have the following values:

member_reference_add/member_reference_remove (item)

{
  "label": The label of the field,
  "description": The description of the field,
  "delta": The position of the field,
  "settings": The settings of the field,
  "required": True if the field is required, false otherwise,
  "visible": True if the field is visible, false otherwise
}
 

space_invite (space)

{
  "subject": The subject of the invite, if any,
  "message": The message of the invite, if any,
  "status": The current status of the invite, "invited", "started", "declined", "ended", "cancelled",
  "invite_code": The invitation code to use when accepting or declining the invite
 

user_kicked_from_space (space)

{
  "user_id": The id of the user who was removed,
  "avatar": The avatar of the user who was removed,
  "name": The name of the user who was removed,
}
 

role_change (space)

{
  "role": The new role, "light", "regular", "admin"
}
 

file, file_delete (item, task, conversation)

{
  "file_id": The id of the file,
  "name": The name of the file,
  "description": The description of the file,
  "mimetype": The mime type of the file,
  "size": The size of the file
}
 

comment (item, status, task, share, meeting, file)

{
  "comment_id": The id of the comment,
  "value": The actual comment,
  "files": The files attached to the comment,
  "embed": Metadata for an embedded link if it exists (see Embed area),
  "embed_file": File data for an thumbnail for the embed if it exists,
  "questions": Any questions attached to this comment,
  [
    {
      "question": The question
      {
        "question_id": The id of the question,
        "text": The text of the question, if any,
        "options": The options of the questions
        [
          {
            "question_option_id": The id of the option,
            "text": The text of the option,
            ... (more options)
          }
        ]
      },
      "answers": The answers to the question
      [
        {
          "question_option_id": The id of the option,
          "user": The user who answers
          {
            "user_id": The id of the user,
            "name": The full name of the user,
            "avatar": The file id of the avatar of the user, if any
          }
        },
        ... (more answers)
      ]
    },
    ... (more questions)
}
 

update (item)

{
  "item_revision_id": The id of the revision,
  "type": The type of revision, either "creation", "update" or "delete",
  "revision": The revision number,
  "diff": The difference between the two versions. 
    See the get item diff operation for details
}
 

update (task)

{
  "type": The type of action that was performed on the task. Can be "assign", "update_due_date", "update_text", "update_description", "update_private", "start", "stop", "complete", "incomplete". For details see the task area.
  "changed": The data that changed on the task, depends on the above type
}
 

update (app)

{
  "app_revision_id": The id of the app revision
}
 

rating (item, task, share, status, action, file)

{
  "rating_id": The id of the rating,
  "type": The type of rating, see the rating area for more details,
  "value": The value of the rating,
"ref": The object that was rated
}
 

message (conversation)

{
  "message_id": The id of the message,
  "text": The text of the message,
  "reply": True if this a reply, false otherwise,
  "created_on": The date the message was sent,
  "created_by": The user who sent the message,
  {
    "user_id": The id of the user,
    "avatar": The avatar of the user,
    "name": The name of the user
  },
  "files": The files on the comment,
  [
    {
     "file_id": The id of the file,
     "name": The name of the file,
     "description": The description of the file,
     "mimetype": The type of the file, see the area for allowed types,
     "size": The size of the file in bytes,
    }
    ... (more files)
  ],
  "embed": Metadata for an embedded link if it exists (see Embed area),
  "embed_file": File data for an thumbnail for the embed if it exists,
}
 

answer

{
  "question_option": The option selected,
  {
    "question_option_id": The id of the option,
    "text": The text of the option    
  }
}
 

space_create

{
  "status": The current status of the user on the space, either "joined", "open", "closed" or "deleted"
}
 

meeting_participant_add, meeting_participant_remove

Nothing
 

alert

{
  "text": The full text of the alert,
"ref": The reference to the source of the mention
{
"type": The type of the reference, either "comment" or "status",
"id": The id of the reference
}
}
 

space_member_request

{
  "space_member_request_id": The id of the SpaceMemberRequest,
"status": Status of the request (active, accepted, retracted),
"role": Space role the user requests,
"user": The user requesting access,
"space": The space the user requests access to
}

grant_create,

{
"message": The custom message given with the grant,
"action": The specific action asked of the grantee, either "comment", "view" or "rate".
}

grant_delete

Nothing

grant_create_other, grant_delete_other

{
"grantee":
  {
    "user_id": The id of the user that the grant was created/delete for,
    "avatar": The avatar of the user,
    "name": The name of the user
  }
}

 

reference

{
  "type": The type of the object
"id": The id of the object,
  "title": The title of the object,
  "link": The link to the object

}

vote

{
"voting": The voting the vote was on
{
"voting_id": The id of the voting,
"kind": The kind of voting, either "fivestar" or "answer",
"question": The question for the vote
},
"answer": The answer of the vote if the voting is of type "answer"
{
"answer_id": The id of the answer,
"text": The text of the answer
},
"rating": The value of the rating if the voting is of type "fivestar"
}

participation

{
"status": The new participation status, either "accepted", "declined" or "tentative"
}

Possible combinations

This will list all the combinations of type and context. The update - task combination will have more information in data to indicate what kind of update was done.

  • member_reference_add - item
  • member_reference_remove - item
  • rating - item
  • rating - status
  • rating - share
  • rating - meeting
  • rating - file
  • space_invite - space
  • space_accept - profiles
  • space_decline - profiles
  • space_create - space
  • member_ended_user - profiles
  • member_ended_admin - space
  • role_change - space
  • creation - item
  • creation - task
  • creation - app
  • creation - status
  • creation - meeting
  • file - item
  • file - task
  • file - meeting
  • update - item
  • update - status
  • update - task (data types: start, stop, assignment, complete, incomplete, update_text, update_description, update_due_date, update_private)
  • update - app
  • update - meeting
  • delete - item
  • delete - status
  • delete - task
  • delete - meeting
  • delete - file
  • message - profiles (private message)
  • message - item
  • message - org
  • message - status
  • message - bulletin
  • bulletin - profiles
  • org_member_add - org
  • org_member_remove - org
  • org_member_leave - org
  • comment - action
  • comment - item
  • comment - status
  • comment - share
  • comment - task
  • comment - meeting
  • comment - file
  • meeting_started - meeting
  • meeting_participant_add - meeting
  • meeting_participant_remove - meeting
  • alert - item (comment on item)
  • alert - status (comment on status)
  • alert - task (comment on task)
  • alert - action (comment on action)
  • alert - meeting (comment on meeting)
  • alert - status (status)
  • alert - file (comment on file)
  • reminder - task
  • reminder - meeting
  • batch - process
  • batch - complete
  • space_member_request - space
  • grant_create - item
  • grant_delete - item
  • grant_create_other - item
  • grant_delete_other - item
  • reference - item
  • reference - task
  • reference - action
  • reference - status
  • reference - file
  • vote - item
  • participation - item

No longer used:

  • rsvp - item