A system for recommending a communication medium for interacting with a customer of a contact center, the system comprising: a processor; a memory, wherein the memory has stored therein instructions that, when executed by the processor, cause the processor to: detect a first interaction via a first medium with the customer , wherein the customer is placed in a queue for the first medium and the wait time for the queue exceeds a threshold wait time; identify a plurality of communication mediums based on constraints for determining one or more candidate communication mediums that are different from the first medium for a second interaction with the customer ; for each communication medium of the candidate communication mediums, estimate an expected value to be obtained by utilizing the communication medium for the second interaction , wherein the expected value is the estimated wait time of the communication medium; select a particular communication medium of the candidate communication mediums based on the estimates for establishing the second interaction via the selected communication medium , wherein the expected value of the waiting time of the selected communication medium satisfies the threshold waiting time; and offer to switch the customer to the selected communication medium. a processor; a memory, wherein the memory has stored therein instructions that, when executed by the processor, cause the processor to: detect a first interaction via a first medium with the customer , wherein the customer is placed in a queue for the first medium and the wait time for the queue exceeds a threshold wait time; identify a plurality of communication mediums based on constraints for determining one or more candidate communication mediums that are different from the first medium for a second interaction with the customer ; for each communication medium of the candidate communication mediums, estimate an expected value to be obtained by utilizing the communication medium for the second interaction , wherein the expected value is the estimated wait time of the communication medium; select a particular communication medium of the candidate communication mediums based on the estimates for establishing the second interaction via the selected communication medium , wherein the expected value of the waiting time of the selected communication medium satisfies the threshold waiting time; and identify a plurality of communication mediums based on constraints for determining one or more candidate communication mediums that are different from the first medium for a second interaction with the customer ; for each communication medium of the candidate communication mediums, estimate an expected value to be obtained by utilizing the communication medium for the second interaction , wherein the expected value is the estimated wait time of the communication medium; select a particular communication medium of the candidate communication mediums based on the estimates for establishing the second interaction via the selected communication medium , wherein the expected value of the waiting time of the selected communication medium satisfies the threshold waiting time; and offer to switch the customer to the selected communication medium. <EOS>