What happened with CDS and what’s the hell is Dataflex?

Two days ago when we started with Microsoft Inspire, Charles Lamanna published new blog post about Introducing Microsoft Dataflex, a new low-code data platform for Microsoft Teams. But he also announced that Common Data Service has now been renamed to Microsoft Dataflex Pro… and everybody were confused.

What happened with CDS, what is Microsoft Dataflex and what is difference in comparison with Dataflex Pro? Many of people went to Wikipedia and found DataFlex there…

I will try to avoid any additional confusing on this topic and try to be very short and very clear.

First, DataFlex you found on Wikipedia doesn’t have anything with Microsoft Dataflex (& Pro). You can go there and read what it is, but this is not my topic.

As the second fact, Microsoft Dataflex Pro is Common Data Service. Nothing more and nothing less. This is just rebranding. You can see that we still have old URL with common-data-service there. If you know CDS, you will know Dataflex Pro. If don’t, you can find a lot of materials on Microsoft learning site… and I’ll highly recommend starting to learn it if you are doing with Microsoft BizApps.

As this rebranding can confuse, I tried to create one timeline with all these changes. I’m not 100% sure I didn’t miss something, but it will be more then enough to understand what happened here.

And not as a third topic – Microsoft Dataflex (without ‘Pro’). What it is and what it isn’t? This is built-in, low-code data platform for Teams, and it is built atop the Common Data Service (or to use new name, atop the Microsoft Dataflex Pro 😊). This tool will help Teams users to easily build custom apps inside. You will not need to leave Teams and to build everything inside it with really user-friendly UI. You can build apps using Dataflex as environment and together with Power Apps, Power Automate and Power Virtual Agents. And this is not full CDS… this is just a subset of Dataflex Pro capabilities and usage is limited to within Teams.

As I said I’ll be short, I don’t want to write details about it and I’ll just recommend to read Charles Lamanna blog post about it and to find some good presentations on Microsoft Inspire digital event: https://powerapps.microsoft.com/en-us/blog/introducing-microsoft-dataflex-a-new-low-code-data-platform-for-microsoft-teams/.

Business Central Certification Exam and more…

Yesterday on the first day of Microsoft Inspire (this year in digital format), we had an opportunity to see some long time waited news. We will finally have certification exam for Business Central. It will be MB-800 exam – Microsoft Dynamics 365 Business Central Functional Consultant and this exam will be available from October 2020. It will cover the following processes of implementation: set up Business Central, configure Financials, configure Sales and Purchasing, set up operations, and of course how to use Power Platform components. More about the exam here. When you pass this exam, you will become Microsoft Dynamics 365 Business Central Functional Consultant Associate.

But this is not all. We have more news in certifications. As Power Platform takes more and more spaces in solving business issues, we will get two new exams for Power Platform and they will be available from September 2020:

Business Central API’s and Available Methods

If you use API’s in Business Central, probably you found some limitations in methods, depending on API to API. Sometimes you can do more, sometime less. For example, with Accounts you can use only GET method (I still don’t understand why?), and so on…

You can find details about all of them here, but I prefer to have everything on one place as it will be easier to decide if I would use standard API or eventually I need to create the custom one. Because of that, I’ve made this matrix with all standard API’s and methods you can use with them:

Except these limitations, it would be nice to know that you have some other limits as well and they are important if you want to use API’s in some solutions. Even if those limits are high, they are still limits. For example, you can have maximum 600 requests per minute in production environment and 300 in sandbox. Complete list of limits is here.

And what is also important? If you are using those API’s through Power Platform (or Logic Apps) connectors, you should understand their actions and parameters. All details can be found here, but there is a table for better understanding:

It is important to mention that all that information are subject of change.

Business Central OnPrem vs Azure vs SaaS

A few last months constantly I see misunderstanding what Business Central SaaS offering is. To be honest I thought it is all well known, but often it is not a case. Because of that, I’ve readjusted standard IaaS vs PaaS vs SaaS chart and made it applicable to Business Central. I think this chart speaks for itself, but if someone needs additional info, you can send a question and I’ll add details.

Just to be clear, on the top level where we have Company Data, I think on using BC as a system through UI or API’s. That means you are master of your data. You need to be sure how you enter and post your documents. But if we talk about configuration of system, mostly it will be done by your partner, but again this is your decision (as customer) to find trusted partner to work with.

As this chart cannot offer completely picture, I’ve added one more. First one was all about technology, but the next one is about licensing and what is included in system.

