A method of routing calls of an automatic call distributor system that
includes receiving a first workflow, comprising a desired behavior,
associated with a first agent of a plurality of agents and receiving at
least one request from a respective user for connection with one of the
agents. The method also includes monitoring system information and
executing the first workflow after the first agent becomes available for
connection with one of the requests. The method includes selecting a
first request of the at least one request, wherein the first request is
selected based on the first agent's desired behavior and the monitored
system information, and connecting the first request to the first agent.
The method may also include receiving a notification that the first agent
is available for connection with one of the respective users, and
executing the first workflow after receiving the notification that the
first agent is available.