Designing Blended Inbound/Outbound Agent Pool Management with Priority-Based Reservation

Designing Blended Inbound/Outbound Agent Pool Management with Priority-Based Reservation

What This Guide Covers

You are designing a workforce management strategy for “Blended Agents” who handle both inbound customer calls and outbound campaign interactions. The goal is to maximize agent utilization during low inbound volume periods without sacrificing Inbound SLA when spikes occur. This guide implements a priority-based reservation system using Genesys Cloud’s Utilization Settings and Advanced Routing to ensure that inbound voice calls always have priority over outbound dialer calls, and that a specific number of agents are “reserved” for inbound even when the dialer is active.


Prerequisites, Roles & Licensing

  • Genesys Cloud: CX 1, 2, or 3.
  • Permissions:
    • Routing > Utilization > Edit
    • Routing > Queue > Edit
  • Knowledge: Understanding of Genesys Cloud “Interaction Priority” and “Agent Utilization” constraints.

The Implementation Deep-Dive

1. Configuring Global Utilization

Genesys Cloud allows you to define which media types can interrupt others. For a blended environment, we want to ensure Outbound (the dialer) never interrupts an Inbound call.

Standard Utilization Config:

  • Inbound Voice: Interruptible: No
  • Outbound Voice: Interruptible: Yes (by Inbound Voice)
  • Max Capacity: 1 for both.

Note: In many scenarios, Genesys treats Inbound and Outbound as the same “Voice” media type. We use priority levels to differentiate them.

2. Priority-Based Queue Routing

Assign different starting priorities to Inbound and Outbound queues.

  • Inbound Support Queue: Priority: 10
  • Outbound Sales Campaign: Priority: 1

When an agent becomes idle, the router looks at all waiting interactions. The Priority 10 (Inbound) call will always be delivered before the Priority 1 (Outbound) call.

3. Implementing the “Inbound Reservation” Logic

If you have 100 agents, and inbound volume is low, you don’t want all 100 agents tied up on outbound calls. If 10 inbound calls suddenly arrive, all 100 agents are busy.

The Solution: Dedicated Inbound Reserve

  1. Create a “Reserve Inbound” Skill.
  2. Assign this skill to 20% of your pool (e.g., 20 agents).
  3. Create a secondary Inbound Queue that requires this “Reserve” skill.
  4. Configure the Dialer Campaign to exclude agents with the “Reserve” skill.

4. Dynamic Blending via Architect

Use Architect to adjust priority based on wait time. If an outbound call has been waiting too long, we can “boost” its priority, but still keep it below the inbound floor.

Architect Logic:

[Transfer to Outbound Queue]
    |
    v
[Set Priority: 1]
    |
    v
[Wait: 30 seconds]
    |
    v
[Update Priority: 5]  <-- Still lower than Inbound (10)

Validation, Edge Cases & Troubleshooting

Edge Case 1: Agent Cherry-Picking

If agents can see both queues, they might choose the “easier” outbound calls over complex inbound issues.
Solution: Disable “Manual Call Selection” in the agent UI and use “Auto-Answer” for all blended agents to enforce the priority routing.

Edge Case 2: Wrap-Up Time Conflict

An agent finishes an inbound call and enters 30 seconds of Wrap-Up (ACW). During this time, a dialer call is reserved for them.
Solution: Ensure acwTime is configured correctly in the queue settings. If you use “Mandatory, Timeboxed” ACW, the dialer will wait until the agent is truly “Available” before placing the outbound call.

Edge Case 3: Priority “Starvation”

If inbound volume is consistently high, outbound calls may never be delivered (Priority 1 is always beat by Priority 10).
Solution: Implement “Priority Escalation” in Architect. After 5 minutes of waiting, increase the Outbound priority to 11 (higher than Inbound) to ensure the outbound list isn’t completely ignored during peak times.

Official References