Blog

  • Synchronization vs. Tracking: Understanding Activity Management Options in Dynamics CRM

    Synchronization vs. Tracking: Understanding Activity Management Options in Dynamics CRM

    Long before a company has any CRM system in place they will already have a bunch of customer facing activities like emails and appointments in the personal mailboxes and calendars of their employees. Once a CRM system is implemented, these activities will not magically disappear but rather they will continue to be a key element in how the customer relationships is managed on a practical, day-to-day level. Typically companies would like to have these communications stored in the CRM database to accumulate a better understanding of both which customers are being contacted by which representatives of the company as well as the detailed information of what’s been said and agreed with the customer in these acts of communication.

    CRM_2013_Activities

    Maintaining two separate systems for entering the same information is never an attractive option for information workers who just wish to stay on top of their daily agenda and commitments, without having to worry about keeping multiple calendars in sync manually. Rather than entering an appointment in your own calendar first, then entering the same data into your CRM system for activity tracking purposes, every single user would rather have the ability to promote their selected calendar entries related to customers into their CRM system for meeting the activity reporting requirements expected by their managers. Similarly, instead of copy-pasting information from their inbox onto forms in a CRM system, anyone presented with the option to click one button in their inbox and get the full message tracked into CRM would surely prefer to take this route.

    This has been one of the founding principles behind the design of Microsoft’s CRM system since day one. With the market dominance of Microsoft’s activity management related software both on the client (Outlook) and server side (Exchange), making the flow of this data across different systems as seamless as possible can be seen as a low hanging fruit to grab when entering the CRM market with the Dynamics product. Looking back, offering users the possibility of remaining within their familiar and personal Outlook inbox and tracking information into the organization-wide CRM database has been a very compelling user experience at best. Yes, regardless of the countless hours I’ve had to spend solving Outlook related issues during my professional career in CRM, I’m still perfectly willing to admit that this type of UX is definitely worthy of pursuing in a CRM product, because it’s simply how it should work.

    How Dynamics CRM actually tracks your data

    What most organizations planning to deploy Dynamics CRM often find surprising is that up until CRM 2013 there hasn’t been much functionality on the server side related to managing the flow of activities between different systems. Even though Microsoft owns both Outlook and Exchange, they have decided to build deep hooks only onto the client side of Outlook and not the server side of Exchange. The positive side of this is that you don’t necessarily need an Exchange server for leveraging most of the activity management features of Dynamics CRM. The downside has been that you very much need the CRM Outlook client in place for things to work as you’d expect.

    When it comes to sending and receiving email, the CRM Outlook client can act as the component that takes care of all the inbound and outbound emails for CRM. However, for any organization that needs to have emails flowing directly into CRM (such as a customer support email address that feeds items into a CRM support queue) or relies on workflow based email notifications to go out even when the Outlook client of an individual user is not connected to a network, the deployment of the Dynamics CRM Email Router has been in practice a compulsory step to take. Again, this component is independent of Exchange server and can be used also with other email systems via SMTP or POP3 connections. The Email Router can replace some of the email management features of the CRM Outlook client (but not all, we’ll get to that later) and basically “email enable” your Dynamics CRM server, so that it can independently communicate with the outside world via email.

    One thing to note is that even customers who’ve chosen CRM Online as their deployment model instead of deploying an on-premises Dynamics CRM server have needed to separately deploy the CRM Email Router if they wish to send/receive email from/to CRM Online without routing all of the messages via the individual Outlook clients of their CRM users. Microsoft doesn’t offer an “Email Router in the cloud”, so you’ll either need to have a local machine available for deploying the router (doesn’t even need to be a Windows Server, also client OS like Vista or Windows 7 are supported) or get a virtual machine from some hosting service, such as Windows Azure. You can leverage the Exchange Online service in your Office 365 subscription for the actual email delivery, but the CRM Email Router cannot be purchased as a service directly from Office 365.

    CRM_2013_Server-side_SyncWith the latest CRM 2013 release Microsoft has started to address these challenges of dependency on either client machine components (Outlook client) or on-premises servers (Email Router) by introducing a feature called Server-Side Synchronization. This allows the Dynamics CRM server to communicate directly with the Exchange server, effectively replacing the email sending and delivery features of the CRM Email Router. In addition to that, server-side sync can also handle other Exchange items like appointments, tasks and contacts, which can also now flow between the CRM database and the users’ calendars and address books on various devices without any central dependency on a client-side component like the CRM Outlook client.

    Great! CRM 2013 server-side sync solves all our problems! End of blog post! Well, not quite. We’re actually just getting to the reason why I’m writing this post, which is the surprising complexity behind understanding the detailed feature sets of the various components that aim to deliver the seamless one-click UX that I was talking about earlier on. Based on what we’ve discussed so far, here’s how the big picture of synchronization methods for CRM 2013 looks like:

    CRM_2013_Synchronization_Methods_small

    As is often the case, the devil is in the details, so let’s proceed with pointing out the “gotchas” that you need to be aware when planning on managing activities in a Dynamics CRM environment. (more…)

  • What’s on the 2014 Roadmap for Microsoft Dynamics CRM?

    The annual festivities of the Microsoft Dynamics Convergence event in the US have now been completed for the year 2014. This means that the outline for upcoming releases in this calendar year have also been presented to the 12K attendees in Atlanta as well as anyone watching the sessions via Virtual Convergence. The following roadmap slide shown at the event tells us the big picture: it’s going to be a busy year for Dynamics CRM!

    Microsoft Dynamics CRM roadmap 2014

    OK, so if the first “swim lane” in the CRM Roadmap schedule is titled “CRM”, then what’s with all the other lanes then and how do these non-CRM items relate to the Dynamics CRM roadmap? Well, here’s the thing: this ain’t the CRM you used to know. It’s no longer that IIS application you used to install on your own little Windows server along with a SQL database and maybe a client component in Outlook. It’s now a suite of services that cover not just your internal processes and tools for your employees but also a wealth of external touch points where your customers will also encounter your CRM system, be it directly or indirectly. Oh, and naturally most of it lives in the cloud, because that’s also where your customers are.

    Of course customer relationship management has never been about just that single CRM database where you keep your own contact records, but now it has become very obvious that also Microsoft’s offering in the field of CRM has grown way beyond that. Following on the footsteps of Oracle and Salesforce.com, the acquisition and integration of a growing number of tools to complement the traditional core Dynamics CRM platform means the future CRM product will be much more modular, as opposed to the earlier “one app & license for everybody” approach. Let’s go through each of these lanes in the CRM roadmap and look at what was announced for them at Convergence 2014, starting from the most familiar one: “CRM”.

    CRM

    After last fall’s release of the new Dynamics CRM 2013 major version (code name Orion), you might have been lead to believe that there wouldn’t be so much happening with the core platform this year, at least in the on-premises world. The earlier communication from Microsoft indicated that the plan was to introduce a new release for CRM Online twice a year and roll out an on-prem version once a year. The code names for these releases were also shared: Leo in Q2 2014 and Vega in Q4, one year after CRM 2013 RTM.

    This is no longer true. But wait! It’s not an R8 style cancellation but rather a positive piece of news. The Q2 2014 release Leo will be for both CRM Online and on-premises customers, as will Vega. It doesn’t mean all the features will be identical across deployment models but it does promise to deliver new functionality also to customers who are running CRM on their own servers. What exactly will be the delivery mechanism (Update Rollups were supposed to be clear of any new features) or how the official naming convention for different versions will evolve is not yet clear, but currently Microsoft is referring to this as the Dynamics CRM Spring Wave. Partners will have a training blitz session for this wave on April 8th/9th, so expect to see more details made public after this.

    The functional changes in Leo will focus on the service module of CRM. New features showcased in the Convergence sessions included SLA management with a timer control available on the case form, merging cases and linking parent/child cases, entitlement management, email to case automation and improvements in the queue feature usability. Considering how much these new features alter the case entity functionality and configuration options, it would have surely been quite difficult to continue supporting two different feature levels if Leo would have in fact been Online only. For callcenter scenarios the new Unified Service Desk (USD) will offer functionality similar to what has previously been delivered via components like the Customer Care Accelerator (CCA) or User Interface Integration (UII). Expect to see also other feature enhancements or tools released as a part of Leo that will not be customer service specific, as well as new capabilities for CRM Online subscription management.

    The contents of the Vega release had not really been disclosed prior to Convergence 2014. As this release is still further away in the future the details are not yet as clear as for Leo, but a number of very interesting enhancements to the core Dynamics CRM product were shown on the CRM roadmap slides. Calculated fields will finally be available without writing custom code, via a graphical editor with intellisense support. Business Process Flows (BF) will be enhanced with support for branching processes. On the UI side we can expect to see built-in capability for visualizing account hierarchies. These three features all address very common scenarios that Dynamics CRM customers require in their system implementations, so it’s great to see them introduced as configurable features that a system customizer can leverage right out of the box.

    Social

    Remember when Microsoft bought NetBreeze one year ago? Their service has now been integrated into the Redmond product portfolio and carries the name Microsoft Social Listening. Last month it was announced that Microsoft Social Listening will be offered as part of the CRM Online Professional licenses at no additional charge, whereas on-premises customers can get it for an incremental cost. This “incremental cost” was later specified to be $20 per user per month for CRM Professional CAL holders. So, while it’s not free for everyone, the pricing is still in line with Microsoft’s previous announcements of wanting to “democratize social” and integrate it as just another channel into their CRM product. (more…)

  • Power User Tips for CRM 2013 Navigation

    Power User Tips for CRM 2013 Navigation

    Multitasking isn’t necessarily the most efficient working method for us humans with only a very limited capacity for concurrent threads in our CPU. The reality however is that the days of an information worker are filled with a never ending dance of switching between apps and windows. With large Full-HD monitors (and soon 40 inch 4K screens) it would simply be a waste of space not to have several applications, documents or web pages open simultaneously, to make it easier to combine information from different sources to get our jobs done.

    CRM 2013 has been redesigned for a single window UI paradigm that kills the need for most popup windows while working in the end user areas of the application. This works great when searching for information related to a particular account, opportunity etc. but there are situations when you need to work with the data in more detail, to compare the contents of multiple records, for example. At times like these you can find yourself wishing you had those multiple CRM windows you could switch between.

    Instead of having to manually open several different sessions of CRM in your browser, you can leverage the built-in navigation paths for popping records open in a new window. In a list view you can right-click on a record to reveal the menu that offers this feature:

    CRM2013_power_user_navigation_1

    If you’ve already clicked open the record you want to continue working with while navigating onto a different part of the application, you’ll find an icon in the top right corner of the form that will allow you to pop the current record open onto a new browser window:

    CRM2013_power_user_navigation_2

    Great, so there are ways to have the individual records open simultaneously. Now, as a person who mainly works with CRM system customization and configuration instead of the data, I often find myself wishing to have two different parts of the application open at any given time: the end user records and the solution management interface. This way I can more easily pinpoint the views, fields, form components etc. from the end user UI that I want to manipulate in the customization UI. Ever since CRM 2013 arrived it has therefore become a routine for me to open two copies of the CRM organization in separate browser tabs, usually by copy-pasting the URL from the first tab onto a brand new one and hitting enter.

    When working with CRM Online organizations I noticed that if you access CRM via the Office 365 Admin portal as a system administrator, you’re by default taken to the CRM Settings area instead of your home page as defined in the Default Pane and Default Tab of your personal settings. The reason is that the URL gets appended with a few additional parameters and ends up looking like this: https://orgname.crm4.dynamics.com/main.aspx?Origin=Portal&page=Settings&area=nav_administration. While I almost never want to go to that Administration page directly, it did give me an idea for a little productivity tweak that I can use for shaving off a few clicks from my average working day.

    As we can see from the URL, there are parameters for variables called “page” and “area”. The last one looks like a sitemap subarea ID (you can review these via several config tools, such as the Sitemap Editor found in XrmToolbox), so the first one must be the sitemap area ID then. Hmm, I wonder if I changed the link to point to the Solutions subarea ID instead, would that take me to the list of solutions that I so frequently need to access? Let’s try https://orgname.crm4.dynamics.com/main.aspx?Origin=Portal&page=Settings&area=nav_solution and see what happens:

    CRM2013_power_user_navigation_3

    Yup, that’s exactly where we land. Now, if only there was a way to make this a generic link that I could apply in any of the zillion CRM organizations that I need to work with… Hey, wait a minute! That’s precisely what I did just a while ago with the global Advanced Find button! All I need to do now is to apply the awesome script from Sonoma Partners’ Blake Scarlavai and create a Javascript bookmark that will take me to the Solutions menu instead of Advanced Find. As we’ve already cracked the URL code, we can now change the part between the last quotation marks to append the CRM URL with our destination of choice:

    javascript:window.open($('#crmContentPanel iframe:not([style*=\"visibility: hidden\"])')[0].contentWindow.Xrm.Page.context.getClientUrl() + "/main.aspx?Origin=Portal&page=Settings&area=nav_solution");

    While we’re at it, let’s also go and build another URL that takes us to the accounts view, which is a fairly safe bet to have as the “get out of the admin land” navigation link (although not every org may have it in the sitemap). Following the same logic as above, our Javascript bookmark contents will be:

    javascript:window.open($('#crmContentPanel iframe:not([style*=\"visibility: hidden\"])')[0].contentWindow.Xrm.Page.context.getClientUrl() + "/main.aspx?Origin=Portal&page=SFA&area=nav_accts");

    Once we paste the scripts into the URL fields of bookmarks on our browser and add them to the toolbar, there’s now a powerful set of quick access buttons to take us to the frequently visited areas of the CRM application in any CRM 2013 organization that we have currently open in the active browser tab.

    CRM2013_power_user_navigation_4

    If you’re not working within the customization area of CRM that much but would rather just have a faster way to switch between different areas and entity lists than what the touch optimized Navigation Bar of CRM 2013 enables, I suggest you take a look at a brand new solution from MVP Scott Durow (of Ribbon Workbench fame) called Start Menu for Microsoft Dynamics CRM 2013. Instead of organization agnostic Javascript bookmarks in a browser, the solution from Scott takes the CRM 2013 Command Bar to where no ribbon has gone before and introduces a true power user menu for accessing any part of the CRM application from (almost) anywhere, by rendering the sitemap contents as a dropdown menu available on all Command Bar enabled entities. Here it is in action:

    CRM2013_StartMenu

    Last but not least, if you have any thoughts on how the CRM 2013 navigation options should be developed further in upcoming releases, be sure to review these links to feature suggestions on Microsoft Connect and cast your vote for the ones that you feel would help your organization’s users to be more productive when working with Dynamics CRM. Thank you.

  • Information Overload: Cleaning Up CRM 2013 Forms

    Today I was working on upgrading the customizations of a CRM 2011 org to CRM 2013 forms and restructuring the layouts to fit the new UI. This environment had a custom entity called “Travel Information”, which was used for storing details related to event travel for employees. Here’s what the form looked like when opening a test record:

    CRM_2013_Form_Information_1

    Hmm, that’s three times the word “information” on the first few lines of the form. With further form sections for “Hotel information”, “Rental car information” etc. it seemed like there’s hardly any room for the actual information among all these labels claiming to be it. So, I decided to clean things up a bit.

    Form Tab Label

    When you create a new custom entity, you’ll get the first tab added on the form by default with the name “General” and quite often it remains the place where the commonly used and business required fields of the entity will get presented. It may be hard to come up with a very descriptive name for such a collection of fields, as was the case here with the “Information” label given to it.

    The form tabs can be used for expanding and collapsing the tabs to show/hide fields, but most of the times it will be unlikely that you’d want the first tab ever to be collapsed on the form. So why do we need the label there in the first place? Let’s navigate into the form customization UI and hide it.

    CRM_2013_Form_Information_2

    By clearing the checkbox for “show the label of this tab on the Form” we can clean up unnecessary text away from the form and help the users focus on the actual field contents instead.

    Form Name

    In situations where there are more than one form for an entity (and the user has access to them), it’s necessary to show the form selector control at the top of the form. But in our example, there is only a single main form for this entity, so why does the form name “Information” still show up there?

    CRM_2013_Form_Information_3

    With the default entities of CRM 2013 there has been a new naming convention introduced to distinguish between the legacy forms from CRM 2011 and the updated entity forms with the new layout and components. For example, the account entity will have a legacy form called “Information” and a new form called “Account”. If the user only has access to the latter one, then the name of the form will actually not be displayed there. Instead you’ll only see the name of the entity, thus avoiding unnecessary repetition like “Account: Account”.

    How could we achieve the same outcome with a custom entity? Simple: we’ll just have to do what the Dynamics CRM product team has done with their default entities and name the form exactly the same way as the entity. In this example, by updating the Form Name attribute found on the Form Properties dialog from “Information” to “Travel Information”, this same behavior should kick in when CRM loads up our custom entity form.

    CRM_2013_Form_Information_4

    Yup, no more form names displaued on the form. As we can see from the end result, we’ve now managed to remove redundant labels from the form quite nicely, leaving only the entity name visible above the primary name field of the entity.

    CRM_2013_Form_Information_5

  • How Would You Change the Dynamics CRM Navigation?

    How Would You Change the Dynamics CRM Navigation?

    CRM 2013 introduced the first big change in the navigation logic of Dynamics CRM since version 3.0 in 2005. We went from a hierarchical, popup window driven UI with many ERP-ish menus to a more modern experience of a single window app with touch optimized navigation bars and a reduced number of menu options visible to the user at any given time. Hopefully many of you have already had the chance to try out the new flow UI, in a CRM Online trial instance, for example.

    Dynamics_CRM_menu_sales

    When big changes are introduced to the user interface of an application, it always takes a while for the existing users familiar with the previous interface to get adjusted to the new ways to perform the same underlying actions in the application. There was a very interesting piece published a while ago where a UX designer having worked with the Windows 8 Modern UI (formerly known as Metro) shared his opinions on the impact to the users and one possible rationale behind Microsoft’s decisions on revamping the world’s most popular OS:

    “Familiarity will always trump good design. Even if something is vastly better, if it is unfamiliar it will be worse. That’s why people act like a unicorn was murdered every time Facebook releases a new redesign. The Windows 7 start menu IS better because it is familiar. We’ve used that design paradigm for the last 20 years. Metro is going to take some getting used to.”

    Just like Windows 8’s new UI probably wasn’t perfect in the initial release, there are some areas in the CRM 2013 navigation features that might work better with a little fine-tuning and enhancements to the functionality. For example, one feature that I’ve always promoted to the CRM Outlook client users is leveraging the favorite folders (Shortcuts in newer versions unless you’ve disabled the solutions module in Outlook). No amount of role tailoring can replace the convenience of allowing users to select exactly the 5 menus that they most frequently require during the day. Wouldn’t it be awesome if there would be a similar feature available in the more modern web client UI of Dynamics CRM 2013? Something a bit like this:

    Dynamics_CRM_menu_favorites_small

    “Cool! I want it, how can I get it?” Easy: all you need to do is sign in at Microsoft Connect with your Microsoft Account (what used to be Windows Live ID), navigate to the Dynamics CRM Suggestions site and vote for the feature suggestion on having a Personal Navigation Bar.

    Will this guarantee that the feature will be included in the next Dynamics CRM version? Of course not. Will it make any difference to vote on the items on Connect then? Yes, it will. While only a fraction of the feature suggestions posted on Connect can ever get the chance to become a release item in the actual product, the suggestions that gain more than a couple of upvotes will most certainly have a far higher likelihood of being raised up onto the list that the Dynamics CRM product team will use when evaluating the priority of possible future features.

    Microsoft_ConnectWhile you’re logged in, don’t forget to use the search feature on the site to look up other suggestions that touch areas of the product which you’ve thought to be in need of minor adjustments or features that are currently lacking from Dynamics CRM. Since we’re discussing the new navigation in CRM 2013, here’s a few items I’d recommend you to take a look at and vote for, if you consider them to add value into the Dynamics CRM product for a significant enough share of customers:

    Well, for the last one there’s actually a nice workaround you can apply already today. Still, since the vast majority of users will never now about these power users tips and an unfortunately large share of CRM organizations will likely not have the top Navigation Bar items nor Command Bar items customized due to the system admin’s lack of knowledge on great free tools available for Dynamics CRM customizers, the importance of the default settings and out-of-the-box functionality of a software product like Dynamics CRM cannot be overemphasized.

    If you’ve got any CRM 2013 navigation related ideas that you’d like to see implemented in the next release, then please do the following: 1) perform a search on MS Connect to see if anyone else has already logged in the suggestion, 2) if not, create a new suggestion describing the “what”,”why” and “to whom” behind your idea, then 3) leave a comment on this blog post with a link to the suggestion, so others interested in the topic of improving the CRM user experience can also easily find them and vote them up on the list.

  • Dynamics CRM OData Feeds and Power Query: What’s the [Record]?

    Dynamics CRM OData Feeds and Power Query: What’s the [Record]?

    Now that Power BI has hit the GA milestone (general availability), I decided to spin up a trial subscription for it and get familiar with the tools that it offers. My previous experiment with connecting to CRM Online OData feed with Excel 2013 Power Query seemed to be one of the very few blog posts that come up when you search for information on the topic. In that article I never bothered to go deeper into actually working with the CRM data as the big news really was that the latest version of Power Query was finally able to access data from CRM Online, thanks to the added support for Office 365 authentication on the OData feed.

    I repeated the steps for connecting my Excel 2013 Power Query to a CRM 2013 organization hosted on CRM Online and started to think about a simple report I could build. Opportunities tend to be a nice entity for demonstrating your typical reporting needs on summing money values based on sales process stage, owner etc. so I selected the OpportunitySet to be included in my workbook query. Scanning through the columns showed that I had every field I needed, but there was one problem: I couldn’t see the actual data in them. Instead of the Estimated Revenue figures or Owner names all I had was a link that read “Record”.

    Dynamics_CRM_Odata_Reporting_1_small

    “Hmm, well, a link’s a link so let’s click on it then. (Click) Okay, so now I’ve drilled down into an individual value. I no longer have a grid of opportunity records and columns, which kinda sucks. Oh, and also I can’t see any Undo button to take me back.”

    Life would be so much easier if you just read the manual before starting to use new tools, but ain’t nobody got time for that in the fast paced IT consulting world, right? After a bit of trial and error I figured out what the procedure for turning that [Record] link into actual data values is. Since it’s not immediately obvious, I decided to write it down onto this blog post, so that anyone else experimenting with using Power Query and Dynamics CRM Odata feeds can move on faster than I did.

    In all the columns that display the record link you can see a small icon with two parting arrows on the right side of the column header. This is where you can drill down to the column contents and choose which attributes for that field you would like to include in your query data. For example, when I click on the CustomerId column on the OpportunitySet query, the following menu opens up:

    Dynamics_CRM_Odata_Reporting_2_small

    Once you click OK, the values for the chosen columns to expand will be shown on the query editor grid. Repeat this for each column you plan to leverage on your report. As you expand more columns, you’ll notice that the Applied Steps dialog in the query settings pane will list each of them as a step. You can also see that these fields will be included on the formula bar, which will read something like Table.ExpandRecordColumn and then a list of our chosen attributes.

    Dynamics_CRM_Odata_Reporting_4_small

    After we’ve expanded all the necessary columns, we can then proceed with using this data in our report. While Power Query is the component in Excel 2013 that pulls the data into our Data Model, it doesn’t necessarily offer all the tools that we’d want to use for working with the data set. Move over to Power Pivot instead to define relationships between different tables, rename the columns, create calculated columns and do any other manipulation with the data before presenting it on a report layout. Then finalize your work on the Power View canvas and design the report that you wanted.

    Dynamics_CRM_Odata_Reporting_5_small

    There’s an excellent tutorial available on the U2U Blog that covers all of the steps in more detail: Dynamics CRM 2013 and Power BI for Office 365 – Part 1 and Part 2. Wish I had also found that earlier on, but better late than never…

    There should also be a Part 3 coming up that will talk about how to upload the report onto Office 365 Power BI for publishing it to the end users. I’m quite interested in seeing what will be the procedure here, because I’ve not seen much information about how to consume OData feeds in the Power BI portal. In fact, this tweet by Jamie Thomson implies that some OData features would have been dropped from the product:

    PowerBI_OData_suppor

    When I click around in the Power BI Admin Center, I don’t see any options for adding a new data source that would be an OData feed. If I’d like my report contents to get updated after I’ve uploaded it, I’d need to set up the Scheduled Data Refresh feature. However, the list of supported data sources doesn’t mention anything about Dynamics CRM. This leads me to believe that the current version of Power BI doesn’t yet support using CRM OData feeds as data sources in reports published on the Power BI portal.

    With an on-premises Dynamics CRM instance you could of course set up a direct SQL Server data source and publish it to Power BI via the Data Management Gateway component. However, the much more interesting cloud scenario of building Power View reports that leverage data from CRM Online directly seems to be beyond the current feature set offered by Power BI, unless I’m mistaken. Let’s hope that we get more information about the possibilities of Power BI for CRM Online customers when Microsoft presents their latest Dynamics product roadmaps at Convergence 2014 in a few weeks time.

  • eXtreme CRM Tool Challenge Winner: Tanguy!

    Unfortunately I wasn’t able to attend the eXtremeCRM event in Barcelona this year (“the Woodstock for CRM Rockstars”), but I’ve been keeping an eye on the buzz in Twitter around the #eXtremeCRM hashtag. Although it’s not exactly the same as enjoying live CRM geek talk over some tapas & cerveza, for anyone interested in hearing the latest news and tips around Dynamics CRM this is certainly a better pastime than any reality shows on TV.

    There’s a bit of a reality TV style competition every year at eXtremeCRM, called the the eXtreme App Challenge, where the participants have 24 hours to build an application leveraging the Dynamics CRM platform. The idea is of course to showcase the potential for extremely rapid app development where an idea can transform into a functional application overnight, thanks to all the “plumbing” that CRM platform already provides you. Well, I’d like to just point out that it’s not just the technical platform of Dynamics CRM that makes it such an excellent tool for delivering real life business solutions. There’s also an awesome community formed around Dynamics CRM that at the end of the day powers the platform in an equally important way as the SDK or the bits of code delivered by Microsoft. Here’s one excellent example of it:

    While spending the afternoon coffee break on Tweetdeck yesterday (like I far too often do), I came across one picture tweeted by Jonas Rapp from an eXtremeCRM session that demonstrated how to manipulate the CRM 2013 default dashboard setting via the Sitemap XML. The dashboard settings behavior is one of the less known areas of the latest Dynamics CRM version, although it has been covered in CRM Team Blog (which I was of course quick to point out, being the “certified Smar As*” that I am).

    The guru of CRM, Adam Vero, jumped in on the discussion and pinged the lord of the rings CRM tools, Tanguy Touzard, with a suggestion on making this setting a part of his Sitemap Editor, included in the ever growing XrmToolBox. Things kind of escalated from there and just a moment ago there was a new blog post published: Change the default dashboard in Dynamics CRM 2013 with XrmToolBox SiteMap Editor plugin.

    XrmToolbox default dashboard

    What just happened there? Let me summarize it for you:

    10.2.2014 12:47 – A tweet about a less known feature in CRM 2013 Sitemap XML presented at eXtremeCRM.

    11.2.2014 16:39 – The announcement of a free tool to configure the setting via a graphical, user friendly UI.

    That’s 27 hours and 52 minutes “from tweet to complete”. Folks, we have a winner and you all should know him by now:  Tanguy! Please show him the appreciation he deserves by dropping by his sponsor page on your way to collect the latest XrmToolBox download. Thank you.

    We’ve all heard (and some of us even blogged) about the rapid release cadence that Microsoft is nowadays pursuing via their cloud-first strategy of pushing out new releases of Dynamics CRM every 6 months (12 for on-premises). Still, all of this pales in comparison to the speed at which the community around the product, powered by social networks like Twitter and open source galleries like CodePlex, can deliver their own little “hotfixes” to the platform.

    While browsing through my stacks of CRM blog feeds and weeding through the #MSDYNCRM tweets, it’s sometimes too easy to forget that not everyone knows about the great tips and time saving tools that are available out there. It’s almost scary to think that in reality there are many people working with Dynamics CRM professionally who haven’t yet discovered the many ways in which the CRM platform could more easily be leveraged to deliver better solutions for customers in a shorter period of time – if only they knew how.

    There’s a very simple way how each and every one of us can make a difference here: if you come across a useful piece of information that helped you solve a problem you’ve faced while working with Dynamics CRM, please pass it on. You don’t have to develop a set of advanced configuration tools, or even build an app in 24 hours – just share what you’ve seen, heard or discovered. Then we can all be the winners.

  • Finding Advanced Find in CRM 2013

    The user interface of Dynamics CRM has been cleaned up quite a bit in the latest 2013 version. The number of buttons visible to the user has been greatly reduced in the browser client. Another significant change from a usability perspective is that Dynamics CRM now operates like any other web application or website: within a single browser window, allowing you to navigate back & forth with the browser’s native buttons. The combination of these two factors has however lead to one side affect that may cause the users familiar with previous Dynamics CRM versions to ask the question: “Dude, where’s my Advanced Find?”

    In CRM 2011 the Advanced Find was always available in the main window of CRM. Unless you resized the window to a small enough size and made the Data tab of the CRM 2011 Ribbon collapse into a single flyout button, it was pretty easy to spot the familiar binoculars icon that represented Advanced Find. Being one of the most powerful features of the Dynamics CRM application, this button will have surely become familiar to all power users of CRM over the years.

    CRM_2011_Advanced_Find

    In CRM 2013 the Advanced Find feature is not always so easy to locate. I have observed quite many experienced users to struggle with locating the menu after the system has been upgraded. Also, when I was recently studying the Google search terms that had lead people to visit my blog, “CRM 2013 Advanced Find” and its variations appeared three times in the Top 20 searches. Since the Advanced Find feature itself has not really changed at all in the 2013 version compared to previous releases, I presume many of the questions people have in their mind while reaching out to a search engine may be related simply to “how to find Advanced Find” (as “meta” as that may sound).

    If that’s the question you have, then let me first explain a bit about the logic behind the standard behavior of the new Dynamics CRM 2013 UI in different areas of the application. Then I’ll show you an alternative method that will make it much easier to launch Advanced Find from any place inside CRM.

    Standard Navigation Experience

    When you open up the Dynamics CRM 2013 browser client with the default settings of a fresh new CRM organization, you’ll be taken onto the dashboard page. Here the button for opening Advanced Find is displayed prominently as one of the actions on the Command Bar, just like it would have in CRM 2011.

    CRM_2013_Advanced_Find_1

    If we move forward to a list view of any entity, the Advanced Find button no longer appears directly on the page. Instead the user needs to click the ellipsis (three dots) to reveal the “more actions” menu, where one of the actions launches Advanced Find into a new popup window. Another alternative would be to expand the view selector menu and choose the last option of “Create Personal View”, which will also lead the user to the Advanced Find window.

    CRM_2013_Advanced_Find_2

    How about if we’ve navigated onto a record of an entity, such as a contact, and then realize we want to perform a search on other similar records? If we now repeat the same action of expanding the Command Bar menu via the ellipsis, there is no longer an option launch Advanced Find from here. Instead we’d need to go back in our steps to the Contact list view by clicking the label in the Navigation Bar. This would then land us on a window where the option is again available.

    CRM_2013_Advanced_Find_3

    In a way this behavior makes sense, since the Command Bar actions visible on the record detail page are all related to the single record in question. Advanced Find also isn’t considered a “global” action in CRM that would be always present in the Navigation Bar (like the gear icon for opening the personal options menu), but rather it only makes its appearance when looking at a view of records (with the dashboard page being an exception to this rule). As Advanced Find really is a tool for building views, it is shown within this context of existing views for any record type.

    Creating a Shortcut Button for Advanced Find

    If you need to frequently work with views in Dynamics CRM, to perform searches on records, study different data columns than the system views offer or perform data analysis of any kind, you might find yourself reaching out for Advanced Find quite often. Instead of having to first perform a check on what is the current page’s context and then determining the steps needed for launching Advanced Find, wouldn’t it be more convenient to just have a persistent button available that would always take you to that window?

    Although Dynamics CRM itself doesn’t offer a direct way to bookmark the Advanced Find page, you can still easily grab its URL. In Internet Explorer, once you’ve opened up Advanced Find, press Ctrl+N to open it in a new window that contains the full browser controls. Now you can add it as a bookmark and place it on the Favorites bar (right-click on the top of the IE window to enable the bar if it’s not visible). The URL will be in the form of http://[servername]/[organizationname]/main.aspx?pagetype=advancedfind in an on-premises Dynamics CRM environment.

    CRM_2013_Advanced_Find_4

    Wait, don’t leave just yet! There’s more to it! The URL will be a static link that points to your current CRM organization. If you ever need to work with more than one CRM environment (such as development, test, production instances), then that bookmark will not be of any help in the other organizations. Wouldn’t it be cool to have a context sensitive button that would always take you to the Advanced Find window of the CRM environment you’re currently accessing? (more…)

  • Making Better Use of Business Process Flow Data

    CRM 2013 Business Process Flows (BPF) have been designed to support a scenario where the same transactional records (opportunities, cases, custom entities like projects) can follow alternative process steps depending on the business logic required. For example, you can use the same opportunity entity to support the sales processes of two departments that are operating in very different markets and thus have different process stages as well as information content gathered within those stages.

    You can either limit the availability of BPF’s by CRM security role, so that a salesman in department A will always get the sales process A for the opportunity records he creates, or you can enable the users to see a number of different processes and let them choose the correct one via the Switch Process button on the Command Bar. In the latter scenario the Select Business Process Flow dialog window will present the available processes, like this:

    BPF_CRM2013_multiple_processes_1

    More processes will naturally mean more variety in the type of data your opportunity records will hold. Instead of a fixed number of stages in a specific order you’ll have opportunities that are following different sales processes with unique stages, which could easily lead to a situation where the CRM user may be comparing apples and oranges in the same entity view. How can we avoid such confusion in a multi-process environment? Hopefully this post will give you some ideas on the best strategy to manage your Business Process Flow data.

    Working with the Stage Category

    The officially recommended tool for making Business Process Flow stages visible in views and charts is the Stage Category option set. This is a field available on the Process Stage entity and you can select a value for it while editing the Business Process Flow process record.

    BPF_CRM2013_multiple_processes_2

    Basically what this field allows you to do is to standardize the stage values across different BPF processes. You can enter a different name for the actual stage in the BPF editor but still link it to a Stage Category value that is used in some of your other processes, too. Depending on your business, there may be different sales processes that would each contain a conceptual Propose stage but apply different terminology for it. That’s one problem that the Stage Category can solve.

    If you want to customize the list of values available for the Stage Category, just find the global option set under the Default Solution (Settings – Customizations – Customize the System) and update it like any other field. The new values will appear in he Business Process Flow editor after publishing the changes.

    BPF_CRM2013_multiple_processes_7

    When building a view to display the opportunities by stage, you’ll need to add a column from the related Process Stage entity to leverage this information. In the Add Columns dialog of Advanced Find, choose the aforementioned entity and select the Stage Category field from the list that appears.

    BPF_CRM2013_multiple_processes_3

    One limitation related to the view columns is that we can’t apply any sorting to the Process Stage field. That’s because it’s from a related entity and as a result it doesn’t appear as a possible field in the Configure Sort Order dialog. This means that our opportunity view can’t have the records nicely aligned per stage value, to simulate a pipeline, but instead we’ll need to rank them based on some field that’s directly available on the opportunity record itself.

    BPF_CRM2013_multiple_processes_6

    Grouping or Filtering by Business Process Flow

    So, we have the capability to merge stage values across different BPF’s into a single view. Pretty cool. Now, since different sales processes are often related to different types of product categories or business lines, what are the steps needed for creating an opportunity view that also displays the name of the BPF process chosen for the record? For example, if we want to group the revenue per process instead of process stage, which field do we need to add into the view?

    Sorry, there is no such field. Thank you, have a nice day.

    Excuse me, what?! Didn’t you just show how to harmonize the stage values across different processes? Surely there’s a way to un-harmonize things and break it down based on individual processes and stages?

    Well, stages yes, but processes, no. You see, there isn’t a direct relationship to the actual Business Process Flow process entity from the opportunity entity (or any other BPF enabled entity). While the system does store a GUID reference to the process and process stage records in the StageId and ProcessId fields, these are “unique identifier” type of fields that you can’t reference in Advanced Find query criteria. We could add them as a view column, but they’d just be gibberish like “3e8ebee6-a2bc-4451-9c5f-b146b085413a”.

    BPF_CRM2013_multiple_processes_4

    The Process Stage entity that we examined earlier is a parent entity of the opportunity and it can be accessed in Advanced Find, but it doesn’t contain any field that would specify the name of the process to which the stage belongs to. When selecting view columns in Advanced Find we can only go one level up, but luckily when building a filter criteria for the view we can query entities further away. This means we can reach the Process entity related to the Process Stage entity and find our Alternative Sales Process from there, as illustrated below. (Note that you’ll need to change the default lookup view to display the BPF processes, as otherwise you’ll only see workflow processes to choose from.)

    BPF_CRM2013_multiple_processes_5

    By adding this criteria we are able to build a view containing only opportunities from a specific Business Process Flow. To see the total pipeline revenue per each process we’d just need to switch between the views, or build a dashboard that contains one list/chart per process. Not quite as elegant as having a single chart grouping the revenue per process, but it’s still better than a mixed bucket of opportunities from all over the place.

    What if I told you there was a better way to do this than the out-of-the-box data model provides? Would you be interested in seeing its possibilities? Then you’re in luck, because that’s what I was going to write about next. (more…)

  • Expanding “Add Activity” Options on CRM 2013 Forms

    CRM 2013 has introduced many UI features that aim to reduce the number of different windows between which the user needs to navigate while performing everyday actions on records. Since customer relationship management systems are often focused on capturing the various interactions between the company and its customers, activity management is naturally a core feature that should be as smooth as possible in a CRM application.

    The refreshed entity forms in CRM 2013 contain the Social Pane (shown as “Notes Control” in the form customization UI due to legacy reasons) that shows three tabs of interaction data related to the record: Activity Feed posts (Yammer posts if available), activities and notes/attachments. In addition to a much richer rendering of the activity content than the previously available subgrids, there’s also an inline control available for adding tasks or phone calls directly on the main entity’s form. This provides quite a slick user experience that makes CRM appear very effortless to use for activity management.

    CRM2013_Activities_1

    What’s missing from the Social Pane then? Well, for starters, not all the activity types are available to be created via the Add buttons on the top of the control. We have phone calls & tasks available immediately, clicking the ellipses (…) button gives us email & appointment, and if we’ve added any custom entities into our solutions they’ll be presented here, too. However, if you’d want to add any of the other default activities for the record you’re working on, meaning a letter, fax, recurring appointment or a service activity, then you’re out of luck. The user would need to navigate away from the form by selecting the Activities menu from the Nav Bar, create a new activity record from there, find the Regarding record to reference on the activity, save it, then return back to the original record.

    Another limitation has to do with the inline editing experience of tasks and phone calls. When you create a phone call via the Social Pane, it will always be record as a completed activity. So, no chance for planning upcoming phone calls and setting up a reminder, unless you record it as a task instead. Another downside of the inline form is that it’s not customizable, which means we can’t display any custom category fields related to a phone call or task. When implementing a CRM system for tracking the activities of sales people and account managers, it is a very common requirement to have some compulsory fields added onto the activity entities that the user must fill to categorize and describe the activity before being able to complete it. Well, since the inline form will log a completed phone call right after clicking on OK, this isn’t exactly the optimal feature for those scenarios.

    Ribbon to the rescue

    While some parts of the new UI are not yet customizable in CRM 2013, we do still have a way to introduce additional features onto the entity forms via the Rib… sorry, Command Bar. Even though in its default setup the Command Bar looks like a stripped down version of the CRM 2011 Ribbon, it’s still built on the very same  Ribbon XML definitions and it supports most of the features from its previous incarnation. As we know, CRM in itself doesn’t provide tools for configuring the contents of the Ribbon, which is why someone just had to do something about it. That “someone” is CRM MVP Scott Durow and the “thing” is his awesome Ribbon Workbench solution that gives us everything imaginable for customizing the CRM 2011 Ribbons as well as the CRM 2013 Command Bar.

    Since many of the common features presented on the CRM 2011 Ribbon get hidden away once the CRM environment is upgraded to 2013, Scott has been covering several scenarios in his blog where this functionality is restored onto the Command Bar. Among these articles is a tutorial on how to restore the Add Activity buttons into a CRM 2013 environment. By following these steps documented by Scott we can enable the creation of letter activities while on an entity form, as well as provide a navigation path to opening the full form of a phone call activity to control the business required fields as well as activity status beyond the options that the Social Pane inline activity form gives us.

    To demonstrate the possibilities of modifying the default activity management features of CRM 2013, I decided to take Scott’s example and expand it a bit further. In his blog post Scott shows you how to make the activity buttons appear on the Command Bar, but due to the limitation of max 5 items being shown directly on the form and the rest being pushed away into the “more actions” menu, it’s not going to be very easy for the CRM user to discover their existence. What I did instead was add a new flyout menu, promote it to the top 5 items on the Command Bar and arrange all the “Add Activity” buttons inside it. The screenshot below shows how this has been configured while in the Ribbon Workbench UI:

    CRM2013_Activities_RibbonWorkbench

    How do we get the buttons to do what we want them to do, meaning creating new activity records like they used to in CRM 2011? Scott’s blog post contains all the details you need for making this happen, but since the inherent complexity of the Ribbon XML language can make it challenging to grasp how the various options relate to one another (I’ll be the first to admit I struggled quite a while with the task before being able to achieve the result I wanted), I’ll recap the main steps here for your convenience.

    First of all, we’re not creating a completely new command but rather customizing a native CRM platform command. While the activity buttons aren’t visible on the Command Bar by default, they do exist in the Ribbon definition and can be accessed in the Ribbon Workbench by switching from the Command Bar tab to the Ribbon tab (bottom left corner of the top menu) and navigating to the Form ribbon (since this is where we want the flyout menu to appear in our example). You’ll see the familiar Ribbon in the format that it would be shown, with the Activity buttons available under the Add tab. Yeah, not too many end users probably ever discovered that second tab of the ribbon on their own, which is why the simplified design of CRM 2013 is definitely a step in the right direction, even if it means us consultants need to do a bit more tweaking of the system to enable the relevant features.

    CRM2013_Activities_RibbonWorkbench_2

    Anyway, now that we’ve found the buttons, we can right-click on them and select “Customise Command”. Effectively what this does is it brings the commands like Mscrm.AddPhoneToPrimaryRecord available for us to reference in the custom buttons that we create. While we’re at it, we can also re-use the icons and labels from the native buttons in our custom flyout menu buttons. The one thing we need to change, however, are the Display Rule settings of the now customized commands, as the Mscrm.HideOnCommandBar rule would otherwise do just what it says and hide the buttons from our flyout menu when viewed on a refreshed UI form.

    As mentioned, please refer to the original blog post to guide you through the detailed configuration of the custom buttons. It will give you everything except the different layout, which is the flyout menu that you can see below. In practice this method allows us to create up to five traditional dropdown menus on the form’s Command Bar. We now have a button labelled “Add Activity” that will open up a list of different activity icons, which in turn will lead the user to the traditional full create form for the chosen activity type. It will pop open in a new window, allow the user to edit the details, then close the window and return back to the parent entity form. Just like in the “good ol’ times” of pre-2013 Dynamics CRM.

    CRM2013_Activities_2

    If you took a closer look at the flyout menu shown in the picture, you may have noticed one non-standard entry at the end of the list: Site Visit. What’s that? And why’s it under a menu section called “Quick Actions”? Thanks for asking, let me explain what it’s all about. (more…)