Microsoft is continuing to evolve Dynamics 365 Contact Center around AI agents that can participate throughout the customer service journey. One of the most important of these is Customer Assist Agent, which sits on the front line of customer interactions and autonomous self-service. What makes this particularly interesting is voice.

With the arrival of real-time voice agents in Copilot Studio, Customer Assist Agent can move beyond the traditional “press 1 for sales, press 2 for support” experience and have much more natural conversations with customers. It can understand intent, respond quickly, handle interruptions, call business systems, resolve issues, and escalate to a human representative when needed.

Today we will look at how Customer Assist Agent fits into Dynamics 365 Contact Center, why real-time voice changes the self-service experience, and how escalation works.

What Is Customer Assist Agent?

Customer Assist Agent is one of the specialized AI agents in Dynamics 365 Contact Center with multiple capabilities. One of its skills is autonomous self-service through real-time voice.

A way to think about Customer Assist Agent is that it can participate in several stages of the service journey:

  • the customer first contacts the organization
  • AI determines what the customer is trying to accomplish
  • AI attempts to resolve the request
  • enterprise systems and knowledge can be used during the interaction
  • the conversation can be escalated to a human representative
  • the context can continue with the representative rather than forcing the customer to start again

Real-Time Voice Changes the Front Door

Voice has traditionally been one of the most structured parts of a contact center. A customer calls a number and enters an IVR:

Press 1 for billing.

Press 2 for technical support.

Press 3 to speak with an agent.

That model is predictable and easy to control, but it can become frustrating as the number of customer intents grows. Real-time voice agents introduce a different interaction model.

Instead of asking:

Press 1 to change a reservation.

we can potentially allow the customer to say:

I need to move my flight to tomorrow afternoon, and I also want to add a checked bag.

The AI agent can reason about the request, determine the relevant actions, and continue the conversation naturally. This is much closer to speaking with a person than navigating a traditional menu. Real-time voice also changes the type of conversations we can design. A customer might interrupt the agent. They might change direction halfway through the interaction. They may have several intents in the same sentence. They may start with one problem and then remember another.

For example:

Actually, before you change the flight, can you also tell me whether my checked bag is included?

A rigid IVR often expects the caller to follow the structure designed by the contact center. Real-time voice allows the interaction to adapt more naturally to the customer.

Real-Time Voice Does Not Mean We Throw Away IVR

One important point is that generative real-time voice does not mean every part of the voice experience should become non-deterministic. We can combine deterministic workflows with generative conversation. That distinction is important. We might use generative AI for:

  • identifying what the customer wants
  • answering questions
  • navigating several related intents
  • gathering information conversationally
  • clarifying ambiguous requests

We might still use deterministic logic for:

  • identity verification
  • payment flows
  • compliance-sensitive disclosures
  • collecting required values
  • confirming a high-impact action
  • routing according to explicit business rules

For example, the conversation might begin naturally:

Customer: I think I was charged twice for my order.

The voice agent can understand the problem and look up the order. But before issuing a refund, we might deliberately move into a controlled flow:

  1. Confirm the order.
  2. Verify the customer.
  3. Confirm the duplicated charge.
  4. Present the refund amount.
  5. Ask the customer for explicit confirmation.
  6. Execute the refund.

This gives us the flexibility of generative AI without giving up control where control matters.

Escalating from AI to a Human Representative

Customer Assist Agent can hand conversations to a human representative while preserving useful conversation context.

This is important because one of the worst customer experiences is:

Let me transfer you to an agent.

followed by:

Can you explain the problem again?

The better model is:

Customer → Customer Assist Agent → Human Representative

while carrying:

  • customer intent
  • conversation history
  • information already collected
  • completed steps
  • relevant variables
  • potentially the action that failed or required human judgment

The representative should be able to pick up the conversation from where the AI stopped.

Enabling Customer Assist Agent

Now let’s look at how we can actually enable Customer Assist Agent in Dynamics 365 Contact Center.

Step 1 — Open Contact Center Agents

Open the Copilot Service admin center.

From the site map, select:

Contact Center Agents

We should see the specialized agents available to the contact center, including:

  • Customer Assist Agent
  • Quality Assurance Agent
  • Service Operations Agent

Select Customer Assist Agent.

This is the main administration entry point for the newer Customer Assist Agent experience.

Step 2 — Open Customer Assist Agent

Open Customer Assist Agent. Customer Assist Agent is designed around:

  1. autonomous customer self-service
  2. proactive outbound customer engagement

Self-Service handles customer inquiries autonomously. This is where we configure the front-line AI experience for inbound customer interactions, including scenarios such as real-time voice self-service and issue resolution.

Proactive Engagement allows the contact center to initiate interactions with customers based on business events, behavior signals, or context. This can include AI-led outbound voice and SMS engagements, with escalation to a human representative when needed.