*) One thing maybe not 100% clear from this chart is infrastructure subscription if you are using BC on Azure (IaaS model). If you want to use Business Central deployed on Azure infrastructure (no SaaS), you can use a few different models. First you (as customer) can have your own infrastructure (1 VM, 2 VM’2, or VM + Azure SQL). The second, you (as customer) can use partner infrastructure and in this case you can dedicated hardware or services to you (as if you use your own) or you can use shared resources (more cost effective). In this case, middle tier can be used for more clients, as well as Azure SQL database can be added to Azure Elastic Database Pool and to get better performances and better cost. You can find ideas how to make it here (and this is important especially if BC SaaS is not available in your country). And one more thing… if you are using model BC on Azure, cost for OS and SQL Server is included in HW Subscription.

I hope it is now far clearer, but again if you need any additional detail, just send a question.

Business Central Virtual Event – 2020 Wave 1

A couple days ago, we had an opportunity to participate first Business Central Virtual Event. This was good opportunity to see what is new in Business Central and the team during these times when we don’t have in person events (Directions Asia and Directions US are postponed to the end of this year).

With all existing and new features Business Central confirms that this solution is an important member of Dynamics 365 and Microsoft family, available for easy using and integration and collaboration with other systems through Azure cloud.

It is presented to us a new Business Central GM – Mike Morton, an experienced Microsoft leader, who introduce himself to the community as well as his first plans for Business Central. As important results he mentioned that now Business Central on cloud has 6000+ customers with 250+% YoY growth.

During this event we had a great opportunity to see some new features as well as to hear what is planned for the future releases. One of these great features planned in the next release is SmartList Designer – a great reporting tool inspired with GP tool and created in PowerApps. Further we could hear about new integration with teams as one of the most important integrations with other Microsoft products.

I don’t want to write about all features in this new release (2020 Wave 1), as you can find all details here. I just want to emphasize a few of these features. Finally, we have all languages available for using… and not only Microsoft official localizations, but also partner translations for much more countries. And one of my favorite features – integration with CDS; really great improvement which will have a huge impact on future implementation; I want to write independent blog post about this feature and this is a reason I don’t write here more. There is a lot of UI improvements (Collection of pages with already configured filters per pages, now you can bookmark reports as well, pages with two parallel lines, you can collapse or expand your lines on the page e.g. in CoA, personalization is really improved…). Finally, we can purchase resources… something partners developed in the past, but now available by default. Many great development improvements as well as on the server/database side (e.g. database read-only replica for reports, API pages, and query objects).

You still can find active session for this virtual event with 15 recorded presentations.

Dynamics 365 Sales Professional vs Sales Enterprise

In my previous post (video), you could learn how to create Dynamics 365 Sales Professional demo environment. If you are experienced with Dynamics CRM solutions you can recognize differences between this solution and enterprise version, but if you are newbie I would like to introduce you with all differences you can find there.

03-What-is-Dynamics-365-for-Sales-Professional

On the first place, we can split them to the two types of clients:

  • Dynamics 365 Sales Enterprise – full sales capabilities
  • Dynamics 365 Sales Professional – core sales functions at a reduced rate for businesses with simpler sales force needs

But if you want more details and especially if you need to promise something to your client, you should have details. Let’s start with details. First list is list of all features Dynamics 365 Sales Enterprise has, and Sales Professional has not:

  • Access via Portal or API
    • Non-employees only: Work Orders
    • Non-employees only: Opportunities
  • Entities (Create, Update, Delete)
    • Max 15 Custom Entities
    • Competitors
    • Embedded Intelligence
    • Forecasting
    • Product Families
    • Product Hierarchies
    • Product Relationships
    • Quick Campaigns
    • Sales Goals
    • Sales Hub
    • Sales Literature
    • Territories
  • Entities (Actions)
    • Business card scanning as add-on (10 users/month: pooled at tenant level)
    • Business Units (Define and Configure)
    • Knowledgebase (create, update, publish, configure, search)
    • Teams (Define and Configure)
  • General System Use (Actions)
    • Max 5 customized Business Processes Flows
    • Max 2 customized Forms and Views per entity
    • Max 15 custom Workflows
    • Max 5 custom reports, charts, and dashboards
    • Without custom system reports, charts, and dashboards
  • Additional Services and Software
    • Dynamics 365 Gamification (Player & Admin)
    • Microsoft Forms Pro
    • Microsoft PowerApps
    • Dynamics 365 Sales Insights
    • Max 10 ISV solutions

