Tag: social

  • Using the updated Activity Feeds to monitor Queues

    As a part of the CRM Online Polaris update and the on-premise Update Rollup 12, new functionality has been added to the Activity Feeds solution. In fact, it’s no longer a separate solution but rather converted into a part of the Default Solution during the upgrade to Polaris / UR12 (see this YouTube video for details). Yeah, I know you were thinking that Activity Feeds are on their way out as the Yammer integration arrives, but the reality is that the auto posts functionality will still remain a CRM platform component, although the data itself may be presented through the common Yammer UI.

    We’ll see how it goes in practice once the Yammer integration arrives in February (hopefully for on-prem, too, although no official info on that yet), but we’re already free to explore the enhancements of the updated Activity Feeds. In addition to the great new feature of being able to filter the records from where posts are shown in your feed instead of having to go and follow each and every interesting record, there’s also another important addition: the support for organization owned entities. Previously you couldn’t add the Record Wall onto entities like competitor but now such limitations have been lifted.

    Another interesting entity that could well benefit from the Activity Feeds style of presenting the latest updates is the queue entity. Although queues themselves are a useful feature for process automation and routing tasks between users, their usability in the out-of-the-box configuration of Dynamics CRM is fairly poor. Unless you’re a full time service rep working on queues, it’s not a very intuitive way for monitoring work to be done and who’s working on what, let alone getting notified of something added into a queue that you should do something about.

    UR12_ActivityFeeds_Queue1

    Enter Activity Feeds. With the ability of having the actions in queue item updates being reflected in a timeline that allows people to also comment on the progress of these items, all of a sudden the whole queue concept can become a lot more accessible to casual CRM users. Following the relevant queues you want to receive updates from is as easy as following your teams’ accounts, and with the new filters in Polaris/UR12 update there’s even more possibilities for creating views of only specific types of queue items.

    There are no standard post configuration rules available for the queue or queue item entity, so you’ll have to build the auto post rules by using workflow processes. Although the users will prefer to follow queues and not queue items, what you as a system administrator or customizer will want to do is create workflow rules for queue items and reference the related queue as a regarding object. This will allow users to see Activity Feed posts when new items are added into queues they are following, when their “worked by” information changes etc.

    UR12_ActivityFeeds_Queue2

    With the new social dashboards introduced in Polaris, it’s ever more likely that users will encounter the What’s New section when logging into CRM. Why not make the most of this and configure a few new rules for creating auto posts that surface relevant and interesting information to the users on what’s happening with the various processes that Dynamics CRM is used for managing?

    UR12_ActivityFeeds_Queue3

  • Activity Feeds and user rights: who can see what?

    Activity Feeds are a channel that’s much like Twitter: creating posts that are visible for other users who are following you. On the surface they share many of the same concepts (mentions, following, replies/comments), but there are some notable differences that may come as a surprise to a user who’s accustomed to the open communication taking place on the external social networks. This is especially apparent in a CRM organization that has a hierarchical structure of business units and is limiting the visibility of core records such as accounts across the BU’s.

    Let’s assume that we have a CRM deployment with multiple BU’s that form a hierarchy of a single parent (the top level BU) and multiple child business units. In our example the child level is represented by two country specific BU’s: Finland and France. There’s a user called Jukka in Finland and another user by the name of Teppo in France (OK, not exactly a typical French name, but we’re actually dealing with a Finnish expat here in this case). They are both using CRM to manage accounts and opportunities in their own business units but do not have visibility to any other BU’s data. Nevertheless, we’d like to leverage the Dynamics CRM Activity Feeds as a channel for sharing insights and connecting across BU borders, to make the most of the human capital and knowledge available within our global organization.

    If Teppo from France is looking for new users to follow, he will need to fire up Advanced Find and perform a search of the user records available in the CRM organization (this is the first thing you need to provide clear instructions on, as it’s not quite as intuitive as on Twitter). Unless the default security roles have been adjusted in terms of the User entity, he will be able to see a list of users from all business units. Also the follow buttons on the ribbon of the results view will be active, so Teppo selects a few users from outside his own business unit, as he’s eager to learn about what information they might be sharing on the common CRM platform. However, if he’s paying close attention to the dialog that CRM presents to him he’ll actually notice that he wasn’t able to follow Jukka from Finland.

    “You might have tried to follow some recently deleted records. Newly following: 0” Hmm, what does that mean exactly? It means that the user wasn’t able to follow any users, even though he was not greeted with the familiar big, red X. The reason for this error message was most likely that the user didn’t have sufficient rights to append the Follow records to the selected User records. Assuming that we want to enable such cross-BU following of users, what we need to do is to modify one of the user’s security roles to grant a global right to the Append To function on the User entity.

    After we’ve granted the new rights, Teppo from France is able to follow Jukka from Finland. When Jukka posts a message on his personal wall, Teppo is able to see the post and jump in on the conversation. Social Business in action!

    OK, now how about if Jukka from Finland is writing a post on the wall of an account owned by a user from the Finland business unit? If Teppo is following Jukka’s posts, he will probably see this update from him as well? No, actually he won’t see anything on his wall. If we look at the same post from Jukka’s own Activity Feed wall we can spot the difference to the previous post:

    Here we see the importance of the regarding object of an Activity Feed post. Teppo will not see any of these posts written by a user he is following, because they are set as regarding an account record he himself is not following. These are not just independent posts on the Personal Wall of the user, rather they are updates that are posted on the wall of a specific account (Nokia). In our case, since Teppo does not have visibility to the accounts from another business unit, he has no way to access the conversation going on there or to go and follow the account record.

    (more…)

  • Future stars: Dynamics CRM roadmap news from Las Vegas

    We didn’t yet get a new Statement of Direction or Release Preview Guide for the future releases of Microsoft Dynamics CRM from today’s eXtreme CRM 2012 Las Vegas keynote by Craig Dewar, titled “Microsoft Dynamics CRM – Now and In the Future”. That is scheduled to happen next week, but who wants to wait around for the information that has been shared to the privileged few who attended the eXtreme CRM session?

    Lucky for us who weren’t able to go to Vegas, the best new bits revealed at the session were tweeted out by outstanding #MSDYNCRM community contributors like Neil Benson, Shawn Tabor, Brad Koontz, Bob Hatcher and Eric W Cahoon. Here’s a “best of #eXtremeCRM tweets” collection that tries to summarize what was presented in Dewar’s session.

    Q4 2012: Polaris

    Let’s start with the updates coming in the very near future. The next release is codenamed “Polaris” will be out in Q4 2012, so this is the “Fall 2012” release we saw on an earlier roadmap slide. More specifically, the new functionality will be delivered as a part of Update Rollup 12 during December 2012 for both on-premise and for CRM Online customers.

    Polaris will contain upgrades to the browser UI as seen in the WPC 2012 session in July. It will include the Process Driven Refresh UI and deliver a more “flat” user experience to better match the look & feel of Office 2013. Also, the cross-browser support originally scheduled for Q2 2012 Service Update will now be delivered in December with UR12 and this part will affect also on-premise and hosted CRM environments. The previously delayed custom workflow activity support for CRM Online will be delivered within the same UR12 update schedule.

    New announcements made at the eXtreme CRM keynote for Q4 2012 include click-to-call integration with Lync and Skype (both of which are Microsoft products these days, in case you forgot). CRM Online customers will get a simple Bing Maps integration with maps embedded on the customer forms. Presumably the CRM Online subscription will in the future include a license to use Bing Maps on an internal application whereas customers who’ve bought perpetual server and client licenses from Microsoft need to acquire a separate license to use the mapping functionality through the API (remember: it’s not a free service, like the Bing Maps or Google Maps website).

    Q2 2013: Orion

    The release after Polaris carries the codename “Orion” and is scheduled for Q2 2013. What’s special about this release is that it will be CRM Online only. Whether on-premises and hosted CRM clients will be completely left without updates in Q2 remains to be seen, but the new release cadence suggest only a single major update for on-premises customers per year. The Update Rollup release schedule with an 8 week cycle should still remain unchanged, though, so it’s likely to be a bit of a mixed bag of what’s really “Online only” in terms of new or changed functionality. Update: it’s actually the Q4 2012 Polaris that will be Online only, see the comments at the end from Craig Dewar.

    As I’ve already speculated for a long time, the new Agaves in Office 2013 apps will be used as the means to deliver Dynamics CRM support for Outlook Web Access, both in OWA and MOWA (mobile app). This will finally enable tracking content from your inbox into CRM without having to live with the Outlook desktop client legacy. Also the synchronizing of items from Exchange will be possible on the server side with the Orion release in Q2 2013.

    Yammer integration, which presumably goes much deeper than the current integration solution built by Yammer before being acquired by Microsoft, is scheduled for Q2 2013. Other than this, concreted evidence of bringing social channels into Dynamics CRM was not leaked from Vegas, so we’ll need to wait a bit longer to see how Microsoft intends to deliver on the social story they’ve been promoting for CRM since this time last year. Back when we were still talking about Polaris as the R9 release this was supposed to connect Dynamics CRM with the external communities in a big way, but no major announcements have so far been made on this front.

    Ok, I did spot one physical evidence of social CRM from the Extreme CRM announcements, in the form of a new Social CRM solution built by Sonoma Partners. It’s baked into the updated version of CRM Demo Builder, which now allows you to provision CRM + SharePoint on the same, shared Office 365 platform, thus achieving single sign-on. Whether this particular Social CRM app will be made available to all CRM customers is something I’m not yet sure, but it looks like quite a solid little app for bringing Twitter feeds into CRM by using the same look & feel as the previous Activity Feeds solution. You can promote tweets into new/existing leads, contacts, accounts, cases or opportunities, after which you see the original tweet in CRM as an Activity Feed post. Nothing revolutionary in itself, but a welcome feature, if something like this is actually on Microsoft’s roadmap.

    That’s all of the news I picked up so far from the event by following the social networks. Did I miss any interesting tweet from #eXtremeCRM or an important piece of news? Leave a comment & let’s assemble the pieces of the Dynamics CRM roadmap together!

    Update 2012-09-04: I received clarification on the release roadmap from Craig Dewar himself, here’s the update:

    • “Polaris due Q4 2012 is online only with one exception. There is one capability in Polaris namely cross browser that is of such high interest we will release that capability on premise also.”
    • “Orion due Q2 2013 is online and on premise. It will include all Polaris functionality in addition to many new capabilities.”

    Based on my interpretation of the above, CRM Online customers will get the Polaris functionality first, while on premise and hosted CRM customers receive these updates 6 months later when Orion comes out.

  • Why Microsoft needs to buy Yammer

    Edit 2012-06-25: it has now been confirmed, Microsoft has acquired Yammer. The rest of the post is still valid, so please do read on.

    There’s a rumor going around as of June 14th that Microsoft is about to buy Yammer for over $ 1 billion. While Yammer is not strictly speaking about CRM or even social CRM, they are very much about the social business transformation that is shaking up all the tools that businesses use, including CRM. That’s why I thought I’d share some thoughts and examples of why I think this deal would be really important for Microsoft.

    First, a couple of tasks that are not too much fun with the Microsoft business apps as of now.

    Sharing content is not fun

    Our corporate intranet was upgraded from SharePoint 2007 (BPOS) to 2010 a few months ago. I was interested in trying if I could leverage the built in social capabilities for replacing our Yammer network (free version, in limited use, shadow IT at its best) for sharing interesting online articles with our team. In Yammer you get a cool graphical preview of the shared URL’s target page, you can add tags right under your post (or through hashtags), mention people in posts, follow them etc. All the good stuff that’s made Twitter what it is + then some.

    Looking for a way to properly do this in our SharePoint intranet got me really confused:

    Should I write my comment + URL on the little note board in my personal page? Hmm, no this doesn’t achieve what I want. Do I put it on the callout box on top of my profile picture? Naah, that just works for short “working on CRM implementation at Singapore” type of updates, not URLs. Looks like there’s no good user experience for link sharing round here, and even if there was, how would people actually discover my content? Or if they would, what place could they use for replying and starting a discussion around the topic?

    The sheer amount of effort I was required to put in investigating how the SharePoint social features work is already a showstopper, as most other users won’t be interested in making that kind of an investment. On Yammer and other modern social tools they don’t need to RTFM. If you know how to use Facebook, then you know enough about Yammer to get started. Which is why I’ve sticked with Yammer for content sharing and left SharePoint mainly for document management purposes.

    Sure, a lot of social functionality could be developed by using SharePoint 2010 as the platform for it. Unfortunately the word “could” very often gets replaced with “won’t” in real life. I call it the 90-9-1 rule of business apps. 90% of customers stick with the out-of-the-box functionality, either by choice or by ignorance. 9% invest resources into configuring and customizing the functionality to meet their own requirements. Only 1% go and develop something really cool that squeezes out all that “could” juice from the application by building advanced integrations & custom UI’s.

    “But wait, isn’t SharePoint 2013 going to kill all the other enterprise social software with its new social features?” I’d love to see that happen, but there’s been some doubts expressed about this and I think the rumors sound all too plausible (see: Microsoft: SharePoint 2013 Will Suck at Social – Get Something Else!).

    Searching for content is not fun

    Dynamics CRM is a great platform in so many ways, but one thing that’s severely lacking in it is the search capabilities. No, not the Advanced Find query editor, which is awesome (well, as awesome as FetchXML limitations allows it to be, but anyway). I mean the kind of searches we do on 99% of our daily applications: free text search.

    If I want to look up opportunity records that contain the text “foo” and “bar”, I can’t just type it into a search box like in Google as only a single search term is supported on Quick Find (yeah, I know Outlook client is a different app). Alternatively, if I want to look for “foobar” from all my records in CRM, I’ll need to acquired a global search add-on from a 3rd party, since Dynamics CRM doesn’t provide a cross-entity search capability. (Oh, and did I mention you can’t search the Activity Feed post content at all?) Sure, you could again build a solution for this with BCS and SharePoint, but that get’s us back to the 90-9-1 rule…

    Yammer sure promises a lot with its Universal Search functionality, with advertised capabilities to search across LoB apps like SAP or SharePoint. Whether they can deliver, I’m not sure yet, since at least the free version’s search is often unable to find content that is there. Still, they support the “human” way of searching for unstructured content, which means they can always improve the functionality, simply because they have it to begin with.

    Why Yammer wouldn’t solve everything

    If Microsoft buys Yammer tomorrow, will these things get fixed overnight? No, probably they won’t. Their logo will surely find its way into all presentations in a heartbeat, but the practical implications may be less immediate. Consider Skype, how much has that acquisition changed the lives of Microsoft customers? Not very much yet, probably Windows Phone 8 will be the first real evidence of Skype being an MS product. Another example could be Microsoft’s deal with CWR Mobile, which will initially only change the purchase process and branding of Microsoft Dynamics CRM Mobile for CRM Online users. Since Yammer has just recently announced their own integration to Dynamics CRM, that would most likely be the extent of MS’s offering for quite some time.

    When a solution comes from the outside, integrating it into the portfolio with the rest of the products can be troublesome. Dynamics CRM is pretty much an in-house product that Microsoft has developed internally, unlike for example their ERP products they’ve acquired from elsewhere. My knowledge of NAV, AX, SL, GP or C5 is very limited and I don’t claim to understand the day-to-day challenges that accounting people face when dealing with legislative quirks that us CRM guys don’t need to worry about, but: five products vs. one?

    Sometimes you may not have the choice of buy vs. build if the market is expecting you to make big acquisitions to prove that you haven’t fallen behind your competition on investment levels. Oracle and Salesforce.com sure have been big spenders when it comes to anything related to social. $5 billion and $3 billion respectively, as illustrated on this infographic,  all spent on buying themselves a suite of applications that can deliver a social CRM / social business platform when combined.

    Should Microsoft go on a similar shopping spree? I don’t think trying to buy your way into social business is necessarily the right or only answer. What’s most importnat in my opinion is that after adopting the cloud Microsoft will set its next focus to be adopting social, for real. Betting on the cloud is starting to pay off for Microsoft the way I see it. Now it’s time for their next move. All in, once again?

  • Activity Feeds in R8: from follow to filter

    One of the functional areas to receive an update in the Dynamics CRM R8 release in Q2 2012 will be the Activity Feeds, which were originally introduced as an optional solution in the previous R7 release. In R8 we’ll get the ability to filter the content of the feed, but what are the implications of this enhancement in practice? Bigger than you might imagine at first.

    While the concept of a wall with an activity feed fits well within a modern business application that must not only provide a method to enter  & query data but also allow users to discover relevant information and comment on it, there was a slight handicap in the initial version of the Dynamics CRM Activity Feeds. This was the requirement that you had to explicitly tag the records you wanted to follow, before anything would show up on your wall. What may initially appear as a convenient way to select the updates you’re interested in seeing on your personal feed can soon become difficult for the users to actively manage.

    Let’s imagine a scenario where a user is interested in regularly monitoring the activity feed posts around prospect accounts that have open opportunities. How would the Activity Feeds functionality meet this requirement? Before R8 you would have needed to perform Advanced Find queries on the records that match a certain criteria, then select all (max 250 at a time) and click the “Follow” button on the ribbon. Of course if any new records were created or modified after your search, you wouldn’t have seen updates related to them unless you performed the query again and again. The most advanced users could of course have created a workflow rule that adds the follows based on new events in the database, but a process like that would hardly be obvious for the majority of CRM users. Automating this with a centrally managed workflow or plugin to automatically generate follow records for the appropriate audience on the other hand requires the type of top-down information system planning that doesn’t fit well with the whole idea of social business and its empowered end users.

    In R8 all this will change. The system now allows you to define dynamic filters for retrieving posts regarding records that meet the filter criteria. Rather than individually cherry picking records on your follow list, you can now look at the available Activity Feed posts which reference records of a particular type, such as the aforementioned “prospects with open opportunities”.

    In short, you don’t need to follow records anymore. It’s now optional.

    Ok, so anyone can then go and create a filter for exactly the types of records that they want to see posts from, set that as their default posts view and just enjoy the feed, right? Well, unfortunately not quite. Only the system administrator or system customizer can create new system views and promote them to become available filters for Activity Feed posts. So, how do you create a new filter for Activity Feeds then? Here are the steps:

    1. Go to the Customizations menu, open a suitable solution with the entity you wish to create filters for.
    2. Build a new system view and set the filter criteria of the view to match the filter you want to apply on records from which the related Activity Feed posts should be available. Publish your customizations.
    3. Go to the Activity Feeds Configuration menu and open the Post Configuration record for the corresponding entity (if one doesn’t exist, create a new one with the schema name of the entity).
    4. From the Filters subgrid, select your new view and click Show on the ribbon. No need to publish anything, as this is configuration data (not metadata) and the changes will take place  right away.

    It looks like any new Activity Feed filters published will become visible in the selector menu on the wall by default. The user has the option to click “modify this list” and access a view called My Filters. If any of the filters made available to the whole organization are not relevant to them, this is where the users can set to hide them from their Activity Feeds menu. As a little extra touch, the sort order of the filters can be also adjusted.

    While this means that the users have some level of control over the filters visible to them, the same will not be true for the actual system views that need to be created and published for the whole organization to see, in order to make the filters available to the users who may need them. Personal views will not appear as Activity Feed filters, at least not in the R8 release.

    All in all, it may not be the most elegant solution for the problem of filtering Activity Feed posts, but it definitely does make the whole feature considerably more useful. The pain of getting users to go and follow records in CRM is reduced, as is the need for creating workflows or writing plugins that add the follow records automatically based on some business logic. Also, the benefits of the Activity Feed will be much more apparent for a user who is simply browsing the system contents, as he or she will be able to access a list of account related posts with the simple selection of one filter.

    Looking at the rest of the Activity Feed functionality, there is no further automation regarding the creation of auto posts in the R8 update as far as I know. Default entities have Activity Feed Rules available but for custom entities or events not included in the out-of-the-box rules, you’ll need a workflow or plugin to create the post. One thing that’s important to understand is that the Activity Feeds are not about showing all the updates taking place regarding a record. That’s what auditing is for. Unless you have configured yourself an auto post to be added whenever a record X of entity Y is created, nothing will show up on your wall, regardless of the new filtering capabilities.

    In R8 the follow limit in CRM Online will be increased in R8, but there’s still a hard limit of maximum 1000 follows per user. On-premises servers will have the possibility of increasing this limit, but performance impact is to be expected at some point due to the complex nature of the underlying Fetch XML queries used in constructing the result views for the walls. A very welcome new feature is the ability to enable also organization owned entities for Activity Feeds. This means you can add a wall on a competitor entity form, for example, which was previously not possible.

    What we’re still lacking is the ability to perform searches on the content of Activity Feed posts. Even though the underlying data is in a way structured by containing references to the related records, we’re not able to use any keyword in the actual post text content to perform searches on posts. OK, in theory we are able to perform Quick Find searches on the data if we manually add the post entity into the sitemap, but we’re unable to open the post and comments from there, as the post entity does not have any form that could be used for viewing the content outside of the wall (“the walled garden of activity feeds…”).

    Click to vote for the feature enhancement suggestion on Microsoft Connect

    I find the lack of a search feature on the social content stream quite a strange oversight from Microsoft’s part, considering this is already a v2 release of the solution. If any ISV’s are looking for a new product to develop, then how about creating an Activity Feeds Search solution that offers a custom UI to browse the content of the posts? For the others, why not log in to Microsoft Connect and vote for my product suggestion to Allow Activity Feeds post content to be searched. Thanks for your contribution.

    (For any of you wondering where to get the new, updated version of Activity Feeds, you’ll need to wait for the R8 to be officially released, as described in my previous post. The post here is written based on the R8 beta functionality.)

    Update 2012-07-30: even though the updated Activity Feeds functionality in R8 seemed quite polished, it now looks like these new features have also been postponed by 6 months until the Q4 2012 release, alongside cross-browser and mobile support. I find this decision particularly hard to understand, since the only thing you would need for the new Activity Feeds solution to work in an Update Rollup 8 environment would be a few expansions to the database schema, as far as I can see. Could there be some implications from the recent Yammer acquisition that have forced the Dynamics CRM team to halt any updates to their home brew feed functionality, that’s something we’ll probably never know for sure.

  • Top Dynamics CRM links in Q1 2012

    In addition to Surviving CRM, I also maintain a blog called Microsoft Dynamics CRM Links. However, it’s not an actual blog but rather my public bookmarking service for collecting interesting tools, solutions, add-ons, services and other sites that are related to Dynamics CRM. If I discover a useful new tool on, say, CodePlex, I simply create a new blog post using the tool’s name as the title, the URL as the body text and add a few tags for link categorization. I keep the list on WordPress.com because it provides a great cloud based app for managing any content, not just blog posts.

    Even though the primary purpose of the site is for me to personally keep track of interesting links that I may need to come back to later on, there are also other people who have discovered the site, most likely through a search engine. One day I was looking at the statistics that WordPress.com collects and thought that this actually provides an interesting view to what the Dynamics CRM online community is currently searching for. In the spirit of open data, I decided to publish a snapshot of the website visit stats to show what’s hot in CRM right now and also promote some of the most useful tools and apps out there, to help more people discover them. So, without further ado, here’s the list of…

    Most popular Microsoft Dynamics CRM links, Q1 2012

    1. Auto Number for Microsoft Dynamics CRM 2011
    2. Hierarchical Treeview for Dynamics CRM 2011
    3. CRM 2011 User Settings Utility
    4. Ribbon Workbench for Dynamics CRM 2011
    5. MS CRM 2011 Twitter Integration by Pragmasys
    6. MS CRM 2011 Pragma Toolkit: Ribbon, Sitemap Editor
    7. CRM 2011 TreeView for Dependent Picklist
    8. Silverlight CRM Attachment Image
    9. KingswaySoft SSIS Integration Toolkit for Microsoft Dynamics CRM
    10. CRM 2011 Visio add-in: Business Unit Org Chart
    11. Ribbon Editor for Microsoft Dynamics CRM 2011
    12. Dynamics CRM Dashboard for Microsoft Lync by Orbit One
    13. Powertrak In-line Editable Grids for Microsoft Dynamics CRM 2011
    14. Metadata Document Generator for Microsoft Dynamics CRM 2011
    15. CRM 2011 Attribute Mapping
    16. CozyRoc SSIS+ with Dynamics CRM Connection Manager
    17. CRM 2011 Attachment Image Browser HTML Web Resource
    18. Skype Connector Tool for Microsoft Dynamics CRM 2011
    19. Bing Maps Browser for Microsoft Dynamics CRM 2011
    20. Dynamics CRM 2011 Script# Xrm.Page library
    21. Web Resources Manager for Microsoft Dynamics CRM 2011

    There we have it, the most in-demand apps or tools for Dynamics CRM! Just don’t take the list ranking too seriously, as this isn’t a very scientific way to analyze the true popularity of the links. Some of them have been published earlier, some during Q1. Some have better keywords for search engine optimization. The page view volumes are quite limited, as the top page received 145 hits during three months. Nevertheless, I think the data still gives a fairly realistic view of the functionality people working with Microsoft Dynamics CRM are typically searching for, such as:

    • Auto-numbering
    • Hierarchical data visualization
    • Ribbon & sitemap editing tools
    • Displaying images on forms
    • VoIP integration (Lync & Skype)
    • Customization documentation generator

    One way to look at it would be that these are all features/areas where Microsoft could improve the out-of-the-box functionality that Dynamics CRM 2011 delivers. Luckily there’s an active ecosystem around the platform that is creating either commercial or free solutions to address these areas. Especially the open source tools on CodePlex or free code samples published on various CRM expert blogs are highly valuable resources that I’m thankful for, which is why I attempt to do my own little part by sharing the best links with others. I encourage you all to do the same.

  • Convergence 2012 in a (virtual) nutshell

    Full disclosure: I didn’t actually physically attend Microsoft Convergence 2012 in Houston, Texas. However, that doesn’t mean you have to feel left in the dark, thanks to the immersive experience that is the social web of our times. With live webcasts, near-live blogging and some 6000 tweets on the #CONV12 hashtag, keeping up with the online buzz has never been easier. Here’s my summary of what the event looked like through the eyes of a virtual attendee and some thoughts on where Microsoft and its Dynamics product line appear to be heading based on the announcements at Convergence.

    Microsoft Convergence 2012 keynote summary on StorifyKeynote

    The opening keynote is where the stage is set for the rest of the event, so watching the live broadcast on Monday was definitely on my agenda. Sure, it’s all about building up hype for your products by telling how great you’ve done so far, how excited you are about your future roadmap and showing off with future concept demos that have little to do with the current reality. So what! You need a little show business alongside your business applications conference.

    Having the luxury of my PC keyboard & mouse at my disposal during the event allowed me to experiment with Storify, a social media storytelling tool. I captured the best tweets, photos and screenshots during the keynote and compiled them into my Convergence 2012 story. If you’re anything like me, the mental barrier for sitting down and watching a recorded conference event for 1.5 hours is quite high, so why not glance through the highlights of the show on the Storify summary? After that, you can decide if you want to read the full transcript or watch the recording on the Virtual Convergence site.

    Some notes picked up from the opening keynote included:

    • The Dynamics CRM momentum now stands at 2,250,000 users in 33,000 customer organizations.
    • “There are no happy Siebel customers in the world, there just aren’t.” – COO Kevin Turner on Microsofts internal journey from Siebel to Dynamics CRM.
    • Nearly half of the deals won by Microsoft over Salesforce.com have been due to the on-premises option and the hybrid model.

    Metro

    It’s Windows reimagined time all across Redmond now as we’re nearing the launch of Windows 8 later this year. This means everything that can be shown as a Metro style app running on a tablet, will be shown precisely that way. The fictional Contoso Electronics scenario of the big keynote demo used a highly customized UI built for the retail store experience only. A much more interesting demo was the project management Metro app that looked so realistic you could imagine it becoming an actual UI to some future Microsoft product to be rolled out at Windows 8 launch.

    We didn’t get any official screenshots of a Dynamics CRM Metro app yet, but luckily Garth Knutson was able to snap & tweet this picture of a UI concept presented in one of the sessions. Just imagine if assigning users onto a Dynamics CRM opportunity record would look like this, how much higher would the user adoption of a CRM system be among sales people? Ah, CRM reimagined…

    Microsoft Dynamics CRM and Metro UI

    But the road to metro is paved with Apples. The actual tablet product Microsoft had to show at Convergence was the Dynamics CRM Mobile client for iPad, which meant that Apple devices were well presented in many of the Convergence sessions. Funnily enough, during the conference an internal email leak revealed that Microsoft was banning the use of company budget to buy any Apple products for its Sales, Marketing, Services, IT, & Operations Group. Oh well, guess we won’t be seeing many iPads on stage anymore in the following events. For those of you who haven’t seen the current client yet (developed by CWR Mobility), see my previous post on Microsoft Dynamics CRM Mobile iPad screenshots.

    Microsoft Dynamics Metro app running on a Windows 8 tabletAn important aspect to note is that the move towards Metro apps and tablet devices does also have an impact on traditional desktop usage of Dynamics CRM. Back in November I speculated that the legacy of Outlook could not be carried over to the world of Windows 8 tablets in its existing form. Since then this assumption has only been enforced by the announcement of Windows on ARM (WOA) tablets with no classic Windows application support and no sign of Outlook in the list of Office apps promised for these “iPad killers”. What this means is that the functionality exclusive to Dynamics CRM Outlook client must be moved to the cloud. At Convergence, the following functionality was more or less revealed to be included in the R9 release later this year:

    • Direct synchronization of activities through Exchange (instead of Outlook)
    • Support for “track in CRM” functionality in Outlook Web Access (OWA client)

    Woo-hoo! It’s been a long time coming, but to me this is a clear sign that Dynamics CRM is definitely on the right track in terms of becoming more compatible with the habits of today’s mobile workforce; how they manage their activities and messages on multiple clients, not just the single Outlook on their work laptop. Making the CRM features available through new channels, such as the Office 15 Agaves, is very important for making Dynamics CRM a relevant tool for knowledge sharing as the applications and devices surrounding it are evolving.

    (more…)

  • Using hashtags in Activity Feed posts to automate processes

    Improving internal collaboration has been the driving idea behind Dynamics CRM Activity Feeds. Even though the efficient usage of stream-like notifications may not be immediately obvious to users who’ve come to think of CRM data as permanent records presented in views, they provide a great enhancement on top of the existing customer data that focuses on answering the “what’s going on right now?” question, rather than the “what/who/how much” types of  queries that CRM systems typically have focused on. Joel Lindstrom wrote a great article on the Customer Effective blog about how Activity Feeds are different from RSS feeds, which I recommend everyone to read.

    Originally launched in the Q4 2011 Service Update (R7), the Activity Feeds solution is about to receive some enhancements in the upcoming R8 release that will allow users to better filter the content of their wall and also click “like” on posts. (Note: contrary to some comments, the “unlike” feature will most likely be simply the undo action of “like”, rather than a real “thumbs down” reaction.) Compared to other social business applications like Yammer, there still doesn’t seem to be built-in support for features such as groups or hashtags that we’ve come accustomed to use on many platforms. I’ve already written about a DIY approach for leveraging custom groups to follow posts on specific topics. Next, I thought I’d see how we could make use of the hashtag concept in Dynamics CRM.

    What’s a #hashtag & what’s it good for?

    Whether you’re an active Twitter user or not, it’s likely you’ve come across a person using the # sign in his or her online writing. What started out as a user driven policy of grouping tweets has later turned into a whole movement that’s gotten both users as well as commercial entities get very interested on following, measuring and encouraging the use of #hashtags on social media channels.

    Twitter allows the users to click on hashtags turned into hyperlinks, thus enabling them to view all recent posts containing the same hashtag. Although Dynamics CRM is a flexible platform for LoB application development, tweaking the default Activity Feeds solution web resources to support this kind of filter functionality wouldn’t be exactly a walk in the park. However, we can certainly explore the concept and see what else the platform might have available for us that could make the Activity Feeds more intelligent. Hmm, how about workflows?

    While the post box on a wall doesn’t currently allow us to include any other “magic characters” apart from the @ symbol used for performing mentions, the pound sign does have one clear advantage: it’s rarely used for other purposes than a hashtag (you might have the occasional shouts of “we are #1!” by excited sales reps appear on the wall after they close a deal, but that’s about it). This means we can quite safely use the # symbol as an identifier for our own little magic words.

    Triggering processes from wall posts

    Suppose you’re browsing through your personal wall on a Windows Phone 7.5 mobile while sipping on a Venti Latte at Starbucks, utilizing the free Microsoft Dynamics CRM Mobile app. You spot an item in your feed that you want to take note for further action once you’re back at your office desk. How are you going to do that?

    While an email inbox is hardly a good way to manage a list of open tasks, Activity Feeds are even worse as action items, because they’re not even meant to be persistent records with read/unread status or flags/categories. The stream flows on as other CRM users perform actions such as winning opportunities and solving support incidents, which means that the item you spotted while enjoying your coffee may well be buried into the depths of history the next time you glance at your wall. Posts are merely notifications about something, not the object itself.

    Instead of resorting to disconnected manual notes, what you could do is track the regarding record of the interesting wall post as a new task on your own list of CRM activities. All we need is the creation of a very simple workflow rule to achieve this. Create a new workflow process on the Post entity and mark it to be started whenever a new Post record is created.

    What the hashtag concept will be used for is evaluating the content of a Post and seeing if the workflow process should be run or not. In our example, let’s use the hashtag #task to identify a Post which we would like to trigger the creation of a new task record. You might also want to check that the Post source is Manual Post instead of Auto Post (more about that later).

    In your workflow rule definition, create a new task record and insert the contents of your post in the subject line. Set the regarding field to be the RegardingObjectId of the Post, owner as the person who created the Post, and a due date of 1 Day After Created On. Save your process, activate it and you’re all set.

    Just type #task and let the system take care of the rest

    In our example, we’ve spotted a Post regarding a new opportunity record. (Ok, so we’re doing this from the web client and not the mobile one, since believe it or not, screen capture on WP7 requires an unlocked device!) We want to mark an action item on the record for us, so we post a new item on the record wall, using the hashtag we defined: “#task Ask Chris for customer references”. Please note that simply commenting a Post will not trigger a workflow, since the PostComment entity is not available for workflows (bummer), so make sure to type a completely new Post on the item of interest.

    After the Post is submitted to CRM database, the workflow is triggered and a new task will have been created on you My Activities view in a matter of seconds. Should you ignore your CRM list once you return to the office (shame on you!), the due date reminder we set on the task will cause your Outlook (and probably also your mobile phone) to alert you about the action item you created for yourself.

    Drive any process with #hashtags

    As you might know, the free mobile client does not allow you to create or update any CRM records, you can only read them on your mobile phone (unless you want to open the somewhat less pretty Mobile Express client). The only exception is Activity Feed Posts, which you can type on your Windows Mobile device and get the data updated into CRM in real time. Together with the creative use of hashtags and workflow processes, we can actually trigger also some other data entry and updates while on the road, as you saw from the #task example.

    While you can’t create a workflow that would update the parent object of the Post, you can create new child items for it. In the example below, we’re creating a new case by using the #case hashtag.

    The steps of the workflow process configuration are as follows:

    • Check if the Post contains the text #case
    • Create a new case record, set the title to post text, set customer as the RegardingObjectId(Post)
    • Create a queue item for the new case and move it to the Support queue for CSR’s to start working on
    • Wait for the case status to change from active to something else
    • Create a new post on the customer wall, containing a summary of the information recorded on the case after its creation
    • To finish the process with confidence on both sides, also send a direct email to the person who initiated the case creation with his/her wall post
    All this process data neatly managed inside Dynamics CRM, just because you typed “#case Send an evaluation license of Product X to customer” on a record wall, with a mobile phone on your one hand and the latte on the other. You might as well have used a similar process to open a new opportunity and start your sales process automation tasks, with a predefined product specific hashtag like #opp_prodX_3m, if you really wanted to impress your colleagues that haven’t yet figured out why Activity Feeds and Auto Posts are a true productivity boost rather than just another new inbox to process.

    A final word of warning: since you probably don’t want a workflow generated Post to trigger any new workflows accidentally, it’s a good idea to always set the right Post Source value (Auto Post, Manual Post) and also filter these in your workflow conditions. As an example, if you post “#case Customer asks for refund” and then later on use it as the case title that gets inserted into a new Post, you’ll soon be stuck in a loop of each case resolution creating a new case…

  • Make CRM Activity Feeds easier to follow by creating custom groups

    The functionality of the new Activity Feeds feature introduced in CRM Online R7 / CRM 2011 Update Rollup 5 is built around the concept of following specific records. This allows a very granular level of control for the users to select the specific items from which they wish to see posts on their personal wall. However, this does also force us to carefully plan for the scenario of a new user who logs into the Activity Feeds view for the very first time. What they will have in front of their eyes is an empty wall with just a few links to the online help material.

    An empty wall greets the new CRM users

    In order to make Activity Feeds a shared, trusted source of information on customer related events, the organization using Dynamics CRM needs to provide its users a path that they can follow to become a member of this community. Although it is possible to build custom business logic through the SDK that automates the following of records, wouldn’t it be better if teams of users could themselves choose topics that they wish to follow, and also broadcast their posts to other users following the same topic? You know, like #hashtags on Twitter. Well, there’s no built-in support for hashtags in the current release of the Activity Feeds solution, but here’s a description of one possible workaround which I’ve come up with.

    In my previous post on the topic, I covered the general process of how to enable Activity Feeds for entities in Dynamics CRM. The natural choice for supporting a team collaboration scenario would be to use the default entity Team to display relevant posts for its’ users on the entity form. Unfortunately you can’t enable Activity Feeds for teams, since that’s not a supported entity. In fact, you cannot enable Activity Feeds for any organization-owned entities, even custom ones.

    Luckily there’s nothing stopping your from creating a user-owned custom entity and enabling it for Activity Feeds, so let’s go ahead and create a new entity called “Group”. No need for new fields, just publish the entity, then create a Post Configuration record with the same entity name (new_group or something like that). After this you’ll need to go and adjust the form so that the Record Wall is directly visible when you open the form, by moving it below the first General tab.

    New entity Group created for enabling mentions on Activity Feed posts

    Now you’re all set for starting to use the group entity in Activity Feed posts. No matter on which record’s wall (or your personal wall) you’re writing a post to, you can perform a mention by entering the @ character followed by the group’s name. In this case I’ve created a group called CRM, so I’ll add a mention of @CRM on an account record wall. You’ll see how that turns into a hyperlink to the group record.

    Post with a group mention on an account record wall

    How the user’s personal wall works is that it will display all Activity Feed posts that contain any reference to a record that the user has followed. It doesn’t have to be the record where the post has been written on. This is what enables us to make following updates concerning a certain topic easier for the end user, as long as the posts contain a mention/link to the group record. For manual posts the users will need to indicate that they wish to direct the post to the group’s followers by performing the @[groupname] mention as seen below.

    Performing a mention on a Personal Wall post

    So, does this mean that the mentions can only be utilized with manual user initiated posts? Absolutely not! There is a new attribute available in the workflow editor, called Post Url (Dynamics value). You can read this post on the MS Dynamics CRM Team Blog for details on how the feature can be leveraged in building workflow rules that create Activity Feed posts with mentions referencing other records. This allows us to reference multiple related records in a single post and make it appear on the personal wall of anyone who’s following one of the records.

    Let’s say we want to create an auto post whenever a case record is created and it has the value “CRM” in the subject field, to notify anyone who’s following the CRM group. Ok, so we can find a relationship to the related subject record but since that’s not supported for Activity Feeds (just like teams aren’t), we wouldn’t be able to use it for creating a mention. Also, since the group entity we created doesn’t have a relationship to the case entity, it’s not available in the workflow dynamic values menu.

    Should we go and create a relationship through entity customization? Well, that would be a bit cumbersome, since you’d then have to include a reference into the actual group record in every case record you wish to create a post a mention on. You’d pretty much have an additional subject lookup on the case form as a result, which is not a good solution in terms of usability (at least if you already use the default subject entity in your processes). (more…)

  • Activity Feeds are here, so “What’s New” in CRM then?

    Microsoft Dynamics CRM Q4 2011 Service UpdateIt’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.

    Download the Activity Feeds solution for Microsoft Dynamics CRM 2011 from the Dynamics Marketplace

    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.

    Activity Feed Post Configuration

    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.

    Account record wall

    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.

    Activity Feeds personal wall

    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. (more…)