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.
This will be slightly different from regular blog posts, which you have gotten used to seeing and reading on this blog. This series of posts will be about how I have started and how I’m leading one Microsoft Business Application User Group in Serbia.
Regular blog posts about Microsoft Business Applications will continue to be published regularly. But let’s try to have something new as I have created one UG, and maybe somebody is doing the same at the moment, so this blog post serial will be some tips and tricks on starting and leading UG.
#1 Beginning
Like most things in life and business, you must start with an idea. My idea was to form a User Group focused on Microsoft Business Applications. Business Apps are my focus in my day-to-day job, and all my community work is also focused on Microsoft Business Applications. So, when I realized that in my county MS Business Apps don’t have any active User Groups where people with the same interest can getter and speak and share knowledge. I started to think about forming one.
With an idea, we come to the first and most important part of forming a User Group. You can’t do everything alone, so you need at least one Co-Lead. In my case, this was easy because I immediately asked my recent co-speaker on some events and my friend Nikola Pancic if he would be interested in starting a User Group with me. He accepted the idea.
As advice, if you don’t know somebody who shares the same enthusiasm as you, do search well because there is always a lot of work with User Group, especially in the beginning. Better slow down a little bit until you find someone, then rush with everything alone.
This leads us to the second important part of the beginning of founding your User Group. Think about the name. You have to think of an interesting name that can be connected to the main focus of your User Group and also be different from others. With a good name, you will be recognizable, and also, it is important because everybody who starts with User Group plans to stay with that group for some time, and the name will always be there.
When you have the team and name, you can continue to the third part. Contact your local Microsoft for support. Depending on how big your country and community this could be easy, or if you are from a big country, it could be much more complex. But with support and approval from Microsoft, you are on an excellent path to organizing your first meetup.
In our case, we connected with leaders of other User Groups, who introduced us to the Microsoft team. Then, we shared our idea, which was a good fit for Microsoft Community in Serbia, so support from Microsoft has come easily and fast. It will help you in the future, and of course, If you are starting a Microsoft User Group it is nice to inform them and ask for approval. But I know that in some cases, this will be challenging but do it.
After getting support from Microsoft, we are getting to the part where we must work on the design a bit. Create your logo. This step is important same as a name. The logo will follow you for a long time. Take your time and think about it. There are a lot of free online design tools, so you can use them, but try to create and create many different options and then vote for the best one. In the voting part, ask your friends and family because this is just the part where you create something that has to look nice.
After the logo, we are still on the design side. I recommend creating a PowerPoint template. It is not time-consuming, and there are a lot of tutorials and documentation on how it should be done. This was the first time I was working with PowerPoint templates, and it took me around an hour and a half to create a PowerPoint template.
Before our last step, there is one more thing to do. Create an email address. We wanted to avoid paying anything in the beginning. So, we have created a free Outlook account and are still using it. It is easy and fast. But it is important for our next step.
And now, for the first post about How I have created a User Group, I will end with the last step, which you have to do in this process, which is important. Create Social Media Groups. And when I say create social media groups, I mean to make them all.
At this moment, we have the following:
Twitter
LinkedIn
Facebook
Instagram
Meetup
Social media are important for the future because you will attract users to come to your events and to see all the important things about your group.
With these steps, you have successfully created a Microsoft User Group, and you can be proud of yourself, as we are. For the next post, you will see how to organize your first meetup, and I will try to cover all things which were important to us and all those things which made our first event good.
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.
If you are a Dynamics 365 Marketing user, you may have already seen that you can trigger Power Automate in your Marketing Journey (Real-Time Marketing). And why is this a good thing? Power Automate allows users to create, update and delete records and can assign records or complex pass-through processes.
There are several actions you have to do before you can trigger Power Automate through Marketing App.
Let’s see all steps necessary to perform before you start using Power Automate together with Dynamics 365 Marketing app.
First, you must create a Customer Journey in Real-Time Marketing.
I have created a simple Journey that starts with a Segment and has only one stage, after which Power Automate will be triggered. But you can create as many stages before initiating Power Automate.
You need to take care of time when you want to start this Journey. Of course, you are not obligated to use Segment as I did. Still, this was the easiest way to show you how to start using Power Automate in your day-to-day Marketing Journeys.
After choosing the Segment, we will continue with the Journey creation.
What we have to do next is to add a new action to our Journey, which will activate a Custom Trigger.
The system will give you one lookup file where you can choose some of the previously created triggers, and then you can use one trigger for multiple Journeys.
But now we will choose to create a new one. When you choose New Trigger, the popup window will open, and you will start defining your trigger.
Here you define some of the usual things like Name and Description, but the critical part for Power Automate is where you define Attributes.
Suppose you have been creating Manually Triggered Flow or Power Automate from the Canvas app for example, or just triggered based on Power Automate. In that case, this is how we get values and proceed them through Power Automate.
This is where you will define key attributes you need to use from this Journey in your Power Automate.
I have created one attribute named First Name for this purpose, but be free and create as much as you need for your Journey.
After defining attributes, finish through the wizard, and you will be able to come back to Journey Form.
Now when you are on the Journey, you must do some mapping.
This is one of the most critical parts because you map your attributes to the fields on Entity/Table.
This is too last step before we go to Power Automate.
Because we had only First Name and Table is Contact, and I have found just my Field in the list of Fields. Just be aware that you must map all attributes you have defined.
And this is the end of the Marketing part.
Now we are going to create one Power Automate.
First, go to the Power Automate page, Name your Flow as you like, and choose Datavesr – When Action is Performed as Trigger.
So in the following screenshot, you will have to be careful what you are choosing.
Catalog > Cxp
Category > Custom
Table name > (none)
Action Name > Choose your action
And the next thing is to continue with Power Automate creation.
I will add a new step where I will use data from our attribute definition. But you can, from now on, create new records, update records, send an email notification, send approvals, work with all connectors in Power Automate, and make the best possible Journey and the best possible steps which have to be automated after your Journey pass.
When you finish with Power Automate creation, Save it and Close it, and return to your Customer Journey Page in Marketing, where you can Publish your Journey and wait for the magic to happen.
I hope that this feature in Dynamics 365 Marketing will allow you to create more complex and more customer-oriented Marketing Jounies, which will allow you to deliver better content to your clients. After all, Power Automate is a really powerful tool that can bring a lot of new ideas, which now can be achieved together with Dynamics 365 Marketing Real-Time Jounies in day-to-day use for Marketing experts.