If you are a Dynamics 365 CE user/implementer, then you already know about custom entities. This blog post’s intended audience is a D365 CE user who is using any of the apps like Sales, Marketing, Customer Service, Project Service or Field Service. If you are coming from the previous versions of Dynamics CRM, then all the entities with all the new apps will fit the definition of custom entities.
What Is a Custom Entity?
A custom entity within Dynamics 365 CE is needed to track data records as per the business need/requirements. It could be related to an existing entity like Account or Contact. A custom entity can be used for various purposes, like track logs, additional fields not available on OOB entities like Account, Contact, an intermediate entity to link 2 other entity records, to track summary information or even temporary data fields until a specified time. The use cases are all dependent on your business needs & requirements.
Creating a Custom Entity
Once you have identified the need for a custom entity the next step is to create it. But before you start, the user will have to ensure that they have the appropriate security privilege to create customizations within their D365 CE environment. It could be that as a Salesperson or even a Manager security role, you could have that privilege. In most cases the customization privileges reside with the system customizer or Administrator.
Creating a Solution
Once the issue of permission and privilege is determined, the next step of creating custom entities involves creating a solution within the customization section. The choice of unmanaged and managed solutions will be a topic for another day, but from a user’s perspective lets start with an unmanaged solution. Navigate to the Dynamics 365 top menu and select Settings. Under the fly-out menu, select Solutions under Customizations sub-section.
In the solutions section you can create an unmanaged solution by clicking on the New button and filling out the basic properties like name, publisher (Default Publisher) and version number. Once you have saved this information you have a solution (container) to keep all your customizations together.
Make sure you have the Entities link selected on the left menu navigation. Then on the right side you will see the option to add existing entities or create a new custom entity.
Inputting the Basics
Creating a new custom entity just requires you to specify a name, description, ownership method and the primary field. There are still a lot of other options and selections to make which if you don’t make at this point you won’t be able to change them. The process of entering this basic information and saving it does a lot behind the scenes. It creates the entity (table in a database), creates some standard fields for that entity, creates views, forms, relationships and other settings to make it available offline or in the mobile app. As a platform, Dynamics 365 offers a lot of options that you can configure just by mouse clicks and the custom entity setup is automatically taken care of for you.
Some of the basic settings/configuration available when creating a custom entity are defined in different sections:
- Areas that display this entity
- Process
- Communication & Collaboration
- Data services
- Auditing
- Outlook & Mobile
- Help
The Process section allows you to select whether the custom entity would have the Business Process Flow enabled (which will then also create additional fields). Once enabled, this setting selection cannot be undone. So be sure of your decision before enabling. This setting would allow you to create multiple processes for a record for this custom entity which the users would have to follow for any new record, a good way to implement business process and standardization of data collection or process amongst your users.
Choosing the Right Options
Under Communication & Collaboration, there are multiple options like enabling Notes, connections, mail merge, document management (link to SharePoint), enable for Queues (mostly for service management but can be used for some other purpose depending on business need), and enable for SLA (if you would like to track activities or response times from your internal team towards a record for this custom entity). I can tell you that the most used settings under this section are Notes, Activities (to link activities against this entity), Connections, & Document management.
Data Services options are the most used when creating a new custom entity. The quick create forms and options only become available if the Allow Quick Create option is selected. Duplicate detection setting is automatically selected by default, but you must still define the rules. Auditing option doesn’t do much when enabled here and only starts to take affect when you enable it at the system level and at the field level. The Change tracking option is a relatively new option which is enabled for when you are syncing your CRM data to an external SQL server (online) or for on-premise to track changed records and then use that for some integrations.
The Auditing options available here are only for D365 online and not for on-premise installations. The auditing here ties into the new auditing option that tracks the record reads to a log in Office 365.
Outlook & Mobile Help section options further define the customization for a custom entity for offline, outlook and mobile capability along with setting up custom help options for your users.
All these options change the behavior of your custom entity in different ways and can work towards configuring it as per your business needs. Other important settings include Virtual entity, Ownership and ‘Define as an activity entity’. The virtual entity option enables it to present external data as if it is native CRM data. The Ownership setting in most cases is User/Team but in certain instances (where the data for a custom entity would always be viewable to all users and you don’t have to setup ownership of records) then the Organization selection would make sense here (like Products)
The Primary Field is also important in that all records would have this field and you can use it appropriately or else it would just be a text field. You could end up writing some javascript or plugin to populate this primary field if not given proper thought right in the beginning.
Setting Up Forms and Custom Fields
Once these settings are made, your next step would be to set up Forms and custom fields, these define how your business users would interact with this custom entity and create/modify/delete the records for this custom entity. Any user interaction customization that you would make for this entity would involve Forms, javascripts or Business rules. The different views allow the presentation of the data in a grid format. One of the views ‘Quick Find View’ also allows you to define the fields by which a user can search for records and the data columns that would be displayed when a user searches for a record.
The Right Custom Entity for You
Dynamics 365 CE is going through a lot of updates/changes lately especially with its integration with PowerApps. You can already see it in different areas like Administration and any customization screens. One year from now the customization and the settings available could be available within the Power Apps platform which will enable multiple use cases for a custom entity.
It is very easy to create a custom entity but to ensure its usage and user acceptance a lot of thought needs to be put in beforehand to requirements and user interaction. Extra thought allows you to create a custom entity with the available tools for higher adoption amongst your users.
Looking for Customization Help? Give KTL Solutions a Call.
A dynamics partner like KTL Solutions can always go through the available options with your team to review your options and guide your business through the next steps forward to creating custom entities within Dynamics 365. If you need help with your custom entities give KTL a call today. Our team is experienced with custom entity customizations and know how it can help you move your business forward.