Implementing Bots with Virtual Agent for Microsoft Dynamics 365 Customer Service

Reduce operating costs. Everything is about maximizing operations, reducing costs and making our personnel with higher qualifications available to resolve queries, complaints, and procedures of superior complexity, taking away the responsibility of executing repetitive actions of low added value. That is why Microsoft has been working on positioning a product that integrates natively with Dynamics 365 Customer Engagement or why not also with the ERP, as well as with hundreds of external platforms, with a configuration level of the type “power -user ”without the need for major developments.

I present to you “Virtual agent”, the Bot that is capable of being configured without a line of code for basic operations and enabling the derivation/consultation of procedures to Microsoft Dynamics CRM (CE).

"Virtual agents", the Bot that is capable of being configured without a line of code

Among the features it has, it will allow us to:

  • Create Bots using settings.
  • Creating questions and answers topics: conversation threads.
  • Linking with Microsoft Flow to trigger actions and workflows to Dynamics CRM or other platforms (eg trigger actions to another office 365 applications or check current account balance in Finance & operations).
  • Visualize analytics about BOT in dashboards.
  • Publish the bot on various channels.

Content to Implement Virtual Agent Dynamics 365 Customer Service

#1. Bot creating

To start the building of the bot, you can enter directly through the application site:

Once inside, you will press on “new bot”:

create a new virtual agents bot

The system will search for available Environments. An environment is a space where your organization can store, manage, and share business data, apps, and flows. It will guarantee the correct execution of our Bot.

give this project a name

#2. Creation of topics and conversation intentions

The topics represent categories of conversation. Examples include: “payment problems,” “Delayed product delivery,” “service usage inquiries,” etc.

You can create conversations from scratch, or use rich, industry-specific templates to get your virtual agent ready in minutes.

To create topics just enter:

Topics/New topic. Detail the name and enter keywords that will allow the bot’s artificial intelligence engine to identify and trigger its flow execution.

assign virtual agents bot's artificial intelligence engine to identify

To configure the flow of conversation, questions and answers, click on “Go to authoring canvas” on the right. The system will show us the graphic editor of the conversation flow:

conversation flow

At any step of the flow, elements of the type can be added:

  • Bot says.
  • User says.
  • Action (MS Flow).
  • Escalate to an agent (live chat).
  • End with a survey.
  • Go to another action (topic).

#3. Test a Bot

At all times you can test the conversation thread of the bot to understand if it is responding as we expect. An interesting functionality is to enable tracing in order to follow the back and forth of messages, while the bot highlights the graphic flow that it travels:

Dynamics 365: you can test the conversation thread of the bot

#4. Integrate the virtual agent into Dynamics 365 to enter Cases to customer Service.

We have mentioned the interesting option of connecting the bot to Microsoft Flow to execute flows. To start working on it, it is required to enter “Microsoft flow”: and log in with the same account that we created our virtual agent.

Once entered, we must create a workflow in the same “environment” in which we have created our BOT. In turn, for the Flow to be “visible” by our BOT, we must generate it within the “default” solution that the system brings:

Dynamics 365: we must create a workflow in the same "environment" for the virtual agents

For our example, we will generate a Flow-through trigger of the type: “HTTP Request”.

The first things we will configure are the data connections: 

  • Authentication to Dynamics 365 using the credentials of the user with access to the CRM instance to which we will enter the info.

Our Flow should be seen as follows:

Flow should be seen as follows

We will configure the HTTP request to receive an object as follows:

configure the HTTP request

Now choose action and select a connector. Here we select “Dynamic 365” as a connector and “Create a new record” as action.

“Dynamic 365” as a connector

As mandatory data we must complete:

Dynamics 365: data we must enter
  • – Complete the name of the organization.
  • – Complete the name of the entity.
  • – Complete the case title.
  • – Complete the client (as an example we put the GUID of the static register to test it).
  • – Type of client: contacts / Accounts as appropriate.

Note: keep in mind that if in Dynamics CRM we have validations through workflows, custom actions, plugins or similar, which trigger and validate before creating records, they will also be executed when the record is created from Microsoft Flow. This is why you must pay due attention and collection to possible errors in the Flow trigger.

Once we have our generated FLOW, we return to Virtual Agent to configure the invocation in our conversation workflow:

return to Virtual Agent to configure

In this case, our Microsoft Flow will be returning the ID (GUID) of the record that has been generated and we can present it as a response to the user in the BOT conversation through the use of “outputs parameters”.

Dynamics 365: Microsoft Flow will be returning the ID

#5. Display the Dynamics CRM incident record.

As a result of the workflow previously built between Virtual Agent, Microsoft Flow and Dynamics 365, we can visualize how the case was generated in our CRM:

Dynamics 365: CRM incident record

#6. Consulting the data analytics of the Bot.

As a result of using the bot, it will automatically be giving us the insights available on a dashboard:

Dynamics 365: Consulting the data analytics


It has never been easier to create virtual agents bots to automate service management or issue resolution online. The possibility of integrating it with Microsoft Dynamics CRM Services is so simple, that it takes a few minutes to put together workflows to derive problems, queries, complaints or, why not, also, consult our ERP transactions. It is possible to provide 360 view information that we have modeled on our clients or prospects. And best of all, everything is configurable through a power user!

Some of the link on this post may have affiliate links attached. Read the FTC Disclaimer.