Skip to main content
Load Balancer in Helpdesk
Updated this week

Load Balancer in Helpdesk:

The Load Balancer feature helps distribute workload evenly among agents by assigning only a specified number of tickets per agent.

Eligible agents : Those who are available when availability checks are enabled and have capacity.

If an agent's capacity is full, new tickets are pushed to queue stage. These queued tickets are assigned to agents in a First-in-First-Out (FIFO) order as their capacity becomes available.

Setting Agent Capacity

There are three types of capacity settings:

  1. Global Capacity: Applies to all agents, regardless of their team or role.

  2. Team Capacity: Overrides the global capacity for agents within a specific team.

  3. Agent Capacity: Overrides both global and team capacities, setting a specific limit for individual agents.

Capacity Hierarchy: The system prioritizes capacities in the following order:

  • Agent > Team > Global

If an agent belongs to two teams with different capacities, the higher capacity will be applied.

Steps to Set Capacity

To Set Global Capacity:

1. Go to Settings and click on Load Balancer.

2. Click Edit and enable the Load Balancer feature.

3. Add the desired global capacity and click Save.

To Set Team/Agent Capacity:

  1. Go to Settings and click on Load Balancer.

  2. Click Edit.

  3. Enable the “Adjust ticket capacity for individual teams/agents” checkbox.

4. Enter the desired individual capacity, click on Add Assignee, select the team or agent, and click Save.


Load Balancer Functionality Based on Assignment Logic

Unassigned Logic:

  • Available Agents: If any agents are eligible then the tickets are moved to un assigned bucket. This will not consider agents capacity in unassigned logic

  • Unavailable Agents: If agents are not eligible, new tickets are pushed to the queue.

  • Queue Management: Tickets in the queue will be moved to the unassigned bucket when an agent becomes eligible.

  • Team/Agent Assignment:

    • If a team is specified, tickets from the queue move to the unassigned bucket with that team name if any agent in the team is eligible.

    • If an agent name is specified, the system checks for eligibility of agent and if eligible ticket is assigned to that agent, else pushed to the queue.

  • Non-Working Hours: Tickets are rejected and retained by the chatbot unless “assign in next working hours” is enabled, in which case they follow the above processes in the next working hour.


Round Robin Logic:

Auto Assignment:

  • Unavailable Agents: If no agents are eligible, tickets are pushed to the queue. Once agents become eligible, tickets are assigned in a Round Robin (RR) order.

  • Available Agents: Tickets are assigned in RR order until the agents' capacities are reached. Excess tickets are queued and will be assigned once an agent is eligible

  • Queue Management: When an agent closes or reassigns a ticket, a new ticket from the queue is assigned to that agent.

Team Assignment:

  • Unavailable Agents: Similar to auto assignment, tickets are queued if no team members are available. When they become available, tickets are assigned in RR order.

  • Available Agents: Tickets are assigned in RR order until the agents' capacities are reached. Excess tickets are queued and will be assigned once an agent is eligible

  • Queue Management: When tickets are moved to the unassigned bucket, reassigned, closed, moved to "Waiting on Customer" stage or Snoozed by any agent, new tickets from the queue are assigned to the agent.

Individual Agent:

  • Unavailable Agents: Tickets are queued if the agent is unavailable and the availability check is enabled. They are assigned in RR order when the agent becomes available.

  • Available Agents: Tickets are assigned in RR order until the agents' capacities are reached. Excess tickets are queued and will be assigned once an agent is eligible

  • Queue Management: When tickets are closed, moved to the unassigned bucket, reassigned, moved to "Waiting on Customer" stage or Snoozed by any agent, new tickets from the queue are assigned to that agent.

Non-Working Hours: Tickets are rejected and retained by the chatbot unless “assign in next working hours” is enabled, in which case they follow the above processes.


Manual Ticket Assignment When Agent Capacity is Full

When you manually assign tickets to an agent whose capacity is already full, the tickets are forcefully assigned, causing the agent's capacity to go negative.

This means the agent has more tickets than their set capacity. As a result, no new tickets will be automatically assigned to this agent until their capacity returns to a positive value (i.e., when they close enough tickets).

"Assign in Next Working Hour" Enabled

If the "Assign in Next Working Hour" option is enabled, the system will wait until the next working hour to assign tickets. At that time, it will check the selected assignment logic and follow the agent availability and capacity rules to assign tickets accordingly.

Changing Assignment Logic from Round Robin to Unassigned

When you change the assignment logic from Round Robin to Unassigned:

  • If Agents are Available: All tickets currently in the queue will be moved out and placed in the unassigned bucket.

  • Team Name in Flow: If a team name is specified in the flow, the tickets will move to the unassigned bucket with the team name attached.

  • Agent Name in Flow: If an agent name is specified, the system will follow the load balancer rules to assign the tickets.

  • If Agents are not Available: Ticket will stay in Queue until an agent become available.

Moving to different Ticket Stage

Moving to different ticket stage does not change anything and it is considered to be assigned to the agent, except Waiting on Customer and Snooze ticket stages.

Turning off Load Balancer

If you turn off the Load Balancer, all tickets currently in the queue will be immediately moved out and assigned to agents based on the existing assignment logic.

This process ignores agent availability, capacity, and working hours, meaning tickets will be distributed without considering these factors.

Deleting Agent

When an agent is deleted, their assigned tickets are moved to the queue and will be processed according to the load balancer logic.

Tickets that have the deleted agent's name in the assignment block and pushed to the queue, will exit the queue based on the assignment and load balancer logic.

Deleting Team

If the team is deleted then the tickets in the queue for which team is passed will exit based on load balancer setting.

Snoozing tickets

When a ticket is snoozed then a new ticket will assign to the agent who snoozed, after un snooze the ticket will assign to the same agent even when the capacity is filled.

Waiting On Customer

When a ticket is moved to the Waiting on Customer Stage, a new ticket will get assigned to the agent and when the customer replies, the ticket will come out of that stage and assign to the same agent even when the capacity is filled.

Changing capacity of an agent

If an agent's capacity is increased, the change only takes effect after the agent takes an action, like closing or reassigning a ticket.

If the capacity is decreased, the update happens with the next action, and no new tickets will be assigned until the capacity is positive.

Sticky Session

It is like passing agent name in the assignment block, so it will check the capacity of that particular agent and assigns based on that.

Limitations in Load Balancer:

  • You cannot move a ticket to queue stage manually.

  • You cannot move a ticket from queue stage to other stage manually except close.

  • You cannot get queue tickets using any view.


FAQs

1. What happens if I manually assign a ticket to an agent who is already at full capacity?

When you manually assign a ticket to an agent whose capacity is full, the ticket is forcefully assigned, and the agent’s capacity count goes negative.

No new tickets will be automatically assigned to that agent until their capacity becomes positive again.

2. How does the "Assign in Next Working Hour" feature work?

If the "Assign in Next Working Hour" option is enabled, tickets will be assigned in the next working hour based on the configured assignment logic.

The system will check for agent availability and capacity before assigning tickets.

3. What happens when I change the assignment logic from Round Robin to Unassigned?

When you switch the assignment logic from Round Robin to Unassigned, all tickets currently in the queue will be moved to the unassigned bucket if agents are available. If a team name is specified in the flow, tickets will be unassigned with that team name. If an agent name is specified, the system will follow the load balancer rules.

4. What happens to tickets in the queue if I turn off the Load Balancer?

Turning off the Load Balancer causes all tickets in the queue to be immediately moved out and assigned to agents according to the existing assignment logic. This happens regardless of agent availability, capacity, or working hours.

5. Can I set different capacities for agents at the team level?

Yes, you can set individual capacities for agents at the team level, which will override the global capacity for those agents. The system follows a hierarchy: Agent > Team > Global.

6. What is the order of priority for capacity settings?

The system prioritizes capacity settings in the following order: Agent > Team > Global. This means individual agent capacity settings override team capacity, and team capacity overrides global capacity.

7. How does the system handle tickets when an agent closes a ticket and has remaining capacity?

When an agent closes a ticket, if they have remaining capacity, a new ticket from the queue will be assigned to them according to the selected assignment logic (e.g., Round Robin or Unassigned).

8. What if an agent belongs to multiple teams with different capacities?

If an agent is part of multiple teams with different capacity settings, the higher capacity between the teams will be applied to that agent.

9. Can I assign a queue stage ticket to an agent manually?

Yes, you can assign force assign a ticket to an agent manually.


For further assistance or to raise feature requests related to Load Balancer, please contact [email protected].

Did this answer your question?