Design a Voice and Chat AI Receptionist Platform
Company: Microsoft
Role: Software Engineer
Category: System Design
Difficulty: medium
Interview Round: Onsite
Design a customer-facing AI receptionist platform for businesses. Customers can call a business phone number or contact it through chat on a website, mobile application, or supported messaging channel. The receptionist answers using business-approved information, performs permitted actions, and transfers the customer to a human when needed.
### Constraints & Assumptions
- Different businesses and industries require configurable behavior and approved knowledge.
- Preserve tenant isolation and distinguish answering a question from executing an action.
- A human handoff must transfer control of the live conversation, not merely suggest that the customer contact someone else.
- Define an initial scope before choosing traffic or latency targets; none are supplied.
### Clarifying Questions to Ask
- Which actions are allowed, and which require customer confirmation or human approval?
- How are business knowledge, policies, hours, and escalation contacts approved and updated?
- Does each business have a staffed agent queue, and what happens outside its available hours?
- Must voice and chat share conversation history across channels?
### Part 1 — Channels and conversation state
Describe voice and chat ingress, identity, session state, and response delivery.
#### What This Part Should Cover
- Channel adapters and a shared conversation model without losing channel-specific timing behavior.
- Tenant routing and authorized customer context.
- Voice transcription/synthesis, interruption, and partial-message handling.
### Part 2 — Knowledge, configuration, and actions
Explain how the platform uses approved information and executes only permitted operations.
#### What This Part Should Cover
- Versioned business configuration and permission-aware retrieval.
- Grounding, uncertainty, content-quality evaluation, and unsupported requests.
- Typed action contracts, authorization, confirmation, idempotency, and audit.
### Part 3 — Human takeover
Walk through escalation, agent assignment, transcript/context delivery, and transfer of response authority.
#### What This Part Should Cover
- A real agent queue and an atomic ownership transition.
- Voice bridging or chat routing after acceptance.
- Prevention of simultaneous bot and human replies and behavior when no human is available.
```hint Treat takeover as a state transition
The model deciding to escalate is only the start. Specify who owns the conversation before assignment, during transfer, and after the human accepts.
```
### What a Strong Answer Covers
- A coherent multi-tenant voice/chat platform with explicit control boundaries.
- Business-specific customization that cannot bypass shared security and action policies.
- Measurable answer/action quality and a functioning human handoff path.
### Follow-up Questions
- How would you handle a customer interrupting an AI voice response?
- What happens if an action succeeds but the model or channel times out before acknowledging it?
Overview: Design a multi-tenant voice/chat AI receptionist with approved knowledge, authorized actions, interruption handling, and real human conversation takeover.
Read the full Microsoft Software Engineer interview experience this question came from