A call center is a system used by companies to provide a number of services to customers, which may vary from providing simple information to gathering and dealing with complaints or more complex transactions. The design of this kind of system is an important task, since the trend is that companies and institutions choose call centers as the primary option for customer relationship management. This paper presents an evolutionary algorithm based on Dandelion encoding to obtain near-optimal service trees which represent the structure of the desired call center. We introduce several modifications to the original Dandelion encoding in order to adapt it to the specific problem of service tree design. Two search space size reduction procedures improve the performance of the algorithm. Systematic experiments have been tackled in order to show the performance of our approach: first, we tackle different synthetic instances, where we discuss and analyze several aspects of the proposed evolutionary algorithm, and second, we tackle a real application, the design of the call center of an Italian telecommunications company. In all the experiments carried out we compare our approach with a lower bound for the problem based on information theory, and also with the results of a Huffman algorithm we have used for reference.