Agent Hierarchy and Partitioning Examples
Contents
Genesys Interaction Recording allows agents to be organized in a hierarchy to provide the ability to enforce access control of call recordings.
The basic rules of recording access control are defined in Access Control for Voice Recording Users. The examples provided in that section are just one way of managing an agent hierarchy which is based on the organization reporting hierarchy. Genesys Interaction Recording allows for building agent hierarchies based on your particular business requirement.
The following sections provide examples of how you can apply agent hierarchy in your environment. In addition, the use of Partitioning is also discussed.
Multiple Third-Party Companies
Your contact center is comprised of agents from several third-party companies, and your business goal is to restrict users of each company from accessing the recordings of the other companies.
In this scenario, you would configure your agent hierarchy as follows:
On the Annex of each Person object, in the [recording] section, set the agent_hierarchy option:
- Agent 1 to /Company A
- Agent 2 to /Company A
- Agent 3 to /Company A
- Agent 4 to /Company B
- Agent 5 to /Company B
This also means that the agents who belong to Company A should be assigned to the "/Company A" access group only. The following table describes the Access Group objects and available permissions:
Access Group Member | View Recordings of | Roles Assigned (Examples) |
---|---|---|
/ | All agents | Super Administrators |
/Company A | Agents 1, 2, 3 | Supervisors for Company A |
/Company B | Agents 4, 5 | Supervisors for Company B |
Multiple Third-Party Companies with Teams
Extending the above example, each third-party company has multiple teams managed by a supervisor. Your business requirement is to restrict the recording access of the supervisor to their team members only. For each company, there are quality agents who can review all recordings within the third-party organization.
In this scenario, you would configure your agent hierarchy as follows:
On the Annex of each Person object, in the [recording] section, set the agent_hierarchy option:
- Agent 1 to /Company A/Team 1
- Agent 2 to /Company A/Team 1
- Agent 3 to /Company A/Team 2
- Agent 4 to /Company B/Team 3
- Agent 5 to /Company B/Team 3
The following table describes the Access Group objects and available permissions:
Access Group Member | View Recordings of | Roles Assigned (Examples) |
---|---|---|
/ | All agents | Super Administrators |
/Company A | Agents 1, 2, 3 | Quality agents for Company A |
/Company B | Agents 4, 5 | Quality agents for Company B |
/Company A/Team 1 | Agents 1, 2 | Supervisor for Team 1 |
/Company A/Team 2 | Agent 3 | Supervisor for Team 2 |
/Company B/Team 3 | Agents 4, 5 | Supervisor for Team 3 |
Lines of Business
Another way to organize agent hierarchy can be based on different lines of business (LOB) in the organization and different geographical regions within the LOB.
In this scenario, you would configure your agent hierarchy as follows:
On the Annex of each Person object, in the [recording] section, set the agent_hierarchy option:
- Agent 1 to /LOB A/San Francisco
- Agent 2 to /LOB A/San Francisco
- Agent 3 to /LOB A/New York
- Agent 4 to /LOB B/Houston
- Agent 5 to /LOB B/Houston
The following table describes the Access Group objects and available permissions:
Access Group Member | View Recordings of | Roles Assigned (Examples) |
---|---|---|
/ | All agents | Super Administrators |
/LOB A | Agents 1, 2, 3 | Quality agents for LOB A |
/LOB B | Agents 4, 5 | Quality agents for LOB B |
/LOB A/San Francisco | Agents 1, 2 | Manager in San Francisco |
/LOB A/New York | Agent 3 | Manager in New York |
/LOB B/Houston | Agents 4, 5 | Manager in Houston |
Lines of Business with Multiple Companies Enforced Separately
This example describes a combination of both LOB and multiple third-party companies. Each company handles calls from different LOBs, and each call is assigned to a single line of business. Since there are agents handling calls for different LOBs, you need use partitioning to assign the LOB for each call from the routing strategy. Use the attached data key GRECORD_PARTITIONS to set the LOBs in the routing strategy.
In this scenario, you would configure your agent hierarchy as follows:
On the Annex of each Person object, in the [recording] section, set the agent_hierarchy option:
- Agent 1 to /Company A/Team 1
- Agent 2 to /Company A/Team 1
- Agent 3 to /Company A/Team 2
- Agent 4 to /Company B/Team 3
- Agent 5 to /Company B/Team 3
The following table describes the Access Group objects and available permissions:
Access Group Member | View Recordings of | Roles Assigned (Examples) |
---|---|---|
/ | All agents | Super Administrators |
/Company A | Agents 1, 2, 3 | Quality agents for Company A |
/Company B | Agents 4, 5 | Quality agents for Company B |
/Company A/Team 1 | Agents 1, 2 | Supervisor for Team 1 |
/Company A/Team 2 | Agent 3 | Supervisor for Team 2 |
/Company B/Team 3 | Agents 4, 5 | Supervisor for Team 3 |
/Line_of_BusinessA | All calls with attached data GRECORD_PARTITIONS = /Line_of_BusinessA | Quality agents for LOB A |
/Line_of_BusinessB | All calls with attached data GRECORD_PARTITIONS = /Line_of_BusinessB | Quality agents for LOB B |
Partitioning
As mentioned in the above examples, partitions for a call are set with the attached data key GRECORD_PARTITIONS. The value can be set as a comma-delimited list of partitions when you want to set more than one partition for the call. For example, GRECORD_PARTITIONS=/Line_of_BusinessA,/Line_of_BusinessB means that the call will be assigned both lines of businesses.
The attached data key can be set at anytime during the call, and the last effective value in the call is taken as the value for determining the partitions for the call.
Combining agent hierarchy with partitions means that a recording can be viewed by multiple groups of users based on business needs. A user belonging to any one of the Access Groups for the recording segment may access the recording segment.
For the Lines of Business with Multiple Companies Enforced Separately example, if a call is handled by Agent 3 and the attached data GRECORD_PARTITIONS=/Line_of_BusinessA,/Line_of_BusinessB, the following groups of users can access this call:
Access Group Member | View Recordings of | Roles Assigned (Examples) |
---|---|---|
/ | All agents | Super Administrators |
/Company A | Agents 1, 2, 3 | Quality agents for Company A |
/Company A/Team 2 | Agent 3 | Supervisor for Team 2 |
/Line_of_BusinessA | All calls with attached data GRECORD_PARTITIONS = /Line_of_BusinessA | Quality agents for LOB A |
/Line_of_BusinessB | All calls with attached data GRECORD_PARTITIONS = /Line_of_BusinessB | Quality agents for LOB B |
Recording Segments and Transfers
When a call is transferred from one agent to another and recording is enabled, the recorded interaction will contain two recording segments. Genesys Interaction Recording enforces access control for each recording segment separately. For each recording segment, agent hierarchy is assigned separately based on the agent for that segment. Partitions are assigned to all segments equally.
Extending the Lines of Business with Multiple Companies Enforced Separately example above, an inbound call is handled by Agent 1 and later transferred to Agent 3, with attached data GRECORD_PARTITIONS=/Line_of_BusinessA. The following access control applies:
Recording Segment | Agent Handling the Call | Access | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Agent 1 |
| |||||||||||||||
2 | Agent 2 |
|
Not Using Agent Hierarchy
If you do not use agent hierarchy, or if the agent hierarchy is not set for the person object, the recording can be accessed by a SpeechMiner user with Access Group "/" only. You can use partitions set independently for the recordings. For example, if agent hierarchy is not set, but the call contains attached data GRECORD_PARTITIONS = /Line_of_BusinessA, the following access control applies:
Access Group Member | View Recordings of | Roles Assigned (Examples) |
---|---|---|
/ | All agents | Super Administrators |
/Line_of_BusinessA | All calls with attached data GRECORD_PARTITIONS = /Line_of_BusinessA | Quality agents for LOB A |