An AI copilot built for the Azure portal, reimagined for the places engineers actually work — a conversational experience for Microsoft Teams and Slack, where specialized agents help an engineer resolve issues without leaving the thread.
2026
Microsoft Teams · Slack
Design Lead — owned the design direction and end-to-end experience from kickoff to launch. Led a second designer on Slack, and partnered with content, visual design, PM, and engineering on brand, roadmap, and release scope.
Engineering teams coordinate in Slack and Teams. But the moment something breaks, someone has to leave the conversation.
Troubleshooting an issue, managing a support case, acting on a resource — all of it lives in the Azure portal. One person goes to another tab, does the work, and relays it back to the group.
Amazon Q Developer already ran natively in Slack and Teams. Azure had no equivalent, some of its largest customers asked for one by name, and it became a P0 for Azure Customer Experience.
Make the channel a place you can operate Azure from — investigate an issue, collaborate on it, and take real action on your cloud, where the team already coordinates.
Four teams each owned a piece of this product — EngOps the troubleshooting capabilities, the Portal team the existing Copilot, the Teams platform its constraints, marketing the identity. No one had the whole picture, so my first job was to build one.
One-on-ones with every team: what they owned, where they were constrained, where they had room to move.
Prior customer research, an audit of the Portal Copilot, and the patterns and limits of Teams and Slack — scattered across teams, pulled into one place.
The full journey, from install and notification setup to proactive alerts and case collaboration — the blueprint design, PM, and engineering built from.
If every answer is a link back to the portal, nothing has moved — the flow has only gained a step. Whatever the agent surfaces should be actionable in place.
Customers welcomed AI-assisted troubleshooting but wanted to approve anything important. The agent recommends and prepares; people decide.
Teams and Slack don't share building blocks. Don't copy the portal, and don't force the two to match — keep the core experience, and let each platform speak its own language.
What shipped, in the order a user meets it.
Users install Azure Copilot from the Teams app store and launch it inside Teams. As a brand-new product, it also needed a first impression — naming, icon, and visual identity.
Sign in once to connect an Azure identity. Copilot picks up the user's subscriptions, introduces what it can do, and offers notifications — optional, and adjustable any time.
Describe a problem and Copilot investigates — checking in when it needs input — then lands on a likely root cause and a resolution plan, without the user switching tools.
Some questions need a specialist. Agent choice lives in New Chat, where conversations already start — the general Copilot, or a specialized agent for migration, deployment, troubleshooting, and more. Each opens with prompts written for its job.
Beside New Chat, a history entry lists every conversation across every agent, each marked with its agent's icon — one place to pick up where you left off.
Copilot flags issues in the service groups a user follows — outages, retirements, cost and resiliency risks. From the notification, they can review the issue, open a Jira work item, and act — all in Teams.
Azure operations are a team effort, so Copilot joins group chats too. Users ask privately, review the answer, and choose whether to share it — so the thread gets a vetted answer, not a raw one.
The same experience had to ship on Slack — the same stages and the same decisions at the same moments, but not the same screens. I designed Teams and defined the system a second designer built Slack from: an early workshop with PM and engineering to align scope across both platforms, then daily reviews to catch drift before it shipped.
When something needs attention in Teams, a toast can surface it over whatever the user is doing; Slack offers only a sidebar badge. Teams' Adaptive Cards support a carousel; Slack's Block Kit does not, so the same content becomes a list.
The meaning stays identical — what the agent says, which decisions are available, and where the user ends up. Layout and delivery are free to differ, since that's what makes each platform feel native rather than ported.
The most useful thing I made early on wasn't a screen. It was a shared picture — who owned what, which principles held, how the flow connected.
It kept four teams and two platforms moving in one direction while the constraints kept changing.
Once an agent can pause and ask, the interface stops being a request and a response. It becomes a process the user and the agent share.
Visibility and control are what make that process trustworthy.