IP Library Granted Patent US 12,432,302
Granted Patent B2
US 12,432,302 · App. 18/161,420 · Granted Sep 30, 2025

Priority score-based connection of user device to agent device

Inventor: Maikl Adly Abdel-Malek Eskander (Seattle, WA)
Assignee: Zoom Communications, Inc.
H04M3/5233H04M3/5238
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,432,302
App. No.
18/161,420
Granted
Sep 30, 2025
Kind
B2
Abstract

A contact center server receives indicia of user devices accessing the server. The contact center server determines that a contact center agent device is available for communicating with a user device of the user devices. The contact center server calculates, for at least a subset of the user devices, a priority score based on an elapsed time since the user device initiated a contact center engagement and a priority level of an account associated with the user device. The contact center server selects, based on the calculated priority scores, a first user device for communicating with the available agent device. The contact center server connects the first user device to the available agent device via the contact center server.

Claims (68)

1. A method comprising:

determining that a contact center agent device is available for communicating with one of user devices accessing a contact center server;

periodically calculating priority scores, wherein each priority score is associated with one of the user devices and is based on an elapsed time since the one of the user devices initiated a contact center engagement and a priority level of an account associated with the one of the user devices,

wherein a first priority score associated with one user device is greater than a second priority score associated with another user device at a first time, and the first priority score is less than the second priority score at a second time later than the first time, based on respective elapsed times and priority levels associated with the one user device and the another user device;

selecting, based on the calculated priority scores, a first user device for communicating with the available agent device; and

connecting the first user device to the available agent device via the contact center server.

2. The method of claim 1 , wherein the each priority score is calculated based on a target wait time for the priority level, the target wait time being set via a client device.

3. The method of claim 1 , comprising:

receiving, from a client device, a target wait time for the priority level, wherein the priority score is calculated based on the elapsed time and the target wait time.

4. The method of claim 1 , comprising:

presenting, at a client device, a dashboard representing wait times of user devices associated with accounts at each priority level;

receiving, from the client device, input data representing an adjusted target wait time for at least one priority level;

adjusting a priority score calculation engine that calculates the priority score based on the adjusted target wait time;

presenting, via the dashboard, adjusted wait times of the user devices associated with the accounts at each priority level based on the adjusted priority score calculation engine.

5. The method of claim 1 , wherein the each priority score is calculated based on a slope value for the priority level, the slope value being set via a client device.

6. The method of claim 1 , comprising:

presenting, at a client device, a dashboard representing wait times of user devices associated with accounts at each priority level;

receiving, from the client device, input data representing an adjusted slope value for at least one priority level;

adjusting a priority score calculation engine that calculates the priority score based on the adjusted slope value; and

presenting, via the dashboard, adjusted wait times of the user devices associated with the accounts at each priority level based on the adjusted priority score calculation engine.

7. The method of claim 1 , wherein determining that the contact center agent device is available for communicating with the one of the user device-devices comprises:

determining, based on a query received from the user device, a set of features of an agent associated with the contact center agent device; and

determining that the contact center agent device of the agent having the set of features is available for communication.

8. A non-transitory computer readable medium storing instructions operable to cause one or more processors to perform operations comprising:

determining that a contact center agent device is available for communicating with one of user devices accessing a contact center server;

periodically calculating priority scores, wherein each priority score is associated with one of the user devices and is based on an elapsed time since the one of the user devices initiated a contact center engagement and a priority level of an account associated with the one of the user devices,

wherein a first priority score associated with one user device is greater than a second priority score associated with another user device at a first time, and the first priority score is less than the second priority score at a second time later than the first time, based on respective elapsed times and priority levels associated with the one user device and the another user device;

selecting, based on the calculated priority scores, a first user device for communicating with the available agent device; and

connecting the first user device to the available agent device via the contact center server.

9. The non-transitory computer readable medium of claim 8 , wherein the each priority score is calculated based on target wait times for at least two priority levels, the target wait time being set via an administrator device.

10. The non-transitory computer readable medium of claim 8 , the operations comprising:

receiving, from an administrator device, target wait times for at least two priority levels, wherein the each priority score is calculated based on the elapsed time and the target wait times.

11. The non-transitory computer readable medium of claim 8 , the operations comprising:

presenting, at an administrator device, a dashboard representing wait times of user devices associated with accounts at each priority level;

receiving, from the administrator device, input data representing an adjusted target wait time for at least one priority level;

adjusting a priority score calculation engine that calculates the priority score based on the adjusted target wait time;

presenting, via the dashboard, adjusted wait times of the user devices associated with the accounts at each priority level based on the adjusted priority score calculation engine.

12. The non-transitory computer readable medium of claim 8 , wherein the each priority score is calculated based on a slope value for the priority level, the slope value being set via an administrator device.

13. The non-transitory computer readable medium of claim 8 , the operations comprising:

presenting, at an administrator device, a dashboard representing wait times of user devices associated with accounts at each priority level;

receiving, from the administrator device, input data representing an adjusted slope value for at least one priority level;

adjusting a priority score calculation engine that calculates the priority score based on the adjusted slope value; and

presenting, via the dashboard, adjusted wait times of the user devices associated with the accounts at each priority level based on the adjusted priority score calculation engine.

14. The non-transitory computer readable medium of claim 8 , wherein determining that the contact center agent device is available for communicating with the one of the user devices comprises:

determining, based on a query received from the user device, a set of skills of an agent associated with the contact center agent device; and

determining that the contact center agent device of the agent having the set of skills is available for communication.

15. An apparatus comprising:

a memory; and

a processor configured to execute instructions stored in the memory to:

determine that a contact center agent device is available for communicating with one of user devices accessing a contact center server;

periodically calculate priority scores, wherein each priority score is associated with one of the user devices and is based on an elapsed time since the one of user devices initiated a contact center engagement and a priority level of an account associated with the one of the user devices,

wherein a first priority score associated with one user device is greater than a second priority score associated with another user device at a first time, and the first priority score is less than the second priority score at a second time later than the first time, based on respective elapsed times and priority levels associated with the one user device and the another user device;

select, based on the calculated priority scores, a first user device for communicating with the available agent device; and

connect the first user device to the available agent device via the contact center server.

16. The apparatus of claim 15 , wherein the each priority score is calculated based on a target wait time for the priority level, the target wait time being set via an administrator device.

17. The apparatus of claim 15 , the processor configured to execute instructions stored in the memory to:

receive, from an administrator device, a target wait time for the priority level, wherein the each priority score is calculated based on the elapsed time and the target wait time.

18. The apparatus of claim 15 , the processor configured to execute instructions stored in the memory to:

present, at a client device, a dashboard representing wait times of user devices associated with accounts at one or more priority levels;

receive, from the client device, input data representing an adjusted target wait time for at least one priority level;

adjust a priority score calculation engine that calculates the priority score based on the adjusted target wait time; and

present, via the dashboard, adjusted wait times of the user devices associated with the accounts at each priority level based on the adjusted priority score calculation engine.

19. The apparatus of claim 15 , wherein the each priority score is calculated based on a slope value for the priority level.

20. The apparatus of claim 15 , the processor configured to execute instructions stored in the memory to:

presenting, at a client device, a dashboard representing wait times of user devices associated with accounts at one or more priority levels;

receiving, from the client device, input data representing an adjusted slope value for at least one priority level;

adjusting a priority score calculation engine that calculates the priority score based on the adjusted slope value; and

presenting, via the dashboard, adjusted wait times of the user devices associated with the accounts at each priority level based on the adjusted priority score calculation engine.

Assignments (2)
CHANGE OF NAME Recorded Jan 7, 2025
From: ZOOM VIDEO COMMUNICATIONS, INC.
To: ZOOM COMMUNICATIONS, INC.
Reel/Frame 069839/0593 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2023
From: ESKANDER, MAIKL ADLY ABDEL-MALEK
To: ZOOM VIDEO COMMUNICATIONS, INC.
Reel/Frame 062532/0508 →
Continuity (1)
Related Publication 20240259498A1 · Aug 1, 2024
References Cited (8)
US 9185221B1 · Billman · 2015 [cited by applicant]
US 9924033B2 · Sharpe et al. · 2018 [cited by applicant]
US 10044866B2 · Sharpe et al. · 2018 [cited by applicant]
US 10097644B2 · Sharpe et al. · 2018 [cited by applicant]
US 20070206769A1 · O'Dell · 2007 [cited by examiner]
US 20160119477A1 · Sharpe · 2016 [cited by examiner]
US 20160119478A1 · Sharpe et al. · 2016 [cited by applicant]
US 20230247140A1 · Li · 2023 [cited by examiner]