Outbound campaigns can contact a list of people in different ways. Every campaign has a dialing mode setting that determines when and how the campaign places calls. Based on dialing mode, an agent can view information about the contact before each call is placed, or only after the call is connected to a live person. Some dialing modes do not require agents at all. In predictive dialing mode, a campaign calculates how long it takes agents to become available, based on historical metrics which include agent performance and contact list quality. Outbound dialing calculates a number of calls to dial, so that each live contact can be matched immediately to an agent who has just concluded a previous call.