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

  • create: Creates an agent.

  • delete: Marks one agent for deletion, but does not permanently delete the agent.

    Note

    When you delete a supervisor's record in Packaged CCE, the corresponding user account in Unified Intelligence Center is also deleted.

    When you delete an agent record, its association with the teams is removed and the same is updated in the corresponding collection in Unified Intelligence Center.

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

  • list: Retrieves a list of agents.

    • Query parameters:

      • Summary list: See list.

  • update: Updates one agent.

    Note
    • When you change the team association for an agent or supervisor in Packaged CCE, the same change is updated in the corresponding collection in Unified Intelligence Center.

    • When you change the username and team association for a supervisor's record, the same changes are also updated in the corresponding user account in Unified Intelligence Center.

    • For an existing supervisor's record in Packaged CCE, if the value for the Supervisor parameter is set to false, the corresponding user account is deleted from Unified Intelligence Center.

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 characters. Supports all characters, 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 (< >), 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.

    • ecePerson: If the agent is ECE-enabled or not. True or false. Default is false.

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

      Supports all characters, except for the following:

      Period (.), hash (#), asterisk (*), less than (<), greater than (>), comma (,), question mark (?), colon (:), dollar ($), forward slash, (/), and backward slash (\).

  • 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.

    Note
    • When the value for this parameter is set to true, a user account is created in Unified Intelligence Center with the supervisor's username and domain name. If the username and domain name of the supervisor already exists in Unified Intelligence Center, the Unified Intelligence Center user account and supervisor's record are synchronized to have same username and domain name.

    • When you add teams to a supervisor's record, the same teams are also added to the corresponding user account (with Supervisor permission) in Unified Intelligence Center.

  • 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, VAVTranscript, 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.

  • peripheralSet: This parameter is mandatory for Packaged CCE 4000 Agents or 12000 Agents deployment type. You must provide the reference to a peripheral set for which Agent PG is configured.

    The perpheralSet parameter is not available for Packaged CCE 2000 Agents deployment type.

  • datacenter: A reference to the data center, including the refURL and name. You must provide the reference to a data center that contains above peripheral set. For more information on data center for 4000 Agents or 12000 Agents deployment, see Inventory Import API.

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

  • peripheralSet.name

    This parameter is available for Packaged CCE 4000 Agents and 12000 Agents deployment type.

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.

  • eceagent: (true/false) Find agents that are (or are not) Enterprise Chat and Email (ECE) agents.

    • q=eceagent:true Returns all ECE agents.

    • q=eceagent:false Returns all agents who are not ECE agents.

  • 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.

  • datacenters: (dc1|dc2|dc3...) which returns all agents who belong to any of the specified data centers. Up to three data centers can be specified. The data center names are fully matched (case-insensitive, no partial matches). Searching for "core" returns all machines in the core data center.

  • peripheralsets: (ps1|ps2|ps3...) returns the agents specific to the peripheral sets in 4000 Agents/12000 Agents deployment. The peripheral set names are fully matched (case-insensitive, no partial matches).

Example Get Response

Code Snippet
Copy<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>VAVTranscript</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:

    Code Snippet
    Copy
    <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.