Agent API

Agent Call API

Agents respond to contacts from customers. Use the Agent API to list the agents currently defined in the database, define new agents, view, edit, delete existing agents, and the associated data.


Note


In the Role API, when you enable the ManageAgentAttribute or ReSkillAgents subfeature in the accessList parameter for a custom role then the Agent API is provided with Update Only Access instead of Full Access. With Update Only Access, you cannot create and delete an agent using Agent API.

URL

https://<server>/unifiedconfig/config/agent

Operations

  • get: Returns one agent, using the URL https://<server>/unifiedconfig/config/agent/<id>.

  • list: Retrieves a list of agents.

    • Query parameters:

      • selectedAttribute: Use this query parameter to augment the returned agent parameters with an extra parameter called selectedAttribute. This parameter indicates if the agent belongs to the attribute with the ID specified in this query parameter. For example, to find out which agents belong to the specified attribute, add selectedAttribute=5000.


        Note


        Using selectedAttribute automatically sets the summary list query parameter to true.


      • selectedSkillGroup: Use this query parameter to augment the returned agent parameters with an extra parameter called selectedSkillGroup. This parameter indicates if the agent belongs to the skill group with the ID specified in this query parameter. For example, to find out which agents belong to the specified skill group, add selectedSkillGroup=5001.

      • ignoreRole: Use this query parameter to allow a supervisor to see a list of all agents in the system, including agents the supervisor does not supervise. For example, to see all agents, add ignoreRole=true.

      • Summary list: See list.

  • update: Updates one agent.

Parameters

  • refURL: The refURL for the agent. See Shared Parameters.

  • agentId: The unique peripheral number. Maximum length of 11 characters allowed. Default is an autogenerated 7-digit number.

  • changeStamp: See Shared Parameters.

  • description: See Shared Parameters.

  • department: A reference to the agent's department, including the refURL and name. See References.

  • agentStateTrace: Indicates if agent state tracing is turned on for the agent. True or false.

  • agentDeskSettings: A reference to the agent's agentDeskSettings, including the refURL and name. See References.

  • person: Required. Includes the following parameters:

    • firstName: Agent's first name. Maximum of 32 characters. International characters are allowed.

    • lastName: Agent's last name. Maximum of 32 characters. International characters are allowed.

    • password: Agent's password. Maximum of 256 ASCII characters. Password is case-sensitive. The password can be used when creating or updating, but is not returned.

      If the ssoEnabled parameter is set to true, the password is not saved.

    • userName: Agent's login name. Maximum of 255 ASCII characters. Must be unique. The login name supports the use of all characters from 33 to 126 in the ASCII character set, except for the following: double quotation mark ("), forward slash (/), backward slash (\), square brackets ([ ]), colon (:), semicolon (;), pipe (|), equal to (=), comma (,), plus sign (+), asterisk (*), question mark (?), angle brackets (< >), hash (#), percent (%), and SPACE.

      For supervisors and for agents with single sign-on (SSO) enabled, the username is the user's Active Directory or SSO account username.

      For supervisors who are not enabled for single sign-on (SSO), the Active Directory username must be in the user@domain format.

    • loginEnabled: Whether the agent can log in. True or false. Default is true.

    • ssoEnabled: Whether single sign-on is supported at the agent level. True or false. Default is false. This parameter takes effect only when the global level SSOEnabled is mixed.

    • digitalChannel:Whether the agent is enabled for digital channel interaction. Email address is mandatory when digitalChannel is set to True.

      The valid values are True or False. The default is False.

    • screenName: The screen name of the agent. Default is null. Maximum characters are 32 .

  • emailAddress: The email address of the Agent. Maximum characters are 50.


    Note


    The screenName parameter is applicable only for the ECE agent.


  • supervisor: Required. Indicates whether the agent is marked as supervisor. True or false.

    If set to true, the person userName is used for the supervisor username and domain.

  • agentAttributes: A collection of agent attribute (Attribute API) references for this agent, including the refURL, and read-only parameters name, dataType, and description for each associated attribute. Also includes the attributeValue parameter which indicates the value (true or false or 1-10), and description of the attribute for this agent. See References.

  • agentAttributesAdded: A collection of agent attribute references (Attribute API) to be added to the agent, including the agent refURL and the attributeValue of each attribute. If the attributeValue is not specified, it is assigned the default value. Agents that already have this attribute are updated with the specified attributeValue. This parameter is update only, and cannot be used with the agentAttributes parameter. This parameter can be used with the agentAttributesRemoved parameter. See References.

  • agentAttributesRemoved: A collection of agent attribute references (Attribute API) to be removed from the agent, including the refURL of each attribute. This parameter is update only, and cannot be used with the agentAttributes parameter. This parameter can be used with the agentAttributesAdded parameter. See References.

  • selectedAttribute: Indicates if the agent has the specified attribute. Returned only when using the selectedAttribute query parameter. True or false.

  • skillGroups: A collection of skill group references for this agent (Skill Group API), including the refURL and name of each associated skill group. See References.

  • skillGroupsAdded: A collection of skill group references to be added to the agent, including the refURL of each skill group to be added. This parameter is update only, and cannot be used with the skillGroups parameter. This parameter can be used with the skillGroupsRemoved parameter. See References.

  • skillGroupsRemoved: A collection of skill group references to be removed from the agent, including the refURL of each skill group to be removed. This parameter is update only, and cannot be used with the skillGroups parameter. This parameter can be used with the skillGroupsAdded parameter. See References.

  • defaultSkillGroup: A reference to a skill group, including the refURL and name. Identifies the default skill group associated with this agent. See References.

    selectedSkillGroup: Indicates if the agent has the specified skill group. Returned only when using the selectedSkillGroup query parameter. True or false.


    Note


    Using selectedSkillGroup automatically sets the summary list query parameter to true.


  • agentServicesEnabled: A collection of Contact Center AI services enabled for an agent.

    • agentService: The type of Contact Center AI service. Supported values are AgentAnswers and Transcript.

  • agentTeam: A reference to the agent's team (Agent Team API), including the refURL and name. See References.

  • supervisorTeams: If this agent has supervisor access, this collection of references is for this supervisor's teams, including the refURL and name of each supervised team. See References.

