Dynamics CRM 5 Wish-List

Not that I assume the Dynamics CRM product team hangs on my every blog post, but here’s my wish list of feature enhancements for Dynamics CRM 5.0:

Improvements to Views. You can use Advanced Find in Dynamics CRM 4.0 to find almost any data you need. You can filter on and include columns from entities related to each other using the great RDBMS features of CRM. But once you find the data you want, the actual data view itself isn’t very good. Here are two things they should do to improve views:

  • Ability to create groups and totals/sub-totals. Almost any database application has grouping and totals by group and overall, but not CRM! In SharePoint I can create a custom view on a list or library with all of the grouping and totaling I need; I think the SharePoint implementation makes a fine model for how to implement this. This grouping and totaling would solve another (related) problem with CRM 4 – namely how hard it is to get aggregate data about your entities. I shouldn’t have to export to Excel or create a marketing list just to find out how many Account or Contact records I have, but currently those are my best options unless I want to write some code.
  • Ability to dynamically filter a view. We should be able to create a view, expose it on an entity’s form using an IFRAME, and configure it to receive and filter on data from the current record. For an account, say, I could create a tab called Account Summary and have views (with groups and totals, of course!) of Opportunities, Orders and Invoices, all filtered for the current Account record. This might be a little harder, but it would be cool and would go a long way to countering the often-made and as I understand it correct contention that SalesForce.com has better dashboarding capabilities.

nternet Marketing. If you’ve tried out the Internet Marketing features of CRM Online, the most promising feature (in my opinion) is the sweet landing pages Microsoft gives you tools to create. There’s no code required, the pages look great, Microsoft hosts the pages, and a response goes right into your CRM. Currently, in the on-premise edition of CRM 4, the fact that you have to write a bunch of code to capture information from a web form into your CRM really restricts the number of people who can do it, and it’s a critically important component of most organization’s marketing efforts – or at least it should be! So I think a good way for Microsoft to do this would be to extend the CRM Online landing page functionality to include it with on-premise 5.0, and allow us to link the Landing Pages we create to either our own on-premise ones, or to hosted ones we can create on a Microsoft site. This would really open up Internet Marketing functionality to lots of people who currently can’t do it, and it would be strategic for Microsoft also, since it would gently nudge customers a little further down the SaaS path.

Here are a couple other improvements the Internet Marketing service in CRM Online could stand:

  • Currently data can only be brought into the “Internet Lead” entity… and it’s not really even an entity (e.g., it’s not customizable and not available for Advanced Find or reporting). It would be better if you could import web form data into ANY entity in CRM. Barring that, at least the Internet Lead entity should be a real entity, and you should not have to lose Internet Lead records when you import them as Lead records into Dynamics CRM.
  • Currently only Bing is a supported search engine for integrated keyword searches in marketing campaigns. This should be opened up to include other search engines.

Scheduled and “Batch” Workflows. I love the Dynamics CRM 4.0 workflow implementation. But two things I find myself wishing I could do is schedule a manual workflow, and run a manual workflow against more than 250 records at a time! I’m not exactly sure how this would work, but I can imagine a UI where an administrator could specify a schedule for when a workflow job would be run, and specify a saved view of records it would be run against.

 A KPI entity. The view improvements I discussed previously would be helpful for creating “dashboard”-like functionality, but if you want real dashboard you need key performance indicators. Again, the SharePoint team has a nice model for this. In MOSS 2007, a KPI list is a special kind of list that can get its data from a specific view defined against an underlying SharePoint list. A record in the KPI list contains the goal values, and the measure (the actual data) can be a total, average, or some other aggregate function from the view. Heuristically, some rows in this KPI list might contain data like this:

Source Entity Measure View Goal level 1 Goal level 2 Actual Indicator
Opportunity Actual Revenue Q1 $100,000 $125,000 $137,500   
Opportunity Actual Revenue Q2 $110,000 $135,000 $115,000   

 
 

This kind of BI wouldn’t necessarily compete with Cognos, but not everybody needs that level of detail, and it would be a lot better than nothing!

Better integration with SharePoint, in a specific way. If you’re using CRM to manage customers, and you’re using SharePoint to manage web content, there are lots of times when you’ll want to offer those customers authenticated access to some of that content. But right now you have to jump through hoops to do this cleanly, and the coding effort required to implement what’s known as a “custom authentication provider” (which could essentially allow a user to access SharePoint content while authenticating against a Contact record in CRM) requires a significant development effort. I think this is essentially plumbing code (valuable plumbing, but plumbing nevertheless!) and that Microsoft should at the very least offer it as an add-on or a free download. (Like the CRM 4.0 Data Migration Manager, it wouldn’t be valuable to organizations if they didn’t have CRM and SharePoint.)

Out of the box dashboarding and improved charting. This is partly related to the KPI entity above, but also partly different.

Built-in “Record URL” attribute type. We shouldn’t have to write code to include a record’s URL in the body of an email generated by a workflow.

Ability for Workflows to create and access more record types. Workflows can’t create opportunity product, quote product or invoice product records, for example. There are plenty of examples of this, where you’d really like to create a certain kind of record within a workflow but it isn’t exposed.

 


