You can use the Agent API to list the Agents currently defined in the database, define new Agents, and view, edit, or delete records of existing Agents.
If present and set
as true, supervisorInfo element must exist.
If set as false,
supervisorInfo is ignored.
userName
Required field if
the agent is set to be a supervisor.
Max: 64 bytes.
Valid characters are
period (.), underscore (_), and alphanumeric. The first character must be
alphanumeric.
User must exist in
the Active Directory.
domainName
Optional field: if
missing, uses the default domain name.
Max: 64 bytes.
Valid characters are
period (.), underscore (_), and alphanumeric. The first character must be
alphanumeric.
agentAttributes
Optional field.
Zero or more
attributes can be specified.
The
attribute.refURL must refer to valid, non-deleted
attributes. It must be specified.
The
agentAttribute.attributeValue must be valid for the
attribute type (for boolean: true or false; for proficiency: integer between 1
and 10 inclusive).
No more than 50
attribute values per Agent.
skillGroups
Optional field.
Zero or more Skill
Groups can be specified.
The
skillGroup.refURL must refer to a valid, non-deleted
Skill Group. If a Skill Group is specified, the refURL must be specified.
defaultSkillGroup
Optional field.
Only one
defaultSkillGroup can be specified.
If the
defaultSkillGroup tag is specified, it must reference a
Skill Group that is listed in the skillGroups. That is, it must
reference a Skill Group that the Agent is a member of.
agentTeam
Optional field.
An agent can only
belong to one team, at most.
If the
agentTeam tag is specified, the
agentTeam.refURL tag must be specified and refer to a
valid team.
A team can contain
up to 50 agents.
supervisorTeam
The Agent must be a
Supervisor.
The
supervisorTeam.refURL tag must be valid and refer to a
valid team.
A Supervisor can
supervise from 0-20 teams.
A team can have 0-10
Supervisors.
A Supervisor can be
both a member of and a Supervisor of the same team.
delete
Deletes one Agent record and the associated Person object from the
database.
The
delete operation automatically deletes any Skill, Attribute,
Team, or Supervisor reference to the Agent.
Note
The operation only
marks the record for deletion, it does not permanently delete
it.
You cannot delete an Agent that is referenced by a Script.
You cannot delete an agent that is a supervisor assigned to an
Agent Team.
When you try to delete an Agent who is assigned as Supervisor,
the associated record created in UserGroup is deleted. In addition, other items
are cleaned up, such as the record in User_Supervisor_Map.
By default, the list command returns a list of Agents with all the agent data that is returned by the GET command documented below. However if Agents contain a large number of skillgroups and attributes, this can result in a large amount of data being returned. Therefore the summary=true query option returns a much smaller amount of data per agent. It just returns the basic agent data and the person data. An example is performing a GET on https://<server>:<serverport>/unifiedconfig/config/agent2?summary=true.
Note that the "
<agent ..>
" tag has the attribute:
xsi:type="agentSummary"
that indicates it contains a agent
summary object. For non-summary lists, the value would be:
xsi:type="agent".
Supervisor Search
The
supervisor search parameter allows you to specify a search
to find Agents that are (or are
not) supervisors.
For example:
q=supervisor:true Returns all agents who are supervisors.
q=supervisor:false Returns all agents who are not supervisors.
Advanced Search
In addition to the supervisor search, you can perform the following advanced searches:
attributes: (attr1 & attrt2 & attr3, ...)
skillgroups: (skill1 & skill2 & skill3,...)
team: (team1|team2|team3, ...)
The attributes search returns all Agents that have all the specified attributes. Up to ten attributes can be specified. The attribute names are fully matched.
The skillgroups search returns all agents that have all the specified skillgroups. Up to ten skillgroups can be specified. The skillgroup names are fully matched.
The team search returns all agents who belong to any of the specified teams. Up to ten team names can be specified. The team name is fully matched.
The following restrictions apply:
Searches for attribute names, skillgroup names, and team names are case insensitive.
There must be a space separator between any of the special search terms.
The & separator within the attributes:() and skillgroups:() search must be URL-encoded to %26 before being sent to the server, otherwise the server will interpret it as an http parameter separator.
The search terms can be separated in any order, such as:
All of the
restrictions from the
create operation apply.
Also: you must
specify valid Change Stamps for the Agent.
Attribute Update Behavior:
If you specify a
list of Agent attributes, the list replaces the current list of Agent
attributes for the specified Agent.
If you specify an
empty list of Agent attributes via the <agentAttributes/> tag or
equivalent, any current attributes are removed from the Agent.
If you do not
specify an <agentAttributes/> tag, the current settings remain.
Supervisor Update Behavior:
If you change the supervisor from true to false, you must make
sure that supervisor is not referenced by an Agent Team.
SkillGroup Update Behavior:
If you specify a
list of Skill Groups, it replaces the current list of Skill Groups for the
specified Agent.
If you specify an
empty list of Skill Groups via the <skillGroups/> tag or equivalent, the
Agent is removed from all Skill Groups.
If you do not
specify a
skillGroups tag, the current Skill Groups settings
remain.
DefaultSkillGroup update Behavior:
If you change the list of Skill Groups that the Agent is a
member of, you must also update the
defaultSkillGroup to either be Null or point to one of the
new Skill Groups.
AgentTeam Update Behavior:
If you specify an
Agent Team, the Agent is removed from the current team (if they are already in
one) and added to the specified team.
If you specify an
empty team via the <agentTeam/> tag or equivalent, the Agent is removed
from the current team.
If you do not
specify an
agentTeam tag, the current Agent Team settings remain.
SupervisorTeam Update Behavior:
You must be a
Supervisor to specify Supervisor Teams.
If you specify a
list of Supervisor Teams, the list replaces the current list of Supervisor
Teams for the Supervisor.
All
supervisorTeam.refURLs must be valid refURLs.
If you specify an
empty list of Supervisor Teams via the
supervisorTeams tag or equivalent, the Supervisor is
removed as a Supervisor from all teams they currently supervise.
A Supervisor can be
both a member of and a Supervisor of the same team.
If you demote
Supervisors to non-supervisors, they are no longer Supervisors for any of their
previous teams. In a case where a Supervisor already supervised teams, you must
delete that Supervisor's supervisorTeam settings when demoting the supervisor
by specifying the empty <supervisorTeams/> tag.