If your conclusion is that Sales Professional doesn’t have a lot of features it is not a true. Sales Professional has a pretty big number of very good features and it can cover probably the most of SMB company requests.

But let’s add some of advantages of Sales Professional. This list is maybe not so big, but quality of this list is more important than quantity:

  • Price: full price is 65$ and this is 30$ less then enterprise version
  • Attach license to Business Central; if you already have Business Central, you need to pay only 20$ for license. As you already have integration in Business Central with D365 Sales, it is a real benefit both a price and functionalities.
  • UI is better (mostly in configuration) as this is intended for SMB customers.

If you need core CRM functionalities and solution easy to implement, Sales Professional is the right solution for you, but if you need all CRM functionalities you should choose Sales Enterprise.

As I see Sales Professional as a great opportunity for small companies and especially for those who already use Business Central, I’ll be focused on this solutions with the following posts (probably mostly videos).

How to create trial environment for D365 Sales Professional

Here I am after a while. I’ve just started new video series about great new product Dynamics 365 Sales Professional. I’ll create probably dozens of different videos about functionalities and configuration, but in this first one I’ll start with how to create a trial environment.

If you didn’t already hear for this solution, just to know this is the great Microsoft CRM solution especially for small and midsize organizations and it is available as full SaaS solution.

Now, I hope you will enjoy in this first video, and I’ll notify you as soon as I publish the new one:

How to integrate Business Central with Dynamics 365 Talent – part 3 (inserting data with LogicApps)

The last days of the previous year, I’ve started with blog series how to integrate Business Central with Dynamics 365 Talent (now Dynamic 365 Human Resources). I wanted to show how to integrate these two solutions without code, using only available services.

I’ve started with the first post, with an overview and then continue with the second one where I explained how to configure both solutions. Now I would like to continue with the third part where I’ll explain integration tools we can use.

Generally, you can use Flow (Power Automation) or Azure Logic Apps. Personally, for this purpose I prefer Logic Apps. There are many reasons for this, and I’ll show the basic comparison between these two solutions:

I don’t want to say Flow is not good solution as I enjoy in using it, but for this purpose (integration) I think Logic Apps is much better choice.

To use Logic Apps, first you must have an Azure subscription. When you open an Azure portal, you can easily find Logic Apps using a search feature. Create a new Logic Apps using Add command.

If you already used Microsoft Flow, you will find that Logic Apps are very similar, but as this is on the first place Azure service, you have to make some basic configuration as a choosing a service Name, what Subscription you want to use, Resource Group and Location for your service.

Then you just need to click on Create and wait a few seconds. If you still don’t see new service, probably you need to hit Refresh and new service will appear. When a new service is created, you need to open it and start creating a flow. System will open Logic Apps Designer and you can start with a Blank Logic App button scrolling little bit down (if this is your first time with Logic Apps, I can recommend to look the introducing video before you start). Do not forget that you need to have already deployed Business Central and Talent and created Talend entities in CDS (check in PowerApps with Data tab).

On the first sight you will see it obviously look like very similar as Microsoft Flow (Power Automation). First you need to start with a trigger, and as there is not trigger for Talent, you need to find ‘Common Data Service’ trigger – ‘When a record is created’. Yes, the first Logic App will be for inserting new data, but to complete this process, minimum necessary will be to make a Logic App for update as well.

Now you need to sign in to create a connection to Common Data Service. You will use credentials you used for Talent and CDS. When you finish with signing in, choose an environment where you have installed Talent and Workers as an entity name. On the end, add Organization as a Scope.

In a new step, you need to make an action. For this purpose, you need to choose Business Central and find ‘Create record’ action. When you sign in, first you need to choose if you want to use Production or some other environment and after that you need to choose a company name and as a Table name choose Employees (this is an API from Business Central).

On the end you just need to connect fields. To do this you need to click on Add new parameter and to choose Business Central fields you want to use for integration. Minimum you have to use are number, givenName and surname. Now you need to connect BC with Talent data i.e. Given Name (from Talent) to First_name, Surname to Last_name…

Click Save and as this is a service, do not forget to click Run. Only now, your Logic App is ready for using.

Be careful here with choosing fields for integration… you can try to integrate more fields here, but it cannot be useful. The answer on your question is when you create new record to the Worker entity in Talent, only a few field will be treated as an insert and the most of them will be treated as an update. Look at the last image where I’ll create new record… only these field you see are treated as an insert.

When you click Hire and add details, all other values you will add will be treated as an update. Because of that, you will see that created new Logic App for updating is absolutely necessary. But I’ll explain more about this in my next post.

But right now, you can create new Worker in Talent and you will see that system created new Employee in Business Central immediately.

How to integrate Business Central with Dynamics 365 Talent – part 2 (configure BC & Talent)

If you’ve already read my previous article about introduction in BC and Talent integration, then you probably expect the next part. I cannot put everything in one blogpost as it will be a huge one and it can be confused to track all details, so I decided to write it in parts. Today, I’ll write how to prepare Business Central and Talent and how to locate data/entities you will handle with.

As I’ve already mentioned in previous post, as we don’t need all HR capabilities in Business Central and we will use all of them in Talent, we will enter data directly to Talent and move to BC only data necessary for other areas in BC. We will move data to Employee table as this table will be used in other parts of BC.

As we will create new employees in Talent, we need to configure No. Series to be fit with Talent requirements. If you want automatic numbers, you need to be careful and to make it exactly the same as in Talent, but I’ll recommend to configure Employee number series as Manual Nos.; this will keep the same numbers in Business Central as we have in Talent and you will avoid all potential risks.

As connectors with Business Central, we will use API’s. Employee table, for example already exists as an API, but if you would like to connect something more, you will probably have to create custom API and custom connector.

What we can synchronize? As I said, minimum we need in BC is Employee table. And you need to find entity as a source in CDS (I’ll explain later). You can connect entities as following:

Business CentralTalent / CDSBC API
EmployeeWorker …employee
Alternative AddressWorker Addresscustom
QualificationSkill Typecustom
 

If you want to find all details about Workers data in Talent, the best is to use the following Worker entity relationship model. But the best is to integrate only what is really necessary… only what you will really use in Business Central.

As we need to locate Talent entities, you need to open list of CDS entities in PowerApps platform (you don’t need to do nothing in Talent environment and you can use it only if it will help you to better understand environment; for all integration purpose you will use CDS – PowerApp). When you open PowerApps web page, you need to choose environment created for Talent.

After that, you need to open Data and Find Entities. In Entities, you can easily find Worker entity as this is a place where we can find our information.

Opening this entity, you can address all necessary fields you want to use in integration. And how to do it, you will see in the following post.

How to integrate Business Central with Dynamics 365 Talent – part 1 (Introduction)

When I think about new Business Central features, the first thing in my mind is openness for integrations. As a part of Dynamics 365 family, the main power of this solution is when it can work simultaneously with other. Because of that, I showed these capabilities in a few conferences. As I got lot of requirement to explain it in more details, I’ll write about good example of BC integrations with one other Dynamics 365 solution – with ‘Dynamics 365 Talent’.

‘Dynamics 365 Talent’ is a new Microsoft Dynamics HCM solution (new name ‘Dynamics 365 Human Resources‘). This solution was initially based on AX HRM, but now it is separated solution. As we can use it independently and this solution is really amazing HCM system, I think it can be interesting how we can integrate this solution with Business Central and make them as the powerful tool together… and with no code.

If you are thinking how to make it and how to make it with no code, the answer is using one of the Azure services – Logic Apps. As ‘Dynamics 365 Talent’ has entities on CDS and Logic Apps has connectors for CDS and for ‘Business Central’, only what we need to do is to map entities and fields in both systems and of course, to think abut business logic on the first place. Depends what is the primary reason for integration, we can choose some of the options:

  • integrate HRM core system with HR in Business Central
  • integrate Attract or Onboard apps in Talent with Business Central.

In second option, we will use HR module in Business Central and use only one or two parts from ‘Dynamics 365 Talent’. On the other side, in first option we will use core HR in ‘Dynamics 365 Talent’. In this text, I chose to explain the first option.

In this first text, I’ll just explain some basic concepts and you will find more details in the following texts with this topic.

Basic setup in Business Central

First, as we don’t need all HR capabilities in Business Central (we already have all of them in dedicated HR solution – ‘Dynamics 365 Talent’), we will move only data necessary for other areas in Business Central. In this example I’ll show how to move data to Employee table as this table can be used for example in a Payroll system or you can use this information in Fixed Assets card.

Locate information in Talent

Now when we have the basic configurations, we can continue with integration. First, we need to find where an employee’s data are saved in Talent. To find this we need to open list of CDS entities and we can do it using PowerApps platform.

When we have these basic information, we can continue with technical parts how to do it in a practice.