Viva Engage with a badged Copilot button waiting in the corner of the feed. The button expanded into a nudge: there are new discussions about Copilot adoption that relate to your work. The Copilot panel open beside the feed, answering the question and naming the agent that is responding, with a link to open it. The agent opened: its skills, the four grounding resources behind it, and the permissions it inherits.

Microsoft

Copilot and Agents

Copilot spans Microsoft’s 365 products, including Viva Engage, the company’s enterprise social network. I led the design of the integration in early 2023, just after Microsoft announced its partnership with OpenAI and before anyone had settled on paradigms for product-based AI. Within Engage, I designed the Copilot editor to address both issues, the proactive community agent that grew out of it, and finally the entry point that brought the two back together.

RoleLead product designer
PlatformsWeb, desktop
and Teams
Timeline2023 – 2025
StatusShipped to 100% of users
NoteIf you’d like to know more, please get in touch
Context

Fitting Copilot into the context

Engage brings together company announcements, questions, communities of practice, CEO town halls, and help desk requests. It is both a professional platform and a social space, which created two problems for us to solve.

People often hesitated to write for a broad, formal audience, even when they had something useful to share. At the same time, knowledge was siloed in communities, which meant certain users could miss helpful information simply because they were not part of the community where it was shared. This revealed two opportunities for Copilot: help people transform their thoughts into material they felt confident sharing widely, and assist them in surfacing knowledge from communities. In these early days, there were few established patterns for AI in products. Basic questions remained on the table: Should the interface be a chat? How should answers signal their limitations? What role should citations play?

So we started by making our assumptions explicit, documenting what we believed and where each assumption came from:

Users are most familiar with ChatGPT as an LLM-powered interface, and are increasingly expectant of the iterative chat model. UX Research
Presenting clear value propositions through the product will help users understand what AI can help them with. UX ResearchData science
Alignment with emerging Microsoft-wide patterns and directives will help us build a broadly cohesive product. UX Research
Among other metrics, product success will look like more active users and fewer “lurkers”. Data science

Then, drawing on that research and the emerging direction from Microsoft’s Responsible AI initiative, I led the team through a pair of workshops to cement the non-negotiables:

01 Keep humans in the loop AI may offload redundant work, but the person stays in control and keeps the means to manage what the AI does.
02 Meet users where they are Using an AI-powered tool should feel seamless inside the product someone is already working in.
03 Solve for real users and real problems AI should be used to solve demonstrated needs for our customers. Because of the resource investment on our end, and the trust investment on the customer’s end, we should feel confident we are addressing validated user needs.
Key decisions

Helping people find the words

The first problem was hesitation. People had ideas and experiences worth sharing but were reluctant to translate them into posts to share across the entire company. An assistant that simply writes those posts would remove the friction, but also the person. We wanted to prevent a feed full of generated posts that nobody would trust or read.

To address this I designed Copilot in Engage to write alongside the person, not for them. It opens beside the composer, drafts a post, cites its sources, and then stops. Nothing reaches the post until the person presses Add to post. A plain note flags that AI-generated content may be incorrect, and thumbs up and down provide feedback. These may look like obvious guardrails now, but in early 2023 they were choices we had to argue for. The follow-up prompts reinforce the principle. Rather than offering to write another draft, they return the writer to their own experience: How can I add a personal example? The goal is to help someone get past the blank composer while keeping their perspective and judgment at the center.

Viva Engage on the Teams desktop app: the left rail, a post composer open over the feed, and the Copilot panel docked to its right.
Add to post

Intentional action to accept AI-generated content

Disclaimer and feedback

Ever-present guardrails for AI usage

Follow-up prompts

Personalized opportunities for iterating on conversation and content

Integral parts to the Copilot chat framework.

The second problem, siloed knowledge, called for a different approach. Catch Up summarizes what someone missed in their communities and links back to the original threads. It gives people a way into conversations they might otherwise never find.

The Engage home feed with a banner offering to catch the reader up on five new updates. Copilot open beside the feed, looking for references while it generates the summary. The finished summary, community by community, each point carrying a numbered citation back to the thread it came from.
Having someone play catch-up for you.
Key decisions

From individual to community

Copilot helped individuals, but it did not address a recurring problem for communities: the same questions came up every month, and community managers (moderators, essentially) were growing weary answering to that redundancy.

As a result, we were led to design an agent for individual communities. Each agent was scoped to a single community, named after it, and able to answer from that community’s own knowledge. Before designing it, I reviewed seven existing studies and ran feedback calls with enterprise customers, including a North American airline and a large home-improvement retailer. One finding critically shaped the design: participants hesitated to give the agent access to internal documents and wanted clear boundaries around what they could share with it. As a result, I put the decision-making into the user’s hands when it came to selecting knowledge sources for the agent.

The agent’s Knowledge tab with nothing attached yet. A picker offering four kinds of knowledge source: other related communities, a public website, files, and SharePoint or OneDrive. Adding a SharePoint site by its address. The Knowledge tab with four sources attached, each removable, under a note that the data stays inside the organization’s privacy policies.
The user chooses what the agent sees (and what it doesn’t).

Furthermore, beyond just access, the principle of keeping humans in the loop raised another question: what should an agent be allowed to write? And should it be left on its own to do so? It became clear that human oversight was necessary, for review rather than just permission. The agent shows its reasoning and confidence, low-confidence answers wait for review, and community experts make the judgment call to accept them. In the background, a dashboard records what the agent did and why.

The Agent actions dashboard: items pending review, agent-assisted posts, and a recent activity table where each row carries a status of Needs review or Complete and a Review control. The Copilot Early Adopters Agent card: what the agent can do, answering questions, looping in experts and network catch up, with a note that AI-generated content may be incorrect.

Hover over the agent for more info

The wiring underneath everything.
Key decisions

One entry point to rule them all

Two AI experiences had grown from the same problem statement, but from a user’s perspective they were two separate systems to learn. Copilot lived beside the composer, while the community agent lived inside a community. Neither had much overlap.

I set the longer-term direction of converging both experiences behind a single Copilot entry point on the home feed. A member could ask a question once and receive a high-confidence answer with citations, regardless of whether Copilot or a community agent provided it. When the question was better suited to a specific community, Copilot would provide a direct path to that agent. The foundational design principle was straightforward: people should not need to decipher which system produced an answer in order to evaluate it, trust it, and follow its sources.

The Engage home feed with the Copilot entry point in the corner. A prompt appearing over the feed: there are new discussions about GraphQL that relate to your work. Copilot answering in the panel, headed Engage Copilot is responding with a link to open the agent, and citing the posts it drew from.
Because why differentiate between Copilot and agent?
Impact

Convincing the unconvinced

General availability in Viva Engage

0%of Copilot chats led to a platform actionposting, commenting, or summarizing
0%of those engaged meaningfully for the first timethe unconvinced, convinced

I led design for Copilot through its general availability release in Viva Engage, including team dogfooding sessions, integration alignment with Teams, and a holistic inclusive design pass. We achieved a 59% conversion measurement of Copilot chats resulting in a platform-based action, like posting, commenting, or summarizing, with 23% of this number engaging meaningfully for the first time. In this way, we had managed to convince the unconvinced.

The community agent shipped after I left Microsoft, building upon the foundational framework I designed for the feature. Although I can’t speak to the specific results of the product, I can outline the success criteria I helped form, which included recurring-question load removed from named community managers (i.e. the number of high-confidence answers posted autonomously), review latency paired with answer acceptance, and a permission and label leakage gate.