We consider a call center model with multiple customer classes and multiple server pools. Calls arrive randomly over time, and the instantaneous arrival rates are allowed to vary both temporally and stochastically in an arbitrary manner. The objective is to minimize the sum of personnel costs and expected abandonment penalties by selecting an appropriate staffing level for each server pool. We propose a simple and computationally tractable method for solving this problem that requires as input only a few system parameters and historical call arrival data for each customer class; in this sense the method is said to be data-driven. The efficacy of the proposed method is illustrated via numerical examples. An asymptotic analysis establishes that the prescribed staffing levels achieve near-optimal performance and characterizes the magnitude of the optimality gap.