Omni-channel user experiencing issues where when a new case is created, it doesn't appear in a new tab for them. They have to change their status to offline and back to email & phone and when that doesn't work, he needs to reload the entire page for it to start working again. Also once it starts feeding them over again it sends an old case that he had already closed back to him first, once he closes that back out again he starts getting new emails. Has anyone ever experienced this before and identified a root cause to resolve?
Hi,
Let me break down both symptoms you're describing.
Symptom 1 — New cases not appearing without toggling status or refreshing
This usually points to one of these:
- Stale AgentWork / PSR state. When a case is routed via Omni-Channel, a PendingServiceRouting (PSR) object is created as a transient routing record. It gets deleted once an agent accepts the work. If a previous session ended uncleanly (browser tab closed, session timeout, etc.), the PSR can get into a stuck state where the routing engine thinks the agent is still being offered work — so new items queue up but don't surface. Toggling offline/online forces the engine to re-evaluate.
- Capacity not being released properly. Check that the agent's capacity settings in the Presence Configuration align with the routing configuration's capacity thresholds — specifically, the "Units of Capacity for In-Progress Work Items" in the routing config should be less than or equal to the agent's presence capacity. If a previously closed case didn't release its capacity unit (e.g. because the case was closed externally rather than via the agent widget), the agent appears full to the router even though they feel available.
- Page refresh logging them out. If an agent refreshes the Omni-Channel widget page while they're online or busy, they're logged out and must log back in to continue working. Accidental refreshes mid-session cause exactly this symptom.
Symptom 2 — Old closed case re-routed first when they come back onlineWhen an agent goes offline and back online, the system re-evaluates all work items in the queue, and agents who had previously been considered for a declined item are included again. If that old case was closed by the agent
outsideof Omni-Channel (e.g. editing the Case record directly rather than using the widget's close/wrap-up action), the AgentWork record associated with it may not have been properly marked complete — so Omni-Channel still sees it as active work and re-surfaces it.
Steps to investigate:- Check AgentWork records via SOQL: SELECT Id, Status, WorkItemId FROM AgentWork WHERE UserId = '[agent user ID]' ORDER BY CreatedDate DESC — look for records in Opened or Assigned status tied to cases the agent considers closed.
- Check Presence Configuration — confirm the agent's capacity is high enough and that "Automatically decline requests" or push timeout isn't silently routing items away.
- Check the Service Channel config — specifically the "Check agent capacity on reopened work items" and "Check agent capacity on reassigned work items" settings, as these can directly impact routing behaviour in the scenario you're describing.
- Omni Supervisor — use the Queues Backlog and Agent Work tabs to see in real time what the router thinks the agent's state is. This is your best diagnostic tool.
The offline/online toggle works as a workaround because it forces a full presence session reset, but the fix should be upstream — either in capacity config or ensuring cases are closed through the proper Omni-Channel flow so AgentWork records are correctly finalised.