For the walkthrough in this article, we will focus first on Self-Service, since that is the skill that anchors the real-time voice scenario. We will talk about Proactive Engagement in a future post.

Step 3 — Create or Select the Copilot Studio Agent

When we select Customer Assist Agent → Self-Service, Dynamics 365 takes us to the AI Agents configuration experience. This is where we connect the underlying Copilot Studio agent that will provide the customer-facing self-service experience. In other words, Customer Assist Agent is the Contact Center capability, while the Copilot Studio real-time voice agent is the conversational implementation used by its Self-Service skill.

If we do not already have an agent, open Copilot Studio and create one. For our demo, we will use this Real-Time Voice Agent that we built in a previous post. The agent is a customer service agent for the fictional airline “Contoso Air”.

Step 4 — Connect the Agent to Dynamics 365 Contact Center

As we initiated the creation of our agent in Copilot Studio, we need to connect it to Dynamics 365 Contact Center. To do this, go to the Channels tab and select Dynamics 365 Contact Center:

Click to turn on Telephony:

Click Turn on telephony:

And then click Connect:

Back in CSAC, you should now see the agent connected:

Step 5 — Add the Agent to the Workstream

Next, we need to decide which customer interactions should reach the agent. This is typically controlled through a workstream. For example, we might have a voice workstream for:

Customer Service Phone

or a digital workstream for:

Website Chat

The connected Copilot Studio agent can then handle conversations entering that workstream as part of the Customer Assist Agent Self-Service experience:

Here we have added our agent:

For a voice scenario, this is where the contact-center architecture starts coming together:

Phone number → Workstream → Customer Assist Agent → AI resolution or escalation

Step 6 — Configure Escalation

We should configure escalation before considering the agent complete. Copilot Studio can hand the conversation to a representative and pass the conversation history and relevant variables with it. The agent needs an escalation path configured for this handoff.

For example, our agent might escalate when:

  • the customer asks for a representative
  • an action fails
  • the request is outside the supported scope
  • the customer requires a policy exception
  • verification cannot be completed
  • human approval is required

Ensure in the Escalate topic you have Transfer to Agent configured:

Always ensure this piece is tested.

Step 7 — Configure the Destination Queue

If the conversation escalates, Dynamics 365 Contact Center still needs to know where to send it. When the conversation is escalated, Dynamics 365 Contact Center uses the workstream and routing configuration to send the interaction to the appropriate queue and representative. We can also pass context from Copilot Studio to help determine where the conversation should go.

For example:

Customer Assist Agent → Billing Queue

or:

Customer Assist Agent → Flight Change → Reservations Queue

The queue can then use the normal Dynamics 365 Contact Center assignment and routing capabilities.

We will go deeper into routing in future posts.

Step 8 — Test an End-to-End Voice Conversation

Now we can test the entire path. Call the phone number connected to the workstream.

Try something like:

Can I reschedule my flight?

Then deliberately force escalation:

I want to speak to a service representative to reschedule my flight.

We want to verify:

  1. The phone call reaches Customer Assist Agent.
  2. Real-time voice responds naturally.
  3. Knowledge and actions are available.
  4. The agent maintains conversation context.
  5. The escalation is triggered correctly.
  6. The conversation reaches the expected queue.
  7. The representative receives useful context.
  8. The customer does not need to repeat everything.

The transferred conversation retains the transcript/context collected by the AI agent.

What We Have Configured

At this point, the basic flow looks like this:

Customer calls → Dynamics 365 Contact Center → Voice Workstream → Copilot Studio Real-Time Voice Agent

If the issue can be resolved by the AI:

Customer → Copilot Studio Real-Time Voice Agent → Knowledge / Actions → Resolution

If a person is required:

Customer → Copilot Studio Real-Time Voice Agent → Escalation → Dynamics 365 Contact Center Routing → Queue → Human Representative

In this architecture, the Copilot Studio real-time voice agent provides the conversational experience, while Dynamics 365 Contact Center provides the telephony, workstream, routing, queue, and human handoff capabilities that make up the Customer Assist Agent Self-Service experience.

Final Thoughts

Customer Assist Agent gives Dynamics 365 Contact Center an AI layer that can participate from the beginning of the customer interaction through resolution. Real-time voice makes the experience particularly powerful because customers can speak naturally rather than navigating rigid menu structures. The agent can understand intent, use knowledge, invoke business actions, and resolve many requests autonomously. When automation is no longer appropriate, the conversation can move to a human representative while preserving its context.

Carl de Souza

Keep learning. Keep building.

Explore AI, agents & Microsoft technology.

I share practical ideas, tutorials, and videos about AI, AI agents, Microsoft technologies, and the Power Platform.

Subscribe on YouTube →

Carl de Souza Enterprise Architect at Microsoft · AI Technology Expert

Source