We are close to the end of this year, and we mostly have important conference dates for the following year. I would like to have all Dynamics 365 (and/or Power Platform) conferences in one place, with all dates planned for 2024. So, you can find them here and start planning your attendance as most of them have early bird:
Over the past week, the Dynamics 365 and Power Platform community came together for two exceptional events: DynamicsMINDS and Days of Knowledge Central. These events provided a platform for enthusiasts, experts, and industry leaders to connect, collaborate, and dive deep into the world of Microsoft’s cutting-edge technologies. As a participant and speaker at both events, I had the privilege of experiencing firsthand the energy, innovation, and knowledge-sharing that took place.
In this blog post, I will take you on a journey through these extraordinary events and share my insights and highlights.
As a speaker at DynamicsMINDS, I had the opportunity to share my insights and experiences with the audience. It was truly exhilarating to connect with like-minded individuals who are passionate about leveraging Dynamics 365 to drive business transformation. The enthusiasm and eagerness to learn were palpable, creating an electric atmosphere throughout the event. From deep dives into the latest product updates to exploring real-world use cases, DynamicsMINDS served as a catalyst for innovation, empowering attendees to unlock the full potential of Dynamics 365.
Days of Knowledge Central provided a unique opportunity to gain deep insights into the various components of the Dynamics 365 Business Central & Power Platform. From hands-on workshops to expert-led sessions, attendees were exposed to the full breadth of possibilities offered by the Dynamics 365 & Power Platform. As a speaker at this event, I had the privilege of sharing my knowledge and expertise, demonstrating how the Dynamics 365 & Power Platform can revolutionize business processes and empower organizations to achieve digital transformation at scale.
Networking and Collaboration: The events fostered an environment of collaboration and networking, allowing attendees to connect with industry experts, Microsoft MVPs, and fellow enthusiasts. The opportunity to exchange ideas, share best practices, and build meaningful connections was invaluable.
DynamicsMINDS and Days of Knowledge Central were two remarkable events that brought the Dynamics 365 and Power Platform community together for an unforgettable week of learning, networking, and collaboration. As a participant and speaker, I was inspired by the passion, expertise, and commitment demonstrated by the attendees and fellow speakers.
As we look to the future, it is evident that these events have further solidified the Dynamics 365 and Power Platform community as a hub of innovation and knowledge. The insights gained, connections made, and experiences shared will undoubtedly propel individuals and organizations towards continued success in their digital journeys.
Now, when chatbots are becoming a more and more popular way of communicating with customers, all users would like to do more via chatbots. As Microsoft’s response to tools that can make chatbots, there is Power Virtual Agents, and the real power of Power Virtual Agent (PVA) is enormous.
But as business application specialists, we always try to think about how to connect it to some of our Business Applications. This time we plan to connect PVA to Business Central (BC). More precisely, we want to create New Sales Order from PVA and directly in BC.
How we can achieve that, and not to say it is easy, but it is not so complicated. In a concise explanation, we will create PVA with typical questions, and then we will ask some specific questions to our users so that they can give us order-specific data. After collecting data, we will use Power Automate to connect all.
But let’s stop talking hypothetically and start creating our PVA connected to BC.
The critical thing to mention is that I will not explain how to create PVA nor suggest which questions to use to trigger it and which flow you will make. I will focus only on the essential steps you must implement to create a Sales Order in BC using PVA. You can start as you like and do it in the best possible way so that it fulfills all of your requirements.
So, let’s start.
First, you will have to get three essential pieces of information from your PVA users:
Account/Customer No.
Item No.
Quantity of Item which customer wants to buy
You can work with Item Name and Customer Name, but be aware that this can make your process more complicated because we have a few things to take into consideration before using this approach:
Human error
Similar names
Many more questions for users
Many more variables to consider
Etc.
If you want to try this approach, consider this problem, and you can do it. The process is similar, only with some more steps.
But with our approach, let’s create three questions in Power Virtual Agent and define Variables for them:
Choose Add Node
Choose Ask a Question
In Question, define:
What is your company account number with us?
Identify the User’s entire response
Save response as
Click on the Pen icon and name it VarCustomerID
choose Add Node
Choose Ask a Question
In Question, define:
What Product No. are you looking to purchase?
Identify the User’s entire response
Save response as
Click on the Pen icon and name it as VarItemNo
Choose Add Node
Choose Ask a Question
In Question, define:
Can you tell us which Quantity you would like to order?
Identify Number
Save response as
Click on the Pen icon and name it as VarItemNo
And now we have our questions and variables. What we have to do from here is to add a new action in our PVA, but this time is going to be active for triggering Power Automate.
To do this, you will have to:
Navigate to Add node in a Topic editor in Power Virtual Agent
Choose to Call an action
Choose to Create a flow
And from here, you will be redirected to the Power Automate editor, and you should start creating a new Power Automate.
You will see immediately that you already have trigger and Output predefined for PVA. Just keep it, and we will use it in the process.
From here, you will have to create some Variables and, most important Sales Order Header and Line.
As you probably know, in BC, Sales order contains two tables:
Sales Order Header
Sales Order Line
We will have to use both. First, we will create Header, and later we will use the Find Record action to find our Item, and then, in the end, we will fulfill Sales Order Line.
Don’t worry. I will now list all actions one by one and in the order in which you will have to create them so that you’re Power Automate works at the end.
Before you start with Sales Order Header and Lines, as I sed, you will need to do some setup in Trigger and initialize some variables.
For the trigger, what you would need to do is to add you’re Inputs. You will probably understand now whose inputs are values we will get from Questions we have asked users in our PVA.
So let’s create three inputs:
Text:CompanyName
Text:Item
Number:Quantity
And after inputs, I will list all variables you have to Initialize, and all of them will be STRING. Just create them, don’t assign any values. We will do that later in the Power Automate.
Order ID
Currency Code
Item No
Quantity
UOM
Total Price
Now that we have created Variables, we can continue creating records in BC. For better understanding, our Variables are here so that we can collect output at the end and show Sales Order info in PVA so that users can understand what they have created and get some information about orders they had made automatically.
If you want to create Sales Order and not use data back in PVA, you don’t need all these Variables. But when making PVA, it is always lovely to show values at the end to users of PVA.
Now let’s continue with Power Automate, and finally, let’s create a record in BC.
We will now perform three actions; you must do this in this order.
Create Record V3 (Business Central)
Environment Name: SANDBOX (if you are working with a PRODUCTION environment, choose PRODUCTION)
Company Name: CRONUS USA, Inc.
API Category: v2.0
Table name: salesOrders
customerNumber: CompanyName (from trigger)
Find Records V3 (Business Central)
Environment Name: SANDBOX (if you are working with a PRODUCTION environment, choose PRODUCTION)
Company Name: CRONUS USA, Inc.
API Category: v2.0
Table name: items
Filter Query: number eq ‘ItemNo’ (ItemNo Variable form dynamic value)
Create Record V3 (Business Central) (Apply to Each will be created automatically)
Environment Name: SANDBOX (if you are working with a PRODUCTION environment, choose PRODUCTION)
Company Name: CRONUS USA, Inc.
API Category: v2.0
Table name: salesOrderLines
documentId: id (from Create Record (Header) dynamics value)
itemId: id (from Find Records (Item) dynamics value)
quantity: Quantity (from the trigger, dynamics value)
And now, after we have created Sales Order in BC, we need to get data and show them back in PVA so that users can see what they have done.
We will do this by assigning values to our Variables. For this scenario, it is best to use Append to string variable action.
Again let’s see what we have to do here.
Append to a string variable (in Apply to Each)
Name: ItemNo
Value: description (from Create Record line)
Append to a string variable (in Apply to Each)
Name: Quantity
Value: Quantity (from Create Record line)
Append to a string variable (in Apply to Each)
Name: UOM
Value: UniteOfMesureCode (from Create Record Line)
Append to a string variable (in Apply to Each)
Name: Order ID
Value: number (from Create Record Header)
Append to a string variable (in Apply to Each)
Name: Total Price
Value: amountIncludingTax (from Create Record Line)
Append to a string variable (in Apply to Each)
Name: Currency Code
Value: currencyCode (from Create Record Line)
When we have assigned values to Variables, we are only left with a few steps till the end of this scenario.
Now we must create one more Variable and append value to it.
This time we are doing this to format our Output result in the best possible way because formatting output values from Power Automate in the PVA is not the best, so we want now to do it in Power Automate and later show this value in our PVA.
To do this, we will create the following Variable:
Initialize variable (Out of Apply to Each)
Name: Order
Type: String
Value: (none)
Append variable
Name: Order
Value: You have created a sales Order with ID: Order ID (Variable dynamics value)
With total price: Total Price (Variable dynamics value) Currency Code (Variable dynamics value)
And now, we are just two more steps to the end in Power Automate.
This time we must use two actions and keep in mind that one of them is already there, so in reality, we must create one more cation (COMPOSE) and, in the end, assign that value to our PVA output.
Compose
Inputs: Order (Variable dynamics value)
Return value(s) to Power Virtual Agents
Inputs
Text: Item
Outputs
And now we are finished with Power Automate. All that is left here is to Save it, jump back to PVA, and map Variables in PVA so that our inputs in Power Automate can work. Your Power Automate would look like the one on the Screenshot if you created it with the exact steps I described.
To do this, you will have to go back to your PVA and inaction, which you have called Power Automate. You have to choose one which we have created just now.
Choose Power Automate, Which you have created
Setup Variables
CompanyName (text) -> VarCustomerId
Item -> VarItemNo
Quantity -> VarQuantity
Add Node
Show a message
Dear customer VarCustomerID (add a variable from the list),
Your order has been created with the following details:
Item(variable from the list)
Now you can Save your PVA and Test it to see if it works. If everything is fine, the result will look something like this.
This is not the end. You can continue playing with this PVA and add one new branch where you will create one more Power Automate for users who are not Customers in BC and first create them so that they can make an order. But this is the end for this scenario, How to create a Sales Order from PVA in BC.
In conclusion, when we can use Power Automate with some other tool natively, SKY IS THE LIMIT in what we can do.
I know that this scenario has a bigger number of steps, but in total, it is not so complicated. Still, it gives an excellent perspective on what you can do and gives you an idea of what some other Power Automates should look like if you are using them from PVA. Enjoy creating this Power automate and Power Virtual Agent.
As I have told you in the previous blog post for part 3, I will introduce you to the Data Synchronization feature, and I will try to explain all capabilities of Data Synchronization.
Before we start creating and explaining how it works, one step needs to be made before we Synchronize Sales Professional and Business Central. You will need to create Synchronization between Dataverse and Business Central first. The procedure of making it is the same. The difference is in the number of tables and the type of synchronization. In Dataverse Synchronization, you will get full sync of Contact, Customer, Vendors, and Currency. It is important to mention that this data sync is easy to set up and work with. As was the case a few years back, you don’t need an Admin User and Integration User (Non-Admin) in Dataverse. Now everything is done through a wizard in Business Central. All you have to do is go to the Assisted Setup in Business Central, choose Set up a connection to Dataverse and follow the steps. You have to pay attention to this setup at the beginning, where you have a question: Would you want to create a Virtual Table? It is up to you. You can switch it off or on, but we will not need Virtual Tables for our Dynamics 365 Sales Professional Synchronization.
Now that we have created Dataverse Synchronization, it is time to focus on our Sales Professional Data Synchronization. After you have created Dataverse Synchronization next step is to choose on the same page in Business Central Set Up connection to Dynamics 365 Sales. What will welcome you is almost the same wizard you got when you were created previously, but as you go through the next page, you will see the possibility of going to the Advanced setup of Synchronization. If you click on advanced, you will see the option to choose some of the tables for sync, my recommendation is to select all of them except Enable Legacy Sales Order Integration, but you will see that if you choose to Enable Bidirectional Sales Order Integration, you will not be able to select Enable Legacy Sales Order Integration.
Now when we choose Finish and let the system do its job, we will end that now we have a much more extensive list of synced tables than previously whit Dataverse synchronization. For example, we have Items, Opportunity, Sales Quote, Sales Invoice… etc. And of course, we see here which type of connection is made to which table, Bidirectional or To Integration Table or From Integration Table, but leaving this on the side more important is now to do coupling criteria. What are we doing here exactly? We are setting which field we want to do, checking duplicates, setting case-sensitive fields, and deciding whether we want to create e New record if he can’t find an existing one.
So, we now have to define Coupling criteria for all tables where the system asks us to do it, and when we finish, we will choose Run Full Synchronization. And the system will do its job, create all records, and match all already existing records on both sides.
Now that we have synced systems and what can we do with them?
In conclusion to this whole blog post, I will give you some examples of what you can do and how you can use the synchronization on and, of course, one CRM (Dynamics 365 Sales Professional) and one ERP (Business Central) for SMB altogether and use the best of both software and to get the best value at the end.
For example, as I have mentioned leads in previous blog posts, this is Sales stuff, and it is good not to mess with Business Central Customers as you may create some Invoices or a lot of financial transactions. So, let’s keep our ERP clear, and those data where we have some contact with somebody, let’s keep it in CRM. But this Lead is getting more interested, and we are getting the possibility to sell something to him (Athens Desk 1896-S, 😊), and he is becoming an Opportunity. We now have Synchronization between ERP and CRM and customer info in both systems. Still, what we can do more from Sales professional because we have Items, UOM, and Sales Quote Synced, we can create a quote in Sales Professional. Now when we want to do Invoicing, we can go to BC and get out the Quote that we made in Sales Professional (because of synchronization), and from that Quote, we will create an Invoice and successfully sell our product to our client. But this is not the end, because we know that in CRM works Salespersons and that for them it is important to understand what we have sold to somebody. This Invoice will be synced back to our Opportunity, and when it is on Opportunity, it will automatically be attached to the Account Table. Each Salesperson will know in the future what this client has bought for what amount and when. This process is called the Lead to Opportunity to Cash business process in two software which works together perfectly.
And one more thing, I’m not persuading you to start using and buying Sales Professional, but I just wanted to show you all the good stuff which comes for you for only 20$ per user per month as an Attached License if you are already a BC user.
And finally, there is always one more question. What if I need to add more tables to the synchronization? The answer is YES! I will stay on this answer because I would not like to rewrite your Microsoft Docs, but I’m giving you the link. In short, you will need a bit of BC development, but you will get it and make extra tables available in synchronization.
We are close to the end of this, and we mostly have important conference dates for the following year. I would like to have all Dynamics 365 (and/or Power Platform) conferences in one place, with all dates planned for 2023. So, you can find them here and start planning your attendance as most of them have early bird:
So, after introduction to this topic, it is time to continue with it and say when you would need to consider extending your Business Central with a license for Sales Professional.
First, what I would like to introduce you to is a small dictionary. The reason is that we have a few of the same, but they have different names. The reason is that Business Central is a financial-focused system, and all data you see in it are focused on your financial transactions with your clients. On the other side, Sales Professional is a Customer-Centric system, and all data in it is focused so that you can have a better view of your clients and make better relationships with them.
Business Central
Sales Professional
Contacts
Contacts (only person)
Customer
Account
Vendor
Account
Items
Products
Unit of Measure
Unit Group
After the dictionary, you probably already have a perspective of the focus of each system, as I have previously mentioned.
But why should we stay on a dictionary when we can split all of the things and dive deep into the actual capabilities of a Sales Professional? You will have a better perspective after seeing what is different and when it would be nice to consider extending your Business Central with a Sales Professional license.
Contacts
So, first of all, if we focus on a Contact table, we will see that Contact can be both Company and Person in Business Central, but in the Sales Professional, Contact is only based on a Person.
But besides this difference key difference is the data that we see in both solutions. Sales Professionals have all data which is essential for a salesperson, for example, all recent Opportunities, general information about clients (Name, Email, Preferred Method of Contact, Address, Marital Status, Contact Preferences, Marketing Information of origin of Contact… etc.) and Timeline which I will explain in a separate section because it is on of the main features which are focused to the Sales Professional users.
We have some of the same information on the Business Central side, but all focus on different users. All data in Business Central is focused on a client’s financial data. Still, of course, it is not only financial stuff, there is some of the information that a Sales Professional has, but the whole UI is different and makes users first see relevant data for one ERP system.
Accounts
If we look at the Accounts (Customers/Vendors) situation, it’s like the Contacts. But the main difference is in the gettering Customer and Vendors to the one record, which is the crucial difference from where we can understand the different focus of these two solutions. As previously mentioned, several times, besides UI focus difference whole solution is for another type of user, and each of the solutions makes you look to the specific data which is most important for key users of each of them.
To better understand the difference, you can see that Sales Professional focuses on the Annual Revenue of the whole company, how many employees the company has, what is the company’s industry of the company… etc. Regarding all of this data, you can see that a Sales Professional focuses on adjusting your sales team to make even better sales to this client.
Lead
Lead does not exist in the Business Central, and Lead is our introduction to the Business Process Flow.
Let’s first start with the actual usage of the Leads, specially Leads for Business Central users. Lead is the first contact with some Account or Contact. This means that the salesperson has just talked with somebody, but they are still unsure if they can make actual sales, so we are creating Leads for the starting status. One of the most important things with leads is that they can be used with existing clients and those you don’t have in the system. Suppose contact has been made with someone you don’t have in the system. In that case, another does not create a Contact or Account until you qualify them for the next stage of negotiations, not synchronized as a Contact/Vendor/Account. You will not have several useless clients from whom you have never sold or bought anything in your Business Central. But for the salespersons, this is most important because they will start to negotiate and negotiate sales from here. While salespersons are trying to make as many sales as possible, there is a graphical process that takes them through precisely defined steps to focus on essential communication with potential clients. This graphical leading is called Business Process Flow.
All salespersons can Qualify or Disqualify a Lead. Qualification takes us to the Opportunity, where Contact and Account will be created if they don’t exist in the system already. And important is that Business Process Flow will continue regardless we are getting on to a different table.
Opportunity
From Opportunity, we are returning to the familiar thing we have in Business Central. Still, from the side of a Sales Professional, it depends on how far we will go with the Opportunity. Would we go to the moment to create a Quote inside Sales Professional, or will we leave all financially focused data to the Business Central?
Sales Professional is fully capable of giving a quote, order, and invoice, but as recommended, we should provide a quote from Sales Professional or leave only on the Opportunity level and go to the Business Central and make a Quote from here.
This is all up to you and your use case. It is important to know that all Items and Units of Measure are synced between both systems. All data is available on both sides, and you will receive it back to Sales Professional if you create Quotes in the Business Central. From the perspective of Business Process Flow, it is always there until you finish with this Opportunity and close it as Won or Lost.
Timeline
Timeline is one of the greatest strengths of Sales applications because you have it on all tables and can see all communication with a client. It doesn’t matter if it is regarding just Account or Contact communication or sales regarding the Opportunity or Lead. You can write it manually or make a Phone Call or Email Appointment. Still, more important, if you connect your Outlook with Sales, what can be created in just a setup connection, you can automatically generate all communication with clients and be informed about every and each communication that happens with a specific client.
And with the new release, you have Teams integration based on the table, which means that you can start the conversation which stays connected to the record, and everyone can see it and be informed of what you have to say about the Client or Sales Opportunity.
Conclusion of part 2.
We have passed key differences in some of the tables most used in collaborations for both systems. In the next blog post, I will explain to you how it is possible to make Data Synchronization and make basic integration of them both so that users can get full capabilities of both solutions and get the correct data in the right solution so that users of both solutions can have the best possible information’s which are related to them and that each company which has both of the solutions can make even usage of them both.
Recently I finished my session about using Dynamics 365 Sales professional with Business Central at Directions EMEA. But there were many questions about D365 Sales Professional capabilities… what is possible, where are limitations…
First, Sales Professional is a CRM solution for SMB companies targeting businesses with more straightforward sales needs with basic sales force automation and limited customizations. But it is still a powerful tool, and I wanted to show you what this app includes using an infographic model. You can see details here:
What more is essential to know? You cannot mix a Sales Professional license with Sales Enterprise (and other Sales licenses)… if you decide to use Sales Professional, you must use it for all Sales users. But if this is not enough for you (at some moment, your company has grown), you can upgrade this license to Dynamics 365 Sales Enterprise.
If you like this infographic, I’ll add a similar one for Sales Enterprise.
Directions EMEA has just been finished, and there was a lot of good news. One is access to the Business Central environment with the Microsoft 365 license. Now statement ‘free of charge” is partially correct.
What does it mean? You cannot get the Business Central environment free of charge as you must buy a minimum of one full user to get access (the whole article is about the cloud option). But when you have access to the environment, you can get free-of-charge access for all your users with Microsoft 365 license. This is huge news. As far as I know, there is no business solution (minimum, no global solution) to which you have free access. Of course, Microsoft will not cannibalize itself, and this access has some limitations, but this is a fantastic thing and can dramatically increase this solution’s use in the future.
You can find details in the following table about what you can use in Business Central with which license type. I hope it is helpful.
You already know Microsoft publishes new releases two times per year (wave 1 in April and wave 2 in October). You can find all news in Microsoft’s release plans. There is also an amazing ecosystem map by Vadim Korepin about all solutions in Dynamics 365 family.
But as I’m most connected with SMB solutions inside Dynamics 365 and Power Platform, I wanted to share more details on what is available for SMB users and companies from Microsoft Dynamics 365 family. Three business applications (Dynamics 365 Business Central, Sales Professional, Customer Service Professional) covered ERP and CRM parts but with plenty of features. I’m sure no other vendor currently can offer more for SMB customers worldwide.
You can look at and download the Ecosystem map for Dynamics 365 SMB solutions I created (resolution is 3840×2160):
I hope this SMB ecosystem map will be helpful for you, and we will have more features and maybe even more solutions here in the future.
I know it has passed since I wrote the first part of this topic, ‘Where is a limit in Business Central CRM capability and when integrating it with D365 Sales (part 1),’ and people expect the second part. But as I’ll speak about this topic on Directions EMEA this year, I decided to postpone the following parts after this event. I would like to keep it interesting and show many of these topics in my session. Of course, as I cannot go so deep into details in 45 minutes, I’ll continue here with publishing my point of view related to this topic.