The problem: multilingual cases across 12 business units

The 100,000-person Microsoft partner and customer network books more than $72 billion of revenue each year. Contract and transaction case management and administration spans 12 internal business units, such as Channel Incentives, Microsoft Business Services, Volume Licensing, and Original Equipment Manufacturer (OEM)—to name a few.

Contract operations is largely outsourced to vendors in multiple regional operations centers (ROCs) worldwide. Some data points give you an idea of the scale of Microsoft contract operations across the ROCs:


  • 3,800 agents process transactions and manage inquiries.

  • 2.5 million transactions and inquiries are handled each year.

  • 18 million email messages are handled each year.

With any enterprise-scale services contract, there are always related transactions, such as agreements, orders, or amendments. What we call a case is the group of tasks needed to process a transaction. Here’s a quick example. A deal is struck to buy 100,000 Windows 10 licenses. A Microsoft partner provides data such as deal codes, contact information, and so on. Out of those licenses, 200 might be Japanese, and 300 might be German.

There are unique software compliance regulations in Japan and Germany, so a contract amendment —a transaction— generates a case, and the required transaction tasks are managed through to completion. Within the case, parameters such as Service Level Agreements (SLAs), approved holds (when the transaction is temporarily interrupted), and timeline targets are assigned. Case completion can involve multiple teams in several locations.

We had a case management system for contracts and transactions, which was unwieldy and created unnecessary complexity for our agents. Agents had to know unique rules to work cases to completion. The system required a lot of training, and agents had to work in multiple systems. Case tracking was not intuitive. For example, if a partner submitted a case, they might receive a “Request Submitted” message, and no additional information. Or they might receive a “Request on Hold” message, with no reason stated. The system couldn’t grow to meet business needs. From a business perspective, multiple data entry points resulted in redundancy and errors.


We also needed to define multiple types of activities or information in COSMIC workflows, and define nuances within each workflow. The old system included only general types of transactions or inquiries. That wasn’t enough. We needed to define specific types of transactions—such as order or amendment—or inquiries.

We defined a transaction activity and then a transaction subtype that provides context. We defined an inquiry activity, and then subtypes, like a question on an invoice, a product key query, a promotional pricing question, and many more. That helps us tie a reason, or even a subreason, to that inquiry. Taking this even further, we can add root cause to any activity, so that we can easily document the original reason for contact.

These precise activity definitions let us look at incoming cases, detect why they are being submitted, and start analysis at the right place in the workflow. Activity definitions form the rules that determine automatic case routing, communications activities, and so on.


Microsoft needed a solution that provides a holistic, 365-degree view of customers, and that accommodates users, partners, and the Microsoft field organization. They needed to manage contracts and cases at any stage, from start to finish, and they needed more nuanced ways to assess and refine business processes. 



My role

I worked on a team of engineers, business intelligence, and managers and together we held workshops to explore capabilities and to identify needed features. Representatives from each business unit, the Dynamics 365 product group, vendor managers, subject matter experts (such as business unit representatives and COSMIC system managers), and agent managers all provided input.


  • User stories were created from workshop ideas, and subteams presented them to the larger group. Two types of stories emerged. The first focused on the capabilities that all the business units agreed were necessary, such as common status codes and defined stages. The second type focused on capabilities for specific business unit needs. Taxonomies differ and branch according to business function, and shape the rules that define automatic case routing, communications, and so on.

  • Details and more scenarios and features were added during a whole-group discussion which I led.

    Examples of the user stories and personas that I created for the team.



The solution: COSMIC--a new, automated case management system 

Using Dynamics 365 as its foundation, COSMIC offers critical case and contract management for Microsoft. Built on a concept that matches case tasks to qualified agents, case management in COSMIC is a configurable system that tracks and supports cases from intake to resolution. It uses attributes to automate case workflow and efficiently leads certified agents through each stage of a transaction. In COSMIC, each stage must be completed before proceeding to the next. COSMIC segregates agent duties if local regulations require it, and gives agents necessary Sarbanes-Oxley Act (SOX) controls. Figure 1 shows a representative workflow and each stage.

What we learned during the workshops was that managing the business has everything to do with optimizing the agents’ workflow. We define specific SLAs and carefully track task time. In our old system, it wasn’t always clear when the clock started and stopped. We had multiple types of holds—customer, external, and internal —defined for specific business scenarios . However, a case was limited to one status, and we could apply only one hold to a case. In COSMIC, we can apply multiple types of holds on a case. Now, agents can reach out to multiple teams concurrently for help—such as asking a customer for more information while they reach out to the sales team for assistance. In the past, this type of activity was managed in offline Excel workbooks. The control and level of detail in COSMIC means that agents have more opportunities to refine and optimize tasks, and to see case exceptions and bottlenecks. New hold capabilities give us a much more nuanced view of the case life cycle.



Another common theme was a request to provide dynamic dashboards and reporting. Our old system made it hard for agents and managers to get a quick view into their assigned work and status of cases in progress. And it was hard for leaders to quickly assess and manage the work across teams and across the larger business. Dynamics 365 provides rich, real-time dashboards configurable for different roles, such as agent, team lead, service delivery manager, and so on. All COSMIC data is published in near real-time with the data repositories the system draws from. This gives all operations teams—including vendor operations teams—data for further analysis and performance reporting. Power BI provides role-based dashboards into all facets of the business, and shows how the business is being managed, without having to research specific queues and cases.

Deployment & What we learned

Three sets of COSMIC capabilities deployed in sequence. As each set deployed, only the business units that used that set of capabilities transitioned to COSMIC. The capability sets were:

  • Case management. The first set of business units transitioned to COSMIC when basic case management functionality was available.

  • Workflow. The second set of business units transitioned after workflow capabilities were available.

  • Agent-guided workflow. The final—and most complex—business units transitioned when the agent-guided workflow capability was available.

Like any other software development project, we learned from our mistakes in the first deployments and incorporated the lessons learned into subsequent deployments.

With Dynamics 365, we can turn on and turn off COSMIC features, depending on what functionality the business unit needs. We avoided customization, which would increase the cost of adding—and then maintaining—more code. Long-term, it simplifies Dynamics 365 application upgrades and allows COSMIC tenants to adopt new features and capabilities faster.

Email  |  (734) 276-8482