Search and Sort Values

The following table shows the parameters that are searched and the parameters that are sortable.

Search parameters Sort parameters
  • agentId

  • description

  • person.firstName

  • person.lastName

  • person.userName

  • agentId

  • description

  • supervisor

  • agentStateTrace

  • agentTeam.name

  • person.firstName

  • person.lastName

  • person.userName

  • person.loginEnabled

  • person.ssoEnabled

  • datacenter.name

  • peripheral.name

See Search and Sort.

Advanced search parameters

There are several advanced searches you can perform on the Agent API, including supervisor, attributes, skillgroups, team, data centers, and include and exclude (agentId).

  • supervisor: (true/false) Find agents that are (or are not) supervisors.

    • q=supervisor:true Returns all agents who are supervisors.

    • q=supervisor:false Returns all agents who are not supervisors.

  • attributes: (attr1 & attrt2 & attr3, ...) find all agents that have all the specified attributes. Up to ten attributes can be specified. The attribute names are fully matched.

  • skillgroups: (skill1 & skill2 & skill3,...) find all agents that have all the specified skillgroups. Up to ten skillgroups can be specified. The skillgroup names are fully matched.

  • team: (team1|team2|team3, ...) find all agents who belong to any of the specified teams. Up to ten team names can be specified. The team name is fully matched.

  • usernames:(username1|username2|username3, ...) find all agents who belong to any of the specified username. Up to fifteen usernames can be specified. The username name is fully matched.

  • include: (ID1 & ID2 & ID3, ...) find all specified agents even if they do not meet other search criteria. Each ID is fully matched. Obtain this ID from the refURL. For example, 5017 is the ID in the following refURL <refURL>/unifiedconfig/config/agent/5017</refURL>.

  • exclude: (ID1 & ID2 & ID3, ...) exclude all specified agents from the results even if they meet all other search criteria. Each ID is fully matched. Obtain this ID from the refURL. For example, 5017 is the ID in the following refURL <refURL>/unifiedconfig/config/agent/5017</refURL>.


