Looking for PowerObjects? Don’t worry, you’re in the right place! We’ve been part of HCL for several years, and we’ve now taken the final step in our acquisition journey: moving our website to the HCL domain. Nothing else is changing – we are still fanatically focused on Microsoft Business Applications!

PowerObjects Blog 

for Microsoft Business Applications


Making Data Validation and Record Creation Easier than Ever

Post Author: Joe D365 |

Do you want to make data validation and record creation easier to help ensure data integrity in CRM while still allowing your business to operate effectively? If so, today's blog is for you!

It's not uncommon to have sources of data that are error-prone or unreliable, but we still want to be able to get the data into CRM as quickly as possible to take action. This data often comes from integrated sources such as a website, distributor, or other third-party source. CRM Administrators prefer that data is checked to ensure it is not duplicate data and that it is complete and correct BEFORE it ever makes it to CRM. However, that can sometimes lead to delays in the process. There is a configuration and workflow process you can use to aid in expediting this process, allowing the user to validate the data and take action on the request at the same time.

In this scenario, we have a third-party website where users can request product samples. Sample requests from the website are imported into CRM to a custom entity called Sample Requests and associated to an Account or Contact record. The challenge is that the request could come from either an existing customer or a new prospect. If a previous record doesn't exist, we want a CRM user to review it BEFORE a new Account and/or Contact is created to help prevent a duplicate record.

The process should be easy to do, all without having to re-enter information. We will use a workflow because we captured the contact data provided in fields on the custom Sample Request entity.

TIP: When creating the fields on the custom entity, it's easiest if you make them the same type and size as the Account and Contact fields you will be mapping to.

1. The Sample Request record is created through integration.

  • A match could not be found for the Company and Contact. The request is assigned to an "Unassigned" Account and "Unassigned" Contact.
  • The Company and Contact information provided by the requestor was populated on the Sample Request record.

data validation

2. Create an on-demand, real-time workflow to allow users to easily create a new Account or Contact and then update the Sample Request with the newly created record.

data validation

Map the fields from the Sample Request record that are relevant to the Company (i.e. Company Name, Address fields, website, etc.).

Also map the fields from the Sample Request record which are relevant to the contact (i.e. First Name, Last Name, Address fields, Email Address, etc.). Let's also map the Company which was created in the prior workflow step.

data validation

If desired, you can also update the Primary Contact on the Account record as we did in our workflow.

data validation

The final item in this step is to update both the Account and the Contact on the Sample Request to associate with the newly created Account and Contact using values created in our previous workflow steps.

data validation

3. After validating the data and confirming that this should be a new Account or Contact, select and run the workflow.

The Account and Contact will be created. In our example, we also assigned the Contact as the Primary Contact for the account.

data validation

The Sample Request Company and Contact lookup fields will be updated.

data validation

Some additional things to consider that may improve usability or data integrity:

  • If the Account and/or Contact are matched on the initial integration or subsequently, hide the Company and Contact information section on the Request form.
  • Add logic to your workflow that checks to see if the Account or Contact is "Unassigned" before creating a new Account or Contact to prevent users from triggering the workflow multiple times and creating duplicate records.
  • You may consider having a branching workflow, which determines if an Account, Contact, or both are needed based on the fields which have "Unassigned" in them. For example, you may only need to add a new Contact, not both an Account and Contact.

That's all for the blog today! After all that hard work, reward yourself with a new video on PO TV!

Happy CRM'ing!

Joe CRM
By Joe D365
Joe D365 is a Microsoft Dynamics 365 superhero who runs on pure Dynamics adrenaline. As the face of PowerObjects, Joe D365’s mission is to reveal innovative ways to use Dynamics 365 and bring the application to more businesses and organizations around the world.

PowerObjects Recommends