14 Comments »

  1. Aaron Said,

    September 13, 2009 @ 3:01 pm

    I would add the following “wishes” …

    Add functionality to advanced find for negative queries – eg like the view “Accounts with no orders in last 6 months” great but cannot be modified and cannot be adapted for other queries like Opportunities with no Activities or Accounts with no Contacts etc, etc.

    Also add functionality to advanced find for ability to use OR for related entity field clauses.

    :)

  2. Richard Knudson Said,

    September 13, 2009 @ 5:48 pm

    Agree 110% Aaron. Both of those would be nice additions!

  3. Andrew Wolfe Said,

    September 14, 2009 @ 12:21 am

    Ability to follow partylist relationships in a workflow. For instance trigger a workflow on an email and have it update all the Contact records in the To partylist.

    Ability to follow the many side of a relationship in a workflow. For instance trigger a workflow on an account and have it update all the Contact records that are parented by that account

  4. Anne Stanton Said,

    September 14, 2009 @ 4:45 am

    Great Idea! Great Post …

    mmm Let’s get the 6.0 list going now as they wrap up 5.0.

    - Anne

  5. AdamV Said,

    September 14, 2009 @ 4:46 am

    Workflow conditions for branching should allow grouping just like advanced find, *especially* to enable “OR” functionality.

    I’m so fed up with lots of “if…do something…otherwise if…[now do the same thing for a slightly different true condition].

    Workflow GUI could do with a massive overhaul:
    Why can’t I remove a condition and leave all the steps inside it (and move them out a level of indentation, in effect)?
    Why can’t I copy a step and insert it elsewhere in the workflow? (particularly because I have to repeat steps because of the lack of OR functionality in conditions!)
    Why can’t I re-order steps and / or stages? (subject to the usual validation regarding dependencies eg updating records you created earlier)

    Leaving workflow aside, a built-in counter for related records would be great, for example to show the number of activities / history items / open opportunities in brackets after the item in the left navigation for a contact or account record. These would have to take the same logic as the ‘include related records’ associated views to be of real value. Maybe this needs to wait for a sliverlight interface so the form can load while they are being calculated, and fill them in as results are worked out.
    I know there are clunky ways to do this with swathes of onLoad javascript, but they are not very efficient, especially to try and drill down through eg Account > Contact > Opportunity > closed activities.

    I totally agree with your suggestion of having summaries in views to show things like totals in numerical columns Knowing that I am looking at page 1 of 3 in my opportunities is all very well, but knowing this page shows $123,000 of possible revenue out of $9,876,000 in total might be more useful.
    This is doubly valuable in an associated view – how much is this client worth to our sales pipeline right now, at a glance?
    Non-numeric columns (especially lookups) could show a count of _unique_ entries, so we would now have a summary / total row at the bottom telling me I have 234 opportunities for 123 different customers, worth 9.8 M of which I am looking at a page showing 100 opps worth $123,000
    Extending this idea, it would be great to be able to hover over something like a potential customer name against an Opportunity in a view and see a popop of their subtotals (and number of occurences). (in version 6 maybe?)
    An alternative to that which adds different functionality would be the ability to create a kind of advanced find on the fly – right click on a field against a record and choose “filter” to only see records which match this one on that field. This filtered view would have the totals as above, and therefore give a subtotal.
    This could be used to very quickly narrow down by customer, or by sales person, sales stage etc. For Cases (incidents) to filter by subject, status and so on would be just as valuable.

  6. Nick Said,

    September 14, 2009 @ 5:39 am

    Support for HTML emails, or importing HTML code into an email template.

  7. Richard Knudson Said,

    September 14, 2009 @ 10:07 am

    Hi Adam — thanks for your detailed comments! I especially liked your suggestions on the workflow UI: having OR functionality would definitely allow cleaner less kludgy workflows, and being able to promote or demote conditions, copy and paste within a workflow & etc. would save a lot of time in authoring.

    Thanks again! — Richard

  8. Richard Knudson Said,

    September 14, 2009 @ 10:11 am

    Good catch — that should have been in my list. I’ve spent way too many frustrating hours trying to format emails in various html authoring tools (SP Designer, Word, Visual Studio…), then copying and pasting into a CRM email template, and then when I finally send the email out … they look lousy anyway, and have no consistency across different email clients. Definitely could use html support in email templates.

  9. Richard Knudson Said,

    September 14, 2009 @ 10:13 am

    Hi Andrew — thanks for the comments! The partylist suggestion is a good one. Also, the ability to go down to the “N” side in a workflow with a 1:N relationship. Along the same lines perhaps, it would be nice to be able to do that in an Advanced Find as well as a workflow.

    Richard

  10. Richard Knudson Said,

    September 14, 2009 @ 10:18 am

    Hi Anne — nice to hear from you! You make a good point: it’s a little late for substantive input on the CRM 5.0 feature set, since it’s probably locked down by now. But since CRM Online is on about a 6-month cycle for Service Updates (which do include significant new features), we get mini-previews all the time of the next big on-premise release. I think the next CRM Online Service Update is scheduled for early November, so at least we’ll be able to take stock and see which of this stuff’s already been included.

    Richard

  11. Nicola Said,

    September 15, 2009 @ 5:42 pm

    As well as all the other great suggestions above, it would be great if the system by default set the attributes of a field that was placed on a Form to be searchable = Yes, and if the field was not placed on a form, searchable = No. With the obvious exception of a few fields that would be default searchable = Yes whether they are on a Form or not, such as created on, created by.

    It is frustrating having to change the searchable to No for all fields that users do not want to see when doing an Advanced Find query. Most if not all users only search on fields they can see on a Form.
    Thanks, Nicola

  12. RM Said,

    September 22, 2009 @ 12:06 am

    In-line linked entity (child) records editing – similar to telerik grid.

  13. David Said,

    October 2, 2009 @ 6:16 pm

    Ability to merge custom entities
    Edit records via a grid view

  14. Useful Form Scripts #4 Said,

    June 15, 2010 @ 7:05 am

    [...] A combination of fixes for those two limitations would be excellent additions for the 5.0 release…but that topic’s covered in a different article. [...]

Leave a Comment