Note


If a search string contains both basic and advanced search parameters, only the basic search parameter is considered and displayed. The advanced search parameter is ignored from the search criteria.

If a search string contains either the basic or the advanced search parameter, the respective search parameter is considered in the search criteria.

For example, consider the search string "person usernames:(person1@boston.com)".

The above string contains both search criteria [basic — person and advanced — usernames:(person1@boston.com)]. So, the advanced search criteria is ignored and the basic search criteria is considered. The search result is displayed based on the basic search criteria, that is the number of instances of agents.


Example Get Response

<agent>
         <department>
          <refURL>/unifiedconfig/config/department/5001</refURL>
          <name>debit_card</name>
         </department>
	<changeStamp>2877</changeStamp>
        <refURL>/unifiedconfig/config/agent/5017</refURL>
        <agentId>8006</agentId>
        <agentServicesEnabled>
          <agentService>AgentAnswers</agentService>
          
          <agentService>Transcript</agentService>
        </agentServicesEnabled>
        <agentStateTrace>false</agentStateTrace>
        <description>an agent</description>
        <person>
             <firstName>Agent2</firstName>
             <lastName>Agent2</lastName>
             <loginEnabled>true</loginEnabled>
             <userName>Agent2@xyz.com</userName>
             <password>mypassword</password>
             <ssoEnabled>false</ssoEnabled>
           <ecePerson>true</ecePerson>
             <emailAddress>agent@xyz.com</emailAddress>
             <screenName>agentScreenName</screenName>  
       </person>
        <agentDeskSettings>
             <name>test2</name>
             <refURL>/unifiedconfig/config/agentdesksetting/5434</refURL>
        </agentDeskSettings>
        11.6  PCCE multi PG support<datacenter>
                <name>Berlin</name>
                <refURL>/unifiedconfig/config/datacenter/5000</refURL>
        </datacenter>  
        <supervisor>true</supervisor>
        <agentAttributes>
               <agentAttribute>
                    <attribute>
                        <refURL>/unifiedconfig/config/attribute/5004</refURL>
                        <name>Sales</name>
                        <dataType>4</dataType>
                        <description>Sales proficiency</description>
                    </attribute>
                    <attributeValue>8</attributeValue>
                    <description>postgraduate certification</description>
              </agentAttribute>
         </agentAttributes>
         <skillGroups>
             <skillGroup>
                 <refURL>/unifiedconfig/config/skillgroup/5229</refURL>
                 <name>Support</name>
             </skillGroup>
        </skillGroups>

        <defaultSkillGroup>
             <refURL>/unifiedconfig/config/skillgroup/5229</refURL>
             <name>Support</name>
        </defaultSkillGroup>

         <agentTeam>
             <refURL>/unifiedconfig/config/agentteam/5003</refURL>
             <name>theTeam</name>
         </agentTeam>
         <supervisorTeams>
             <supervisorTeam>
                <refURL>/unifiedconfig/config/agentteam/5003</refURL>
                <name>theTeam</name>
             </supervisorTeam>
             <supervisorTeam>
                <refURL>/unifiedconfig/config/agentteam/5006</refURL>
                <name>theBTeam</name>
             </supervisorTeam>
        </supervisorTeams>
  </agent>

REST Responses

Following are the possible REST responses that can be received for Agent API calls:

  • Success (201 Created or 200 OK)

    Configuration changes persist in AW DB and synchronized with ECE and CUIC.

  • Partial Success (201 Created or 200 OK)

    Configuration changes are persist in AW DB, but failed to synchronize with ECE and CUIC. In this case even if the REST response status is a success (201 Created or 200 OK), the response body will include an APIError.

    Examples of API errors:

    
    <apiErrors>
    	<apiError>
    		<errorMessage>Configuration update failed for one or more devices.</errorMessage>
    		<errorType>PARTIAL_SUCCESS</errorType>
    	</apiError>
    </apiErrors>
  • Server Busy (503 Service Unavailable)

    This occurs when data synchronization to a device is in progress.