A multi-variable work assignment process is used to assign work items, such as voice calls, e-mails and other communications or tasks, to agents in a call venter. The multi-variable work assignment process determines whether values of a particular variable characterizing the work items fall within a designated range, and if so utilizes at least one additional variable for making the work assignment decision. The work assignment process may also or alternatively consider a weighted combination of multiple variables in making the work assignment decision. Examples of variables which may be used in the multi-variable assignment process include current wait time, service objectives skill preference, skill level, anticipated wait time, predicted wait time, etc. The invention may be implemented in a one-to-many work assignment process which selects one of a set of agents available for handling a particular work item, in a many-to-one work assignment process which selects one of a set of work items for handling by a particular available agent, or in a many-to-many work assignment process in which multiple agents are each considered simultaneously for handling multiple work items.