Related sites:

Newsletter: Perspectives on Power Platform

Company: Niiranen Advisory Oy

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.

12 Comments

  1. the problem with searching activity feeds is one of security. the activity post items are (at least in the the original release) owned by the ‘organisation’, they do not inherit the security of the entity they are reporting on.

    as such, a seach of activity feed posts would potentially return data that a user is not supposed to be able to see. for example: “sales rep A created a new opportunity of $200K for customer C” – this post could be seen by other sales reps operating in a region who otherwise would not have see neither the customer nor the opportunity records where the security was set to “own” records only.

    its not just search that potentially leaks this data… where all reps have access to see all account records, but only their own opportunity records, the account wall could aggregate this information and present it to those who were not supposed to see it

    if you partition your salespeoples access to data in your CRM, make sure you do some feasibility checks and test activity feeds before actually deploying…

    what i would dearly love to have in CRM is the ability to filter *access* to records based on a FetchXML query. That way, you could create a filter for an entity that was evaluated on a per-record basis, that went something like: “where entity.parent.owner = me or me in entity.parent.owningteam.teammembers or entity.parent.open_access_flag=true”

    this sort of security model would be awesome not just for activity feeds, but in so many other scenarios. the business model security top-down approach is a bit limiting.

    • Thanks for your comment. The security model for traditional user owned or organization owned CRM entities does indeed cause challenges when applied into a world of social information sharing that is much less structured, as is the case with Activity Feeds. If the posts would be considered as purely a change log of what is going on regarding an existing single record inside CRM, it would be fairly simple to just inherit the security from the parent record. If, on the other hand, the Activity Feeds are seen as a Twitter/Yammer/Chatter type of a social network for employees to post content that is not only about CRM data, or you mention more than one record in a single post in an effort to communicate ad-hoc connections between records, things will get hairy.

      While I understand the security concerns that are involved in introducing the social layer on top of a structured data repository like CRM, I still think that this shouldn’t be an excuse for not offering the possibility of searching post content. For smaller organizations or for less sensitive use cases, the option of enabling search should exist. Similarly to configuring the post rules and defining what information gets included into auto posts, this would then be a decision that the organization implementing the solution could make: use it for enabling information discovery or disable it to protect data leaks across business units.

  2. I wanted to to configure Microsoft Dynamics CRM to automatically make a user follow and unfollow a record that matches certain conditions.
    Referring the following link:

    http://www.zero2ten.com/blog/automatically-following-records-matching-a-condition-in-microsoft-dynamics-crm-2011/

    I can configure a workflow that will fire up for opportunities created with an Estimated Revenue equal to or higher than $50,000 and it will make the owner’s manager ‘follow’ the opportunity automatically.

    But I also needs to implement,if oppotunity is updated to Estimated Revenue equal to or higher than $100,000,unfollow the opportunity automatically.

    I’m afraid how can I achieve this?

  3. Jukka,
    it appears that with the TimeLine control in the newer Unified Interface (which replaces Whats New in older web UI) we are back to having to manually “Follow” records with all the issues that presents in having to keep them the Posts relevant.

    Have you come across this issue with the newer UI? Or more importantly mayne figured out to get the Filtering ability back?

    • I haven’t been encouraging customers to leverage Activity Feeds for any important process for many years now, due to how Microsoft at one point appeared to have pretty much abandoned the feature. Naturally their focus turned to Yammer after the acquisition, even though we all saw that this wasn’t really going to give sufficient control over how the feed works (just a tiny “ticker” for auto-posts on Yammer), nor a UI path you could realistically expect the users to follow (starting discussions via the CRM form only).

      After this, it was somewhat surprising to see that the Activity Feed Posts were ported over to the new UI, first in the Interactive Service Hub and later Unified Interface. Over time the role of Yammer had of course shifted away from operational use cases like the ones covered by the CRM integration and more towards the community aspect, so this was no longer a fit for business apps like Dynamics. For a short while we had the Office 365 Groups phase where the technical concept of collaborating over a topic like a customer or sales opportunity seemed to exist, but of course there again wasn’t any sensible UX available for actually using Groups for disucssions in the way that people would have expected from modern social tools. It took a painfully long time for this technical foundation to gain a proper UI and that of course is Microsoft Teams as we know it today. The integration with Dynamics 365 that has been launched in Preview now looks quite promising and would seem to solve many real world challenges for bringing collaboration tools together with a CRM system (such as the built-in security model for documents, something the CRM-SharePoint integration never was able to offer in the past 8 years).

      The momentum behind Teams is so great right now that this would be the paradigm I’d recommend customers to follow when planning how to allow the users to see what’s going on regarding objects that are managed on the CRM side. We probably can’t yet easily build a Microsoft Flow that would post updates to the correct Team/channel when something happens on the Dynamics 365 Customer Engagement side (I haven’t checked where the Team association is stored), but it’s most likely how Microsoft envisions these tools to be used in the future. Which also reflects onto the Activity Feeds feature, in the sense that it’s unlikely to get too much investment right now. It’s a pity, since this really could have been a much more useful and more widely adopted feature of Dynamics 365 CE with just a bit more built-in features to support it.

  4. Jukka,

    Thanks for the reply and considered thoughts. The CRM install I am working on has almost no visibility of Activities currently so the Timeline feature in the Unified Interface will be a step forward even with its limitations. I was thinking that I might then move onto considering Yammer in a few months but it looks like I need to also consider Teams which is something I currently have little awareness of so need to get up to speed.

    Thanks again.

  5. Is there any way to get this back? We made the switch to UI and this feature is what we miss the most? Has anybody built a custom PCF that does the same thing?

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.