1. A method for allocating jobs to an agent, comprising: defining, for each job of the jobs, a job type associated with at least one job and at least one sub-step associated with the at least one job; determining eligibility to perform the at least one sub-step by an agent of agents; determining, based on the eligibility determination, a number of jobs of each job type to be performed by the agent; and automatically generating, based on the number of jobs, agent-specific job queues.