A seamless voice-based customer service platform
Context
Microsoft already offered a competitive chat-based customer service solution within Dynamics 365—Omnichannel for Customer Service. However, this platform did not support voice-based communication. 
Competitors such as Salesforce were aggressively entering this market, meaning Microsoft risked falling behind without a response. 
"Even with the rise of digital channels and self-service, telephony remains a critical channel.... We see a major opportunity to bring a differentiated offering to the market. By integrating with Azure Communications Service and extending our current assets, we can offer a telephony solution directly within Dynamics..."  
– PM for OmniChannel

Example from Microsoft

Problem
OmniChannel only supported chat-based methods, while many of our competitors had introduced solutions for voice. Without an equivalent, OmniChannel risked not meeting customers' needs and thus losing ground to competitors.
Goals
⚙️ Configure
Admins should be able to enable voice features, acquire phone numbers, configure queues, and route calls for their agents.
📞 Call
Allow agents to make and receive phone calls while utilizing existing chat and knowledge base tools.
🙉 Supervise
Make it easy for supervisors to monitor calls and evaluate agent performance. 
Solving for multiple roles
OmniChannel spans many personas: admins, agents, supervisors, and customers. 
Due to the wide scope and urgency, a full team of designers was assigned to this project. Our team exchanged work fluidly, often jumping between tasks as our capacity fluctuated.  
Below, I have highlighted where I contributed.
Acquire a phone number
Acquiring a phone number is the first step toward configuring a voice channel. This requires multiple phases with complex sub-steps, and the acquisition process can take an indeterminate amount of time. 
I distilled these steps into a simple wizard, an established pattern in OmniChannel, allowing admins to walk through the complexities in four simple steps. 
Route phone numbers
To complete a workstream, admins must set up a voice-specific channel using their new phone number and then determine settings for hold music and primary language. 
To maintain consistency, I used the same wizard pattern to walk admins through this process. 
Agents: making calls
The next requirement was to design a softphone dialer that would allow agents to make and receive phone calls using the voice channel set up by their admin. 
For this design, I referenced the dialer in Teams, exploring several variations that were reviewed by my design team before settling on a final design.
Final dialer UI
Final dialer UI
Reporting and blocking numbers
An important requirement was allowing agents to report and block spam calls. I helped to design this process on both ends: an agent would first report the number, and then an admin would review and take action on the reported numbers.
I recognized that this process could be laborious if admins needed to review a large volume of numbers. To save time, my team devised a solution to automatically block reported numbers that passed a set threshold of reports. 
Admin: turning on auto-block
Other tasks
I worked on several other miscellaneous solutions, including supervisor monitoring and improvements to the customer-facing chat panel. 
Advanced workstream settings.
Advanced workstream settings.
Concept for Supervisor call record.
Concept for Supervisor call record.
Sound notifications for customer chat.
Sound notifications for customer chat.
UX research
I participated in several interactive research sessions, playing the role of an agent helping customers complete various calling and monitoring tasks. An embedded UX researcher monitored these sessions and surveyed participants about their experience. 

💡 High-level takeaways:
The core agent active call experience is intuitive and easy to use. All types of participants spoke highly of the overall experience.
An integrated calling feature is our competitive edge.
Consulting and call transfer are clear in concept but not fully aligned with the user's mental model.
Retrospective
Working on OmniChannel was a crash course in customer service. Voice was an urgent mission with a tight deadline and high expectations. I had to rapidly adapt to complex new systems while designing user-friendly solutions. It's more notable that all of this happened during the COVID-19 pandemic, when our team suddenly shifted remote, forcing us to adopt new collaboration techniques.
My contributions represented only a small portion of the efforts required to create this competitive suite of features. I have to thank all the UX designers, PMs, engineers, researchers, and content designers who made this launch a success. Although I left the team before Voice went public, I was very excited to see the official press release, knowing that my efforts helped lay the foundation. 

More Projects

Back to Top