Yet another exciting new feature of Dynamics 365 is the concept of Business Apps. Business Apps are the tailored, purpose-built apps for various business functions. The goal of Business Apps is to simplify the current user experience and provide a tailor-made feature set for specific business functions.
When you build an app, this can be packaged inside a solution and exported and imported just like any other CRM solution.
Important Note: At this stage, these Apps can only reference the UX components of Dynamics 365 such as Sitemap, Forms, Dashboards, Business Process Flows, Views and Charts. These do not cater to the custom components such as Plugins and Workflows.
Apart from providing tailor-made feature set for specific business functions, Business Apps can help solve some of the common issues such as
“Why do I see Sales and Marketing Areas within Dynamics CRM when I only work on Customer Service?”
“Some of the views that have been created are simply not applicable to our business units. Can we hide these views for our Business Units?”
“We would like the view layout to be different. Rather than having the users create user-defined views, can we have system defined views as per our structure?”
“We want our users to only view the following entities”
“The form layout is not applicable to our business. Can you redefine the form layout?”
Some of the above problems can be mitigated using Security Roles and Role Based Forms. However, the Security Roles and Role Based Forms could not be applied to Sitemap and Views. The concept of Business Apps is a good first step in addressing challenges such as these.
So, how are Business Apps configured?
Apps can be created and composed using the new App designer. You can navigate to App designer through Settings > My Apps > Create App.
I have created a Business App specifically for a Customer Service Team. This includes the following Artefacts and Entity Assets:
- Configuring the Site Map
- Including or Creating New Dashboards
- Including or Creating New Business Process Flows
- Add Entities, Forms, Views and Charts related to the entity
Configuring Site Map
The App Designer lets you add Areas, Groups and Sub-Areas to Site Map. When you add a New Area and Group to the Site Map, you can add artefacts such as Dashboards, Entity, Web Resource or a URL as a Sub Area to the Group. All these existed previously; it’s just that there was no designer. You had to rely on custom add-ins such as XRMToolBox to do this bit.
In the above example, I have added a Dashboard and 3 entities to my Site Map.
Once I have configured the Site Map, I can then go ahead and add the Dashboards and Business Process Flows that are part of this App so that the consumer of this app only sees what is relevant to them.
Adding Dashboards to Apps
I can click on the ‘Dashboards’ artefacts on the Component Panel to select and add the Dashboards applicable to my app.
The Component Panel also lets me create a dashboard if one doesn’t exist. As you can see, I have selected all the Customer Service Dashboards to be displayed to the users.
Adding Business Process Flows to Apps
Similar to adding Dashboards to my app, I can also add Business Process Flows to my app. For that, I would select the ‘Business Process Flow’ artefact from the Component panel. I have selected the ‘Phone to Case’ business process flow to be added to my app.
Adding Relevant Entities, Forms, Views and Charts
Now that we are done configuring the Site Map and adding the Dashboards and Business Process Flows, it’s time to add the Forms, Views and Charts to various entities. Because I had chosen Accounts, Contacts and Cases on the Site Map, the smart app designer displays all the dependent entities under the entity view. If I choose not to include some of the entities, I can select the entity and click on the ‘Remove’ button.
For example, if my business does not use Articles, I can select the Article entity and click ‘Remove’ which removes this entity from my app.
If I need to add other entities to my app, I can do that by clicking on the ‘Entities’ Artefact from the Component Panel and then selecting the entities of my Choice.
To add Forms to entities, I would simply click on the ‘Forms’ entity asset on the Component Panel.
This lets me select my entity, and the Main Forms, Quick View Forms, and the Quick Create Forms for that entity are displayed. I can select the ones that I need for my app.
To add Views to entities, I would simply click on the ‘Views’ entity asset on the Component Panel just like we did for Forms.
This displays all the Views related to the entity. I can pick the views that are applicable to my app. These are the only views that are displayed to the consumer of this app.
I do the same for the charts and repeat these steps for all the entities I have included as part of my app. I need to make sure I have included all the dependent components of the entities. For this, I could use the ‘Validate’ button. This throws ‘Warnings’ if there are any dependencies not included as part of my app.
I can either include the dependencies or choose to ignore them based on what I need. For example, the designer tells me that there’s one dependency not included as part of a Case View.
This tells me that this is related to the User entity and I need to add this dependency. This way, I can resolve all dependencies associated with the entity assets.
Now, it’s time to publish the app. Once the app is published, I can associate Security Roles to this app.
When I navigate to this app, I can only see the components I have configured as part of the app.