A method for error handling in a task assignment system with an external pairing system , the method comprising: transmitting , by at least one computer processor communicatively coupled to and configured to operate in the task assignment system, to the external pairing system over an application programming interface, a request for the external pairing system to select a first pairing between one or more tasks awaiting assignment and one or more agents available for assignment, the first pairing to be selected according to a first pairing strategy; determining , by the at least one computer processor, a timeout window to wait for the external pairing system to provide a response that identifies the first pairing; detecting , by the at least one computer processor, an expiration of the timeout window without receiving the response; in response to detecting the expiration of the timeout window , accessing , by the at least one computer processor, one or more configuration parameters associated with the external pairing system, the one or more configuration parameters identifying a hidden queue of the task assignment system that is hidden from the external pairing system such that information stored in the hidden queue is not shared with the external pairing system; determining , by the at least one computer processor, that the hidden queue includes one or more second tasks that are designated to be paired by the external pairing system; and in response to determining that the hidden queue includes the one or more second tasks that are designated to be paired by the external pairing system , selecting , by the at least one computer processor, a second pairing between the one or more tasks and the one or more agents, the second pairing being selected according to a second pairing strategy. transmitting , by at least one computer processor communicatively coupled to and configured to operate in the task assignment system, to the external pairing system over an application programming interface, a request for the external pairing system to select a first pairing between one or more tasks awaiting assignment and one or more agents available for assignment, the first pairing to be selected according to a first pairing strategy; determining , by the at least one computer processor, a timeout window to wait for the external pairing system to provide a response that identifies the first pairing; detecting , by the at least one computer processor, an expiration of the timeout window without receiving the response; in response to detecting the expiration of the timeout window , accessing , by the at least one computer processor, one or more configuration parameters associated with the external pairing system, the one or more configuration parameters identifying a hidden queue of the task assignment system that is hidden from the external pairing system such that information stored in the hidden queue is not shared with the external pairing system; determining , by the at least one computer processor, that the hidden queue includes one or more second tasks that are designated to be paired by the external pairing system; and in response to determining that the hidden queue includes the one or more second tasks that are designated to be paired by the external pairing system , selecting , by the at least one computer processor, a second pairing between the one or more tasks and the one or more agents, the second pairing being selected according to a second pairing strategy. <EOS>