Skip to main content

How Does Assignment Work in Atom?

How Does Assignment Work in Atom?

Assignment works as follows:

When a client reactivates a conversation, it is assigned to the lastAgentwho assisted them, as long as they are in anassignablestate. If theAgentis in a non-assignablestate, it will be reassigned toanother Agentbelonging to the samegroupto assist them.

For example:

Theclient Carlosenters today and is assigned toAgent Pedro, who handles his case. If the option to reassign to the same Agent is enabled andclient Carloscontacts again "x" time/days later generating a new case and alsoAgent Pedrois inassignablestate, client Carloswill be reassigned to him again. IfAgent Pedrois in a non-assignablestate, client Carloswill be reassigned toanother Agentbelonging to the samegroup.

🧾 Frequently Asked Question / Initial Context

One of the most common questions among supervisors and administrators is how Atom decides which agent to assign a new conversation to. Although it may seem like a random process, it actually follows a fairly precise logic that takes into account availability, history, channel configuration, and team rotation.

Assignment works as follows:

When a client reactivates a conversation, it is assigned to the lastAgentwho assisted them, as long as they are in anassignablestate. If theAgentis in a non-assignablestate, it will be reassigned toanother Agentbelonging to the samegroupto assist them.

Newconversations(from clients who have not interacted before) are assignedrandomlyamong all agents who areonline and in "assignable" state.

✅ Important note:

The order in which agents connectdoes not influence the assignment process. An agent who connects later may receive a conversation before another who was already active.

🛠️ Troubleshooting – Step by step to understand the assignment

  • Is the agent in an assignable state?Atom only assigns conversations to agents who are in anassignablestate, such as "Available".States such as "Training", "Lunch" or "Break" may be configured as non-assignable, depending on the configuration made.

Is the agent in an assignable state?

  • Atom only assigns conversations to agents who are in anassignablestate, such as "Available".

  • States such as "Training", "Lunch" or "Break" may be configured as non-assignable, depending on the configuration made.

  • Does the agent belong to the corresponding group?Conversations are assigned to agentswithin the grouplinkedto the channel through which the interaction enters.

Does the agent belong to the corresponding group?

  • Conversations are assigned to agentswithin the grouplinkedto the channel through which the interaction enters.

  • Has the client spoken to someone on the team before?If the conversation was reactivated (not new), the systemtries to assign it to the same agentwho previously assisted them, if they are available.

Has the client spoken to someone on the team before?

  • If the conversation was reactivated (not new), the systemtries to assign it to the same agentwho previously assisted them, if they are available.

  • How does the system behave when there are multiple agents available?When there is more than one agent available in the group and a previous assignment does not apply, theRound Robinlogic is activated:→ Atom distributes conversationsinequally and rotationallyamong the agents, ensuring fairness.

How does the system behave when there are multiple agents available?

  • When there is more than one agent available in the group and a previous assignment does not apply, theRound Robinlogic is activated:→ Atom distributes conversationsinequally and rotationallyamong the agents, ensuring fairness.

When there is more than one agent available in the group and a previous assignment does not apply, theRound Robinlogic is activated:

→ Atom distributes conversationsinequally and rotationallyamong the agents, ensuring fairness.

  • Are there configured schedules or special conditions?Some assignments may be affected by rules such as:Agents outside of business hoursConfiguration of "assign outside of hours" enabled or not

Are there configured schedules or special conditions?

  • Some assignments may be affected by rules such as:Agents outside of business hoursConfiguration of "assign outside of hours" enabled or not

  • Agents outside of business hours

  • Configuration of "assign outside of hours" enabled or not

✅ Possible solutions

  • Adjust the configuration of custom statesVerify that states that should stop assignments (such as "Lunch") are marked asnon-assignable.

Adjust the configuration of custom states

Verify that states that should stop assignments (such as "Lunch") are marked asnon-assignable.

  • Monitor agent groups and workloadDistribute agents strategically by channel, and periodically review the balance in the assignment rotation.

Monitor agent groups and workload

Distribute agents strategically by channel, and periodically review the balance in the assignment rotation.

  • Use the smart retry optionIf an agent does not respond to an assigned conversation, the system can reassign it to another available agent. Activate this function if you want to reduce waiting times.

Use the smart retry option

If an agent does not respond to an assigned conversation, the system can reassign it to another available agent. Activate this function if you want to reduce waiting times.

  • Review the "Assign outside of hours" configurationThis option defines whether assignments are allowed when all agents are offline or off duty. Disabling it can prevent unwanted assignments.

Review the "Assign outside of hours" configuration

This option defines whether assignments are allowed when all agents are offline or off duty. Disabling it can prevent unwanted assignments.

📝 Additional notes

  • Atom's logic does not "wait" for an agent to connect. If no one is available at the time the conversation arrives, the rules defined for "out-of-hours assignment" will apply, or the conversation will be retained according to configuration.

  • Assignments are not made at random: they are designed to always look for the most suitable agent according to previously defined rules.

  • To properly configure the assignment, you must:Click on the Settings > Conversations > Preferences moduleIn theAssignment settingssection, activate theReassign to the same agent if availableoption.Select the group(s) for which you want to apply the reassignment.Click on the "Save" button to apply the configuration.

  • Click on the Settings > Conversations > Preferences module

  • In theAssignment settingssection, activate theReassign to the same agent if availableoption.

  • Select the group(s) for which you want to apply the reassignment.

  • Click on the "Save" button to apply the configuration.

  • Assignmentcan be configured forone group, as well as formultiple groups.

  • A conversation can be transferred to an agent in the same group or to another group.

  • What cannot be done is to transfer the conversation to another group and want to keep the conversation with the same agent.

👨‍🏫 Practical example / Use case

Fantasy Scenario:

Client MagoCeleste contacts the "General Support" channel via WhatsApp. In the group of that channel there are three agents: Lince, Draco and Fénix.

  • Lince attended MagoCeleste's last conversation, but today he is in "Training" (not assignable).

  • Draco and Fénix are available.

The system:

  • Detects that Lince is not available.

Detects that Lince is not available.

  • AppliesRound Robin:If the last assignment was to Fénix, now it is Draco's turn.

AppliesRound Robin:

If the last assignment was to Fénix, now it is Draco's turn.

  • If Draco does not respond in a certain time (according to configuration), it is reassigned to Fénix.

If Draco does not respond in a certain time (according to configuration), it is reassigned to Fénix.

Why are all the chats being assigned to a single agent?

Although the system uses a random logic, it may be the case that several conversations are assigned to the same agent in a row. Thisdoes not represent an error, but if it happens repeatedly:

  • Verify that the other agents are in "assignable" state.

  • Check if they are reactivations (which tend to go to the same agent).

  • Consider using the manual reassignmentoptionto balance the load.

Best practices for agents

  • Always keep your status as "assignable".

How to configure the Assignment?

  • Click on the Settings > Conversations > Preferences module

  • In theAssignment settingssection, activate theReassign to the same agent if availableoption.

  • Select the group(s) for which you want to apply the reassignment.

  • Click on the "Save" button to apply the configuration.

⚠️ To keep in mind:

  • A conversation can be transferred to an agent in the same group or to another group.

  • What cannot be done is to transfer the conversation to another group and want to keep the conversation with the same agent.

When to contact support?

  • If chatsare not being distributedamong the connected agents.

  • If your status is "assignable" but youare not receiving any conversationsfor extended periods.

  • If there areconstant inconsistenciesin the assignment that affect team performance.

Did this answer your question?