It’s been nine months since Microsoft Dynamics CRM 2011 was released. Given the large number of new features and functionality included in the new version, I’m sure many organizations have been able to keep themselves busy with thinking about how to leverage all of them. Anyway, the time is now upon us when we see the first true deliverable from the new agile development path that the Dynamics CRM product development team has adopted. The “Q4 2011 Service Update”, “November Service Update” or “CRM Online R7″, however you like to call it, gives a taste of things to come, as new features and improvements are now introduced bi-annually instead of a big bang release every 2-3 years.
There’s lots of neat things included in the update, such as multi-category charts, user access auditing, lookup and date fields for dialogs, ignoring null values and inactive records in duplicate detection rules etc. Have no doubt, though, this release will be remembered from the Activity Feeds, so let’s proceed straight to them.
More than just an accelerator for CRM
Microsoft has split the delivery method of the Activity Feeds functionality into two tiers. The platform level changes are delivered with Update Rollup 4, which brings us a selection of new default entities, such as the feed Post. These will provide the building blocks not only for the visible Activity Feeds released now but also web services API enhancements, which are covered in the 5.0.7 update of the SDK.
The Update Rollups can nowadays be considered pretty much as “business as usual” hotfixes like the ones released for other Microsoft products, both on server and client side, as they are delivered through the common Microsoft Update mechanism. Testing and planning for the Rollups is of course very much recommended still, as significant changes can be included in them, and yes, they do occasionally break compatibility between versions. Furthermore, the Update Rollup 5 required for Activity Feeds to function cannot be uninstalled if things go wrong.
Anyway, unlike the hotfixes that can be expected to be installed on almost all CRM environments, the Activity Feeds user interface components will probably remain missing from many instances. Why? Because there is no automatic delivery method for them, unless you are using a CRM Online environment that has been provisioned after the R7 release became available. You see, Activity Feeds still are kind of like an accelerator package, as the solution file will need to be downloaded from the Dynamics Marketplace and installed by the system administrator.
Not even installing the solution file and publishing the customizations is enough – you still need to configure them. The menu item for “What’s New” will appear in the UI after the solution installation, but none of the entities in your CRM have yet been enabled for Activity Feed posts. To do this, you’ll need to navigate to Settings and go to Activity Feeds Configuration menu. Create a new Post Configuration record for each entity that you wish to relate posts to. The configuration UI of the solution is not too nice, as you’ll actually need to use the logical name of the entity rather than the display name. So, to enable the new functionality for the user entity (which is the very first thing you must do!) is enter the value “systemuser” and click save. Make sure you check the box for “enable walls for this type of record form” and don’t forget to publish the entity’s customizations after clicking on save.
What’s a “wall”? If you’re on Facebook (and who isn’t), you’ll know this refers to the place where the posts related to a user will be displayed in a descending chronological order. Now, in CRM it’s not only users that can have walls, but any entity for which you have created a Post Configuration entry for. Even your custom entities, like “project” or “event” can be set to have their own Wall. However, bare in mind that not all the system entities are supported for the Activity Feeds functionality, so you can’t have a discussion related to, say, competitor or product records (which kind of sucks, as those are some very common topics for employee discussion around the water cooler, but guess you’ll still need to get away from your desk every now & then). For a complete list of supported system entities, see this page on the SDK.
As you can see from the image above, the wall is actually a web part that is presented on a new tab, that is located before the first default tab (general). The tab will be collapsed by default and the form actually scrolls to the general tab right after the form script is loaded, so a user may not notice anything new on the form. However, if you click on the anchor on the left side navigation, the Record Wall will be revealed in all its glory. Here the user will have the option of adding the record into his list of followed CRM records, see who else is following it, and of course post an update on the wall. (By the way: if you have multiple forms per entity, you’ll need to add the Record Wall web parts manually, by following these instructions.)
There’s also a Personal Wall that shows the user all the content from followed records, and that’s the first entry visible on the updated sitemap for Workplace. What’s really nice is that you have a link right after the “What’s New” header, which will allow you to pop up the wall in a new window. This way you can have the feed view quickly available for you at any time, no matter with which CRM entities you are currently working on in the main application window.
Furthermore, every user has a User Record Wall, which would be identical to the concept of a Facebook profile page. Sorry, no timeline design available here yet!
Not just for mindless chatter: business logic for Auto Posts
If all that Activity Feeds provided was the ability to chat with your colleagues or manually post updates related to records, then it would have a tough time competing with established enterprise microblogging apps like Yammer. Luckily the Dynamics CRM platform can offer much more than that. By allowing certain events related to CRM records to generate content for the Activity Feeds the system can actually serve as a tool that removes the need for you to email information about business events or type updates into a microblogging app. A traditional way to demonstrate the CRM workflows has been to create email alerts on closed opportunities, but now you can reduce the clutter in your inbox by moving these into the right context (opportunity form) with the ability for users to comment and see others’ comments.
The way to configure what gets posted on the walls is through the Activity Feeds Rules menu in the settings area. It’s here where you can enable or disable rules that have been tied to certain events, such as qualification of a new lead, case routed to a queue, appointment closed for an opportunity and so on. If you follow the record that these events have been associated to, you’ll see a pre-formated Auto Post on your personal wall after the event takes place.
Great, so how do I create new Post Rule Configuration records? Well, unfortunately, you don’t. You see, all the entries visible in the list have been created as the result of enabling Activity Feeds for an entity. There is no UI available for creating new rules, nor modifying existing rules – all you can do is change the status. If you want to have different events triggering Auto Posts, you’ll need to either use a workflow rule or plug-ins. Here’s a quick example of a workflow that executes every time a new contact is created, checks whether the parent account relationship type is “customer” and then proceeds with creating a Post record with the contact details inserted as dynamic text. Note that the RegardingObjectId is set to the account and not the contact record. This is very important, since a new contact will not have any users following it at the time the record is created into the database, so the Auto Post would only show on the Record Wall but not the users’ Personal Walls.
As we see from this example, it makes all the difference what kind of a following strategy the CRM users adopt. How to get the right amount of posts in the feed, without missing out on any important pieces of information? Also, how to handle the process of unfollowing? There’s a limit to 5000 records a user is allowed to follow, and managing a list as long as that will require some planning.
I also tried this the other way around, with a workflow rule that would be triggered based on User Posts creation, which would email the post text to a user, but apparently that particular field is not compatible to be inserted into workflow generated records (even though the workflow editor allows you to select it). Also, it’s worth noting that even with plug-ins you can only create Auto Posts with text content, not the rich XML content that the out-of-the-box Activity Feeds Rules utilize to present their information with customized images and other tricks. Furthermore, while the default Auto Posts will be presented in the user’s language, this is not available for custom Auto Posts yet.
So, is this now Social CRM?
No, not quite yet. The first release of the Activity Feeds solution for Dynamics CRM is squarely focused on introducing the data model and user interface components needed for sharing information in a more modern, social way inside the corporate firewalls. The customer (the first letter in the CRM acronym) has not yet been invited to be a contributing member in this internal community, as all the data in the Activity Feeds will be from either employees or internal business rules configured in CRM. To really step outside of the traditional silo of CRM and adapt it to the world we now live in, where the customers are A) social and B) in charge, a lot more will be needed. To get an idea of Microsoft’s roadmap for developing their Dynamics CRM platform to become a business hub that supports input from external communities, be sure to check out this presentation on Slideshare, especially the “Beyond Wave 1″ part.
However, as there is an API available already today, expect to see new 3rd party ISV solutions that tap into the CRM feeds and push content from external networks right into your lead or contact walls when they post content on Twitter. Technically it’s not difficult at all to achieve, but a more important aspect to consider is how you will make that customer contributed data add value to the CRM users and enable them to gain new insights based on it. It’s a fire hose of data out there in the social networks and online communities, so simply linking up your CRM system to that data pipe may not be a smart choice.
Even for the internal communities use case, it’s very important to remember that just because you built it, doesn’t mean they’ll come. In this case “they” means the CRM users, who shouldn’t just be expected to automatically adopt the new social features of Dynamics CRM, even though they have been installed into their system. Not only will the new ways of working require support from top management, a plan on how & why these new information management capabilities will be leveraged, but also a conscious effort from Dynamics CRM system customizers and administrators on making these new features approachable, usable and relevant for the everyday tasks that the CRM users need to perform.
Thanks to the Activity Feeds in Dynamics CRM, we now have a lot more toys to play with and certainly a lot to learn about them. So, what are you waiting for? Let’s get to it!