US 11,669,375 B2
Dynamic load-balance of multi-channel requests
Karthikeyan Marudhachalam, Chennai (IN); Rohit Agarwal, Chennai (IN); Hariharan Ganapathiraman, Chennai (IN); and Abinaya K. Sarathi, Chennai (IN)
Assigned to Freshworks Inc., San Mateo, CA (US)
Filed by Freshworks Inc., San Mateo, CA (US)
Filed on Feb. 20, 2020, as Appl. No. 16/795,944.
Prior Publication US 2020/0233725 A1, Jul. 23, 2020
Int. Cl. G06F 9/50 (2006.01); H04L 41/0896 (2022.01); H04L 41/16 (2022.01); H04L 41/046 (2022.01)
CPC G06F 9/5083 (2013.01) [G06F 9/5072 (2013.01); H04L 41/046 (2013.01); H04L 41/0896 (2013.01); H04L 41/16 (2013.01)] 19 Claims
OG exemplary drawing
 
1. A computer-implemented process, comprising:
performing, by an enricher service module,
receiving a request from an end user device via one of a plurality of communication channels, and
identifying one or more types of agents most equipped to handle the request based on one or more skills required for handling the agents, and
identifying one or more agents who have handled a previous request from the end user device to determine a preferred list of agents to handle the request;
performing, by a task wait queue embodied in a database,
storing the request from the end user device and the preferred list of agents to handle the request;
performing, by a routing engine,
continuously prioritizing, using an artificial intelligence (AI) algorithm, the requests stored within the task wait queue to determine an agent best equipped to handle the request, wherein
the AR algorithm continuously learns the request and the one or more attributes, thereby improving request distribution over time;
performing, by a task assignment recommendation module,
recommending the agent best equipped to handle the request; and
performing, by a task assigner module,
assigning the agent best equipped to handle the request, wherein
the queue is interfaced between the enricher service module and a routing engine, and is configured to store the request and the raw data extracted from the request,
the recommendation module is interfaced between the routing engine and a task assigner module, and is configured to assign or recommend which agent from the one or more identified agents should be assigned the request.