Pick activities

Overview

Use this API to pick specific activities from other users and queues. Users must be logged in. This API cannot be used to pick draft responses created for incoming email activities.

For this API to execute successfully:

  • All activities must exist in the application.
  • The activities must be of type Email, Social, Task, or Generic (i.e. user defined activity type). Calltrack, Chat, and Web type of activities cannot be picked using this API.
  • The activities must not be assigned to the user performing this operation.
  • The status of all activities in the request must be either "in queue waiting to be assigned" or "assigned to a user".
  • If an activity is assigned to a different user then:
    • The activity must not be locked by that user.
    • If the activity is pinned by the user, the query parameter "unpin" must be sent with a value of "yes".
  • No more than 75 activities must be sent in one request.

As part of completing this API request:

  • User load is not considered, i.e., activities are assigned to the logged in user regardless of the user's existing work load.

Permissions

All of the following are required:

  • Must have 'Pick Activities' action on 'Activity' resource.
  • If status of any activity is "assigned to a user" then:
    • The logged in user must have "Pull activities" permission on the user to whom the activity is currently assigned.
    • If the activity is pinned by a user, and the query parameter "unpin" is sent with a value of "yes":
      • The logged in user must have 'Unpin' action on 'Activity' resource.
  • If status of any activity is "in queue waiting to be assigned" then:
    • The logged in user must have "Pull activities" permission on the activities' queue.
  • All the activities must either belong to the logged in user's home department, or to a department in which the user is a foreign user.

Licenses

The logged in user must have the following licenses:

  • eGain Advisor Desktop or eGain MailPlus: To pick email or social activities.
  • Any User License: To pull task or generic activities. Refer Licenses section for more information.
SecurityoAuthUser
Request
query Parameters
unpin
string

This is required to pick activities even if they are pinned by a user. If any of the activities is pinned by a user and the "unpin" query parameter is not provided in the request, the request fails.

Value: "yes"
header Parameters
Accept
required
string
Default: application/json

Content type accepted by client.

Enum: "application/json" "application/xml"
Accept-Language
required
string
Default: en-US

Language locale accepted by client (used for locale specific fields in resource representation and in error responses).

Enum: "en-US" "es-ES" "fr-FR" "it-IT" "de-DE" "nl-NL" "pt-BR" "pt-PT" "da-DK" "ru-RU" "fr-CA" "zh-CN" "ja-JP" "ko-KR" "sv-SE"
Request Body schema: application/json

Elements required in request body

At least one "activity" element must be provided. Each "activity" element must contain the following elements:

Name Description
id ID of the activity to be picked.
lastModified Value of last modified date of the activity .
Array of objects (Activity)
Responses
204

No Content

  • Successfully picked the requested activities.
400

Bad Request

  • Unsupported query parameter is sent in the request.
  • Unsupported query parameter value is sent in the request.
  • Request body does not contain the required elements.
  • Unsupported element is present in the request body.
  • Any criteria for successful execution mentioned in the Overview and Request Body sections are violated.
401

Unauthorized

403

Forbidden

  • The user does not have sufficient permissions.
  • One or more activities sent in the request are locked by another user.
406

Not Acceptable

409

Conflict

500

Internal server error

patch/activity/pick
Request samples
application/json
  • PATCH /core/casemgr/v3/activity/pick
  • This example demonstrates the following:
    • Picking a single activity.
{
  • "activity": [
    ]
}
Response samples
application/json
{
  • "code": "400-101",
  • "developerMessage": "Unsupported query parameter(s) supplied: '<query_parameter>'."
}