# Design a cloud contact center: system design interview question

> A voice service with shared agent capacity, caller queues, call transfers, and delayed events from an external voice provider.

Source: https://sysround.com/questions/design-cloud-contact-center
Updated: 2026-11-05


Difficulty: hard. Levels: Senior, Staff+.

## How the interviewer opens it

"Design a cloud contact center that receives customer calls and connects callers to agents. It must support voice menus, call transfers, and reliable call status."

## What to clarify first

- Scale
- Read and write mix
- Queue rules
- Menus and transfers
- Voice provider
- Latency
- Consistency and availability
- Durability
- Tenant isolation
- Deployment and exclusions

## Scope of a strong answer

Core requirements:

- Receive calls and guide callers through voice menus.
- Queue callers and connect them to available agents with the required skills.
- Transfer calls between agents within a tenant.
- Track call status through duplicate events, delayed events, and service failures.

Usually out of scope:

- Implement the telephone network or audio transport.
- Record calls or recognize speech.
- Support outbound campaigns.
- Manage billing or agent work schedules.

## What interviewers probe

### Calls and available agents

Several queues can share agents. Caller disconnects and late agent answers can conflict with new offers.

### The current call state

Provider events can contradict arrival order. A command can succeed even when the application never receives its response.

### Voice menus and call transfers

A transfer changes several call legs. A partial failure can disconnect the caller or expose a private consultation.

### Calls during service failures

Audio can continue while the platform loses control. Recovery must not duplicate calls or treat uncertain agents as free.

## Common mistakes

- Treat an agent heartbeat as proof that the agent can accept another call.
- Treat an expired offer timer as proof that the provider stopped the offer.
- Use one status field for the caller leg, agent legs, queue entry, and transfer.
- Assume provider events arrive once and in order.
- End the original agent connection before the transfer succeeds.
- Design audio transport despite the external provider boundary.

## The bar by level

- **Senior:** Handles late answers, caller disconnects, and uncertain provider results. Uses durable commands and explicit transfer phases. Explains recovery after worker and zone failures.
- **Staff+:** Defines safety boundaries across the database and provider. Handles stale workers and external side effects. Quantifies capacity, protects tenants, and states regional recovery limits.

Practice this question with an AI interviewer: https://sysround.com/practice/new?problem=cloud-contact-center


---
SysRound (https://sysround.com) is an AI practice tool for system design interviews. It has a voice or typed AI interviewer and a shared whiteboard. At the end, you get feedback on each skill and a model answer. The AI feedback can be wrong.
