Automatically creating Tags via workflow

One of the questions we are often asked is how to automatically Tag records on import/creation. It is really easy to do using the out of the box workflow capabilities in Dynamics 365.

For our example below we are going to use the Description field on the Contact entity as our source of information for processing Tags. We are going to check for two sports that will create Tag connections that will be grouped under our ‘Interests’ parent tag (having a parent tag is not a prerequisite for this process to work). You can add as many conditions as you like to the workflow to create the Tags that you need.

Step 1 – create the workflow

Navigate to Settings > Process Center > Processes and click the New button

Complete the Create Process form. We are using the Contact entity for this example but you can use whichever entity you need to associate the Tags.


Build out the steps for your workflow as follows:



For the Create Record step the Set Properties form should look like the following:



Connect To: Select the Tag record you wish to associate

As this role: Set to Tag

Expand the Details Tab and set the Connected From: in this case it is the Contact record the workflow is running on. If you are using another entity then it should be the record for that entity.


Activate the Workflow


Step 2 – Import the data or run the workflow on already existing records

Description Field on Contact:


Tags created after workflow runs:


Tagging v3.2 Released with Multi-Select Tagging Functionality

We are pleased to announce that our latest release of our very popular Tagging solution now supports the ability for users to multi-select Tags from a searchable and sortable list view.

Users simple click the down arrow icon to change the type-to-search/create area into the multi-select view:


Users then check or uncheck (removes tag if previously associated) the Tags and clicks save:



In addition two new parameters have been created:

  1. existingtagsonly – default is ‘false’. Set to ‘true’ to ensure that users can only select from existing tags even if they have the Tag Writer security role assigned.
  2. disablelistselection – default is ‘false’. Set to ‘true’ disable the ability for a user to multi-select tags from the list view. This is recommended if you have many hundreds or thousands of Tag records.


Download the latest version now – Existing license holders can upgrade at no cost!


Tagging V2 – support for parent tags and synonyms

We are pleased to announce the general availability of our Tagging solution version 2.

In this release we have added two major functions – Parent Tags and Synonyms - more on each of these below.

Parent Tags

A Tag can now be designated as a ‘Parent’ which allows categorization of Tags. You are able to specify a parent tag name or names for a given Tag entry box on a record form and then only Tags in with this parent will be shown in the search results.  Tags created when a parent is specified will be created and automatically assigned to this parent. See example form below with 3 tag entry boxes each with a parent tag specified:

Parent Tags


To restrict Tag entry to a specific parent, specify the parent in the Custom Parameters section of the web resource form – this works for Tag Clouds too where you can specify to only show a Tag Cloud for the specified parent tag:

Restrict to parent


The allowable parameters for Parents are:

  1. parent – default is for Tag search results to show all Tags. Setting the parent parameter allows you to specify one or more Tags that have been designated as “parents” (i.e. they can have child tags associated to them). Multiple values can be specified and are separated by a comma.  When a parent is specified new tags that are created have this parent defined.  If there is more than one parent specified then new tags are created with a parent of the first parent specified in the list.
  2. excludeparent – default is for Tag search results to show all Tags. This option allows you exclude specific Tags which have the defined parent or parents. Multiple values can be specified and are specified by a comma. New Tags are created without a parent defined.
  3. allowparentselection – default is ‘false’. Set to ‘true’ to enable Tags which have been defined as parents for selection in the search results.

You can specify a deep hierarchical tree for your tags, however when specifying a parent in the custom parameters the Tag search results will use all Tags that are below the specified parent.


A Tag can now have a list of comma separated synonyms associated with the Tag. When a user is typing in the Tag form area, if any of the synonyms match, the Tag will be available for selection in the Tag search results.

Synonyms on tag record

Synonyms in search results

Download Tagging version 2 now!

The updated installation and user guide is available here.

Timeline v2 for Microsoft Dynamics CRM released with support for custom entities

Timeline v2 CRM 2013We are very pleased to announce the new version of Timeline for Microsoft Dynamics CRM!

The no. 1 request has been to support custom entities on a Timeline and we are pleased to say that this option is now supported in the new version along with a number of other enhancements.

Timeline enhancements:

Custom entity support*

Display any entity on your Timelines in addition to the ones configured by default. We provide step-by-step instructions on how you can set this up – see the installation guide.

Timeline on a Dashboard*

It is now possible to show a Timeline on a Dashboard. The Timeline results are not bound to a specific record so you can show anything you desire from your CRM data!

Whatever query you can dream up in the Advanced find will work with your Dashboard Timeline. Show things like:

  • Your team’s Opportunities and recently closed orders
  • Cases that are due in the next 2 days – the Timeline will show you immediately if you have a bottleneck
  • Your own custom entity data – you decide!

Show only desired entities when loading the Timeline

Timelines can get busy but if there is vital information you would like to be displayed by default and leave the rest of the noise out, you can now do this. Manually add/remove Timeline by checking the entities you want displayed and click Update.

Select Entities to Display

CRM 2013 look and feel

We have updated the Timeline to fit with the new CRM 2013 look and feel – your users will think the Timeline is a part of Microsoft Dynamics CRM with its seamless integration.

Customize the queries that return timeline results*

If you don’t like the data being returned in the default Timeline set up, that’s no problem. We now let you edit, remove or add new queries to manipulate the data that will be shown to your users.

It is as simple as making your query in the Advance Find, exporting the XML using the button on the Advanced Find ribbon and pasting this into the Timeline Entity Link configuration record.

Timeline Entity Link

Customize the fields, localize labels and look and feel shown on in the Timeline detail pane (full HTML support)*

Not only do we let you edit the queries, we let you edit the Timeline detail pane as well! This means you can display any information from the selected record in the detail pane, control the layout and styling via HTML. We provide some simple to apply CSS classes to ensure that the various field types render appropriately on the screen – e.g. apply the class xRMC-Url make the text field containing a link click-able.

Using the HTML configuration you can change the labels to support a different language.

Timeline Entity


The updated Timeline is supported on CRM 2013 and CRM 2011 and is available for download now.

Timeline is now available as a free and as a paid for version. The free version supports all the functionality of the previous version.  Items marked with a * above are available in the paid version.

You can purchase a license key to unlock the great new functions.

Happy Timelining!

Top 10 Data Migration Traps

How to avoid being caught by some common traps when migrating to Microsoft Dynamics CRM.

Considering the impact on delivery dates, testing, training, regulatory compliance and budget, it is always amazing how often the complexities of migration are overlooked. There are many traps to fall into when implementing your shiny new CRM system but migration is one stick that the underlying business will beat you with. Let’s look at 1o of these traps you want to avoid:

1. Your project plan has one task that says ‘Migrate Data’.

This is very easily done as either the team developing the new system or the vendor, can’t estimate the effort so it is just left as a single item. Don’t do it. Do some analysis that will at least give you a consideration of risk, effort and cost. Without these, managing the expectation of the business will be impossible.

2. Not using an automation tool to migrate data.

In the past we have conducted migrations based on SQL scripts, batch files, custom code etc. Quickly you realise that there are real benefits to automation. For example the new system has 5 new fields in a table. Rather than going back and redeveloping the migration code, you just point the tool (we like using Simego) at it and click update. 1 hour saved and no errors introduced, commit it to source control.

3. Migrating old data that might better be placed in a reporting system.

You should always consider that some data might be better placed in a reporting or document management solution. If you have a ‘end of year’ balance brought forward into a new system, do you need all of last years transactions or can you just lookup a report showing them? Rationalising some of this data can pay dividends in the scale of your migration project.

4. You let the vendor leave out migration or worse make it your entire problem.

Migrating data is risky and can be expensive; your development team knows how their current system works better than anyone. Make sure you have some migration commitment from the vendor before agreeing the deliverables and costs.

5. Assume that the migration with be straightforward because the old system and the new system do the same thing.

The architectural requirements of systems mean that they may have completely differing internal structures and security models. These factors influence the effort of migration by factors of 10. Even simple upgrades between versions can be the same as moving to a different vendor’s.

6. Underestimate the effect of the new security model on migration.

Security models are there to make sure that data is not viewed or manipulated by an unauthorised individual. During migrations it is often necessary to circumvent or assume the identity to extract and insert data. The developers of the current systems could make it extremely difficult for you to move data by using encryption, logic in the user screens and even more esoteric (smart at the time) tricks.

7. Thinking you can sort out the data quality once it is in the new system.

Often a driving reason the move to a new system is that it has better data quality control. For example, we often see telephone numbers saved as ‘TBC’ in an old system and the new system will only allow number to be saved. A significant phase in migration is cleaning the underlying system so that clean data can be stored easily into the new system. Often if you migrate dirty data, even with the best intentions, it loses priority and remains dirty undermining the value of your new system.

8. Underestimating the involvement from the business to clean the data.

As with 7, it is important to realise that users will have to assist in cleaning data. You can make this easier by creating lists of broken records and request rules for your automation tools to follow, but the bottom line is that your users know the data and are generally the best ones to clean it up most efficiently.

9. Not realizing the impact of month/quarter/year ends or other business events on the migration.

Many accounting systems require journaling and retrospective adjustment. Additionally, when picking a date for migration, make sure the business is available and not buried in month end, quarter end, tax year-end, year end or some other business event which requires significant business focus.

10. Not documenting the migration process so no one knows where the data came from!

When migrating data it is often necessary to transform the data several times before it finally resides in the new system. Often a client will ask, why is the address used and not the billing address from the old system? You need to have a method of tracing the source to target and often your automation tools can help to generate documentation.

At xRM Consultancy we are experts at migrating data from a variety of sources into Microsoft Dynamics CRM - talk to us to see how we can help you avoid these data migration traps


This post reproduced/adapted from an original by our friends at Simego

SMS solution updated to support default country code

We have released a minor update to our SMS solution for Microsoft Dynamics CRM that allows you to set a default country code in the configuration entity. This is so that you can store local mobile numbers in your country format instead of having to store numbers in the full international format. Mobile numbers outside of your country will still need to be stored in full with the country code e.g. 00 1 212 123 123 or +1 212 123 123.

There is a new field on the configuration entity to store the default country code. The defaults to 44 (UK) if it is left blank.

SMS Configuration Default Country Code

The default Country Code is applied to mobile numbers as follows:

Default Country Code Example Number Full converted number in international format
[blank] 07712 123 123 00447712123123
44 (0)7712 123 123 00447712123123
44 7712 123 123 00447712123123
If the country code is matched it does not get appended twice)
44 +44 (0)7712 123 123 00447712123123
44 +447712123123 00447712123123
44 447712123123 00447712123123
1 212 123 123 001212123123
1 +1 212 123 123 001212123123


Download the new solution from here

Please let us know if you have any feedback.

Using Tags for creating dynamic marketing lists

Once you have started using our Tagging solution for Microsoft Dynamics CRM  you will want to use that information to segment your data. A common scenario is to build a marketing list of all Accounts that have been tagged with one or more tags.

The scenario we will use in this post is as follows: We are organising a breakfast event and want to be able to quickly tag contacts that have registered an interest in coming along. Account managers will call or email clients and prospects and manage the interest by tagging the relevant individuals.

Step 1 – Adding the tag to the contact records

Once tagging has been enabled on the Contact form a user simply has to enter (or select if it the tag has already been used) “Breakfast Event July 2013″ in the Tags box.   This process is repeated over the course of the campaign.

Breakfast Event Tag

Step 2 – Create Marketing List

When your are ready to collate your list of interested contacts, create a dynamic marketing list which identifies all contacts which have been tagged “Breakfast Event July 2013″

a) Create the Marketing List

Breakfast Event Marketing ListMembers

b) Click Manage Members to build the query

  1. Select Connections (Connect From) from the Related section of  the drop down list
  2. From the next “Select” list choose Connected From (Tag) from the Related section
  3. Finally choose Tag from the Fields section of the next “Select” list and lookup the Breakfast Event July 2013 tag

Breakfast Event Manage Members

c) View the marketing list members – we have only one in this case but as users add (or remove) the tag to contacts the list will dynamically change.

Breakfast Event Marketing ListMembers

Easy huh! Tagging can be a very quick way to manage your marketing lists – use it for managing subscriptions to newsletters, product interests, partner emails….

You can download the Tagging for Microsoft Dynamics CRM solution for free!

Tagging for Microsoft Dynamics CRM released

Have you ever wanted to set multiple ‘Regarding’ for a Microsoft Dynamics CRM record? Would you like a very quick and easy way to categorise your CRM information? Are you familiar with the concept of “Tagging” information?

xRM Consultancy are pleased to announce the free version of our Tagging Solution for Microsoft Dynamics CRM. The free version allows 250 tag ‘connections’. A paid for version with no restriction will be available shortly which does not have the 250 tag connection restriction.

Tagging Dashboard

The tagging solution allows users to ‘tag’ any record in CRM with either their own tags or previously entered tags. Users simply enter a word or phrase they wish to tag a record with. As they start typing existing tag matches are automatically displayed for users to select, and if no match is found the user’s new tag is added to the Tag ‘catalogue’. It is very intuitive and easy to use.

Please download the Tagging solution now and see how easy it is to use – we believe your users will love it! Please give us your feedback, positive or negative so we can improve the functionality our solution provides.

Future enhancements

We are already thinking about what we can do to improve the Tagging solution and would welcome your suggestions.

Please contact us with any ideas or questions you have on our Tagging solution.

  • XRM Consultancy Timeline
    Permalink Gallery

    Timeline for Microsoft Dynamics CRM updated with support for more entities

Timeline for Microsoft Dynamics CRM updated with support for more entities

We are pleased to announce that our second release of the very well received Timeline for Microsoft Dynamics CRM (MS CRM) is now available.

The new release has the following updates:

  • Support for more entities; we now cover:
    • Appointment
    • Campaign Response
    • Case
    • E-mail
    • Fax
    • Letter
    • Opportunity
    • Order
    • Phone Call
    • Service Activity
    • Task
  • Updated the queries that collect the timeline data:
    • Account Timeline records retrieved:
      • Where the Account is set regarding
      • Where the Account is set as the customer
      • Where the Account is a participant in an activity party
      • Where any of the Account’s Contacts are a participant in an activity party
    • Contact Timeline records retrieved:
      • Where the Contact is set regarding
      • Where the Contact is set as the customer
      • Where the Contact is a participant in an activity party
    • Opportunity Timeline records retrieved:
      • Where the Opportunity is set regarding
  • Added support for positioning the timeline navigation at the top

This release is still available as a free managed solution download.

Commercial Version

We are planning a paid for version with the following functionality:

  • Filter which records are displayed on the timeline (both at the configuration level and via the user interface from the timeline itself)
  • Display custom entities in the timeline
  • Display timeline on additional entities, include custom entities

Pricing has yet to be set, but please get in touch to register your interest.