Saturday, 17 September 2016

Cloning records in Microsoft Dynamics CRM

Cloning is one of those nifty features that doesn't exist in Microsoft Dynamics CRM out-of-the-box.
The exception is in the Product Catalog where you can clone a Product but alas, elsewhere in CRM it does not exist. Enter IOTAP Record Cloning - with one click you can clone a single record or generate multiple cloned records.

I presented the IOTAP Cloning Tool earlier this week at the Melbourne Microsoft Dynamics CRM User Group so thought I'd share it with you CRM'ers as a vlog.


Check out my vlog below (and same as last time, blooper reel at the end).

What is the IOTAP Record Cloning?

It's a Microsoft Dynamics CRM add-on from IOTAP and is a managed solution. It's easy to install for On-Premise and Online. It already has out-of-the-box configurations ready to go at your disposal after the installation has been completed. To name a few:
  • Invoice and Invoice Products
  • Quote and Quote Products
  • Price List and Price List Items
Once installed you can clone and do some additional configuration to modify the cloning output.

What to use it for

The cloning tool allows you to clone records at a primary level such as clone an Account. It also allows you to clone related records such as clone the Contacts associated to the Account when cloning an Account record.

You have the option to clone a single record or generate multiple cloned records from a record. 



When the cloned record is generated, you'll see a prefix of [Clone] appended to the name of the record.


You can also generate cloned records from a CRM workflow. The IOTAP Record Cloning tool managed solution provides a custom workflow activity which you can call as a step in a CRM workflow.

What configuration do you need to do?

There's three types of configuration:
  1. Clone Attributes Exclude
  2. Clone Related Records
  3. Clone through workflow
For #1 and #2, navigate to this area by heading to Settings > Extensions.

1. Clone Attributes Exclude

If you want to exclude fields when cloning records, you can do so by referencing the Name of the field. To add more fields, simply insert a comma and the Name of the next field you want to exclude.


Grab the Name of the field through the CRM solution.

2. Clone Related Records

If you want to clone related records, you can do so by referencing the Name of the parent entity and the relationship Schema Name.


Grab the Schema Name of the field through the CRM solution.

Check it out in action

After you have set up your configuration of excluding fields and related records, you can start cloning records. In my vlog I cloned an Account which 
  1. excluded the Address 1: City and Address 1: Country fields 
  2. cloned the associated Note and Contact records

3. Clone through workflow

The IOTAP Record Cloning tool managed solution includes a custom workflow activity.


Create a new workflow and simply add the custom workflow activity as a step after your condition. 
Define the properties in the workflow by entering the entity name and the number of cloned records you would like to generate. More about what the GUID is used for here.


When the condition has been met, the custom workflow activity will kick in and you'll see the cloned record in the entity view shortly. In my vlog, I had a simple condition where, when the Account Relationship Type equals "Competitor," go ahead and clone the Account.

Clone Log

There's also a Clone Log which is useful if you need to understand why a clone process failed. You can also provide the details to IOTAP support should you need additional assistance.


What you need to be aware of

Update security roles

If your client goes forward with this cloning tool, don't forget to enable the required security roles with the privileges and correct level of access. I made this rookie mistake, oops. That's my tip for you :)

Only clones at a single 1:N or N:N level

When cloning related records, it does not cascade to additional related records.

Inactive records will be Active

When cloning an Inactive record, it will generate the cloned record in an Active State. For example, if you clone an Opportunity that has been closed as "Won," it will be Active with the last Business Process Flow of "Close" as the stage.

I checked this out with Sumeet Ballani from IOTP and his response was,
"The BPF will be at the same stage as that of cloned opportunity. However cloning allows to exclude certain fields from getting copied to the cloned record. These excluded fields could be configured in cloning." Thanks Sumeet! :)

Lookup records will not be cloned

You can only clone 1:N, N:N related records. N:1 (lookup records) will not be cloned. An example is the the Customer field on the Order, only Order Products would be cloned.

Licence

Here's how much it costs. It's not that expensive in my opinion as it provides functionality that does not exist in CRM out-of-the-box.

Additional links

Is there another method of cloning I can use?

If you don't need to clone related records and only want to clone a record at a single level such as Accounts and no associated records (eg. Contacts associated to the Account), refer to Leon's blog post. You can create a workflow that will clone a CRM record. This is great as there's no licence or developer involved however the cost is time as you will need to configure the workflow yourself. Not really a big issue.

Basically weigh it up:
  1. Do you need to clone across CRM and related records? Then use the IOTAP Record Cloning tool.
  2. Do you only need to clone records for set records at a single level and not related records? Try out Leon's suggestion. If it doesn't suit you, it's cool - try the IOTAP Record Cloning ool. The trial lasts for 10 days.

Summary

I like the IOTAP Record Cloning tool. I think it's simple and does a good job in providing the following
  • Clone a single record at a primary level with the ability to clone related records
  • Generating multiple cloned records at a primary level with the ability to clone related records
  • Excluding fields from the cloned record
  • Generating a cloned record from a CRM workflow
Do I recommend it? Of course! Try it out for yourself. In my vlog I simply installed a trial of the IOTAP Record Cloning tool in a trial Microsoft Dynamics CRM Online environment.

Thanks for reading, toodles!

Special thanks

I'd like to say thank you to Sumeet Ballani for answering my questions in the past week. Sumeet has been responsive and helpful. He shared with me that there will be a newer version of the IOTAP Record Cloning tool this November:

Presently we are working on building new Clone…which would be much better then present one…
  • No Popup
  • UI to do all configuration
  • No need to add additional field in custom entity for cloning
  • Lot of improvements over current one…
This new clone would be out in early November.