In this post I will show some new (usability) features in customizing entities. I really like the way almost all tasks can be accomplished without closing the form editor. Because I need to customize an entity for this demonstration, I thought it would be nice to demonstrate the new possibility to create custom activities at the same time.
Customer Relationship Management has its roots in automating 'customer correspondence' files. Microsoft CRM has always had a very strong selling point there with the Outlook plugin that made tracking (and sharing) e-mail correspondence almost zero-effort. As you probably know, tracking 'contact moments' with 'customers' was not limited to contact by email. In Microsoft CRM 'contact moments' are tracked in activity entities like appointment, task, phone call, letter or fax. There are also a few special activity types that were included more for history completeness than because they were truly contact moments, like 'case resolution' and 'opportunity close'.
A bit of a negative in CRM up until 4.0 has been the inability to add you own activities and the limitations on customizing activities. I have always been able to 'explain this away' by pointing out that the activity records easily contain hundreds of thousands of records, even in a small deployment, and that keeping the performance good has a cost in how much customization you can do. And if that didn't convince, I could always make some cryptic remark about the Outlook synchronization depending on activities (good thing they never asked me just how this was an issue with customizing J). The true reason is probably more that the behavior of activities in CRM is 'not so standard' and to allow you to extend on that would be a lot of extra work for the engineers at Microsoft.
The good news is that in Microsoft CRM 2011 most of these limitations are lifted. We now can:
- Create our own activity entities
- Fully customize the 'activities' and 'closed activities' (formerly 'history') views, including filter criteria and sort order
The fields 'base' activity (containing the fields that are shared between all activities) is still not customizable, however, so this in a sense limits your ability to customize it's views as well.
Also, a new 'recurring appointment' activity has been added. I might write a post about that later.
Create a new activity entity
Ok, suppose we are running a Web 2.0 type of operation and we need to track tweets about our products and campaigns. We want to have this as part of the contact history of our contacts/accounts because To do this, we will create a new activity entity 'tweet'. This is very straightforward. Go to the new 'development center' (Settings -> Customizations -> Customize the System) and select New -> Entity. On the new entity select 'Define as an activity entity'.
This disables a lot of the other checkboxes because these are no longer relevant. On the Primary Field tab, we see the primary field is automatically set to 'Subject' and has a length of 200.
For tweets this is just fine. A tweet has a maximum length of 140 so apart from the subject, we really don't need much. So we press 'save' and continue to change the form. Notice that repositioning the fields in CRM 2011 is done by drag & drop.
Now, what we need is a new field for the 'twitter user' who tweeted this tweet. In CRM 2011 this can be accomplished directly from the form editor by clicking the New Field button below the field list. Also, the name of some properties are not so intuitive as they could be. Actual end could better be something like 'date' as this will be the time the tweet has taken place. And Subject should be renamed to maybe 'tweet'. We could (of course) update the labels on the form, but that would leave the old labels in the views. Better is to change the 'Display Name' of the Field itself. In CRM 2011 we can do this within the form editor as well. Select Actual End and click op Properties. Then go to the details tab where you can now click the Edit button.
It would have been nice if this new Display Name was immediately set on the Label as well. Now we need to either update that manually or remove and re-add the field. Let's hope they fix this before RTM.
Now, after some icons (I will get back on the new way CRM 2011 handles resources like icons in a future post), we now have our own custom activity. Let's add a 'tweet' to an account:
Now, the form for our new activity opens and we can add some data:
Selecting 'Mark Complete' the tweet now appears under 'closed activities' (history in CRM 4.0) under the account.
Customizing Associated Views
New in CRM 2011 is the ability to fully customize the 'special' views like the Associated Views and the Lookup Views. This includes the ability to change the filtering.
In the customization center, open the Activity entity and choose 'Views'. Select the Open Activities Associated View and edit it (double click).
On the View editor (not shown), select Edit Filter Criteria and the following dialog appears:
Here we can see 'Is Regular Activity' 'Equals' 'Yes' on the filter. This filters out system jobs and other items you don't expect to see.
Twitter integration for CRM 2011 or CRM 4.0
If you're looking for twitter integration for Microsoft CRM 2011 (or CRM 4.0), we have a component for this that we are currently 'packaging'. Please drop us a line if you're interested.