Sonoma Partners Microsoft CRM and Salesforce.com Blog

How Professional Services Firms Can Crawl, Walk, Run with CRM - Part One

Today's post is written by Bryson Engelen, a Sales Engineer at Sonoma Partners.

Professional Services firms know how critical it is to their business to implement or improve a CRM system.

But oftentimes the way they approach an implementation can doom them to failure. One of the major problems they encounter is trying to please everybody all at once. Their“boil the ocean” approach overwhelms users and delivers too much too soon.  Instead, it’s better to think of a CRM as a living, breathing thing, and to build upon it over time based on how people ACTUALLY work, not how they THINK they work. 

This can only be done by approaching a CRM implementation with a well-thought-out crawl, walk, run approach that keeps the users at the center of an ongoing conversation. 

In this series, we will take a look at the common CRM use cases for professional services firms as they try to master the basics (crawl), start using CRM on a more strategic level (walk), and then leverage CRM as a platform to solve business problems that would otherwise require custom solutions (run).  Think of these suggestions in each phase as an a la carte menu. In some instances, the phase designations may not perfectly suit your firm, so you may implement what is described as a “walk” item in your crawl and vice versa.   Let’s look at some of the crawl items for professional services firms in this post, and explore the “walk” and “run” CRM workloads in subsequent posts.

When discussing a “crawl” item on your CRM list, these should be basic things related to pretty standard CRM functionality that are relatively easy to implement, but offer very high value.  Typically, these are tactical, day-to-day quick wins that will make your users everyday jobs easier. By getting these simpler things right, you can build goodwill around CRM and inspire confidence in your firm that it is the right technology to be building your practice around. 

Here are some examples of how your firm can be smart about relatively simple things.

Account/Client Management:

Modeling Clients in CRM can be challenging since most CRM systems have Account record types that represent companies and Contact record types that represent people. These definitions don’t always fit how your firm thinks about clients.  Additionally, an individual client who is a person, may also have a relationship to a company that is a client record for your firm, like being on the Board of a company. CRM doesn’t traditionally do well at modeling that out-of-the-box.  This can be solved in a variety of ways, like having different Account Types and/ or making the concept of “Client” separate from the concept of “Account.”

Account/Client Segmentation:

Firms often segment their Clients by a dizzying array of categories that overlap and often contain redundancies. Client, former client, target, referral source, and practice all relate to the company’s relationship to the firm; industry designations, public/private, and geographic designations are parameters of the company itself (regardless of whether it is a client, for example.)  The model must work for Sales, Marketing, Delivery, and other Business functions and be simple enough for all of those stakeholders to understand and use.

Contact Rules of Engagement:

Many firms actively refute the concept of “ownership” at a company or person level (clients “belong” to the firm, not to a partner) but will designate a “Relationship Partner” who is responsible for the client.  However, individual practitioners will still refer to the company as “my client.” For this reason, it is often helpful to have a business process which defines the rules of interacting with the firm’s Contacts and Accounts. For example, the Partner in Charge (PIC) of a Client may want to be consulted prior to somebody reaching out to said Client regarding new services, marketing efforts, etc. We typically don’t automate this in CRM, but it should be discussed when working with professional services clients to ensure the data in CRM can at a minimum facilitate the process.  In order to really get your firm to fully realize its potential to cross-sell and upsell and provide ideal levels of service to your client, you really must tackle the rules of engagement with your clients.

Knowing Who Knows Whom:

Professional Services firms are highly relationship driven and generate a vast majority of their business from their relationships. Many CRM systems have rudimentary tools for tracking relationships, but they typically only go one level deep (Partner A knows Client X) and don’t show the web of relationships, nor strength of those relationships (Partner A relationship with Client X is strong AND Client X’s relationship with Prospect 1 is strong, etc.).  Sonoma Partners has developed a custom visualization tool called Relationship Mapper to help consume relationship data easier. Relationship Mapper allows you view connections between people, companies, and staff on a relationship web, displaying the nature and strength of each relationship a hover-over, and allows you to pivot on different individuals on the relationship map.  This makes it easy to quickly and clearly see the relationships tied to a Client, plot how to leverage a social network by jumping from contact to contact, and see which customers will provide the maximum value for your networking time and efforts.

Another aspect of relationship tracking is tracking individuals as they move from one organization to another.  This is related heavily to the marketing segmentation point we talked about on the Account/Client Management slide.  Professional Services firms often want to track a contact throughout their employment, starts/stops, former employment relationships, etc. and track alumni, which can be is challenging as former User records become Contact records.  Finally, a professional services firm might have existing tools that track relationships, oftentimes by monitoring email traffic and other Outlook data between your firm and the Client.  Getting relationship tracking right early on in your CRM implementation generates a lot of good will with the system, and there are many nuances and tricks to ensure it is successful.

Sales Processes:

First, let’s recognize a few stigmas and caveats.  Few professional services firms have a dedicated sales team and a lot of “sales management” is performed by “doers” in professional services, who see tracking Opportunities in CRM as too much overhead.  Also, many partners hate the word sales and focus on relationships.  Time and time again, professional services firms will say “we don’t sell, we build relationships” which is true and not true.  While your firm’s culture may hate the word “sales,” it’s wise to think of and build processes around how you acquire business and clients in “sales” terms from an organizational perspective, even if you market those efforts internally as something else. 

Seller/doers often chafe at what they see as restrictive processes around entering sales information and feel tracking Opportunities takes time and is irrelevant.  To solve for this, we need to provide the users with a quick way to enter and manage this information, like the ability to track updates from Outlook or mobile (easily, with minimal typing) and by making sure there is a simple, documented process in place for the many types of sales your firm does.  Few firms have a defined sales process that they follow when working on bringing in new business. Getting staff to follow those best practices can be challenging (assuming they actually know those processes exist).  However, this is critical, and CRM should never be the driver for the sales process.  Rather, it is important to have a business conversation internally to establish what your “process(es)” looks like (or should look like) that is completely separate from the CRM system of choice.  After that business process is identified, CRM should be configured in such a way that supports your process(es).  Process is pluralized because there needs to be a strong distinction laid out between New Business Opportunities (net new clients), Expansion Opportunities (cross-sell), and Retention Opportunities (with any luck, upsell).  For firms to minimize cost of sale and maximize efficiency and ROI, they must be able to accurately measure and adjust business processes.  Pipeline tracking can also be useful for planning staffing needs for projects.  Partners might not care about the word “sales,” but they probably do care about knowing how many consultants/accountants/whatever they’re going to need in the next X months.

Mobility:

Perhaps the biggest key to success for professional services firms is getting mobile right, but very few of them do because they don’t have a mobile strategy.  Many firms just check to make sure their CRM system has a mobile app, but never really evaluate if that app aligns with their users’ needs and never put in the work to customize the app to fit user scenarios.  For mobile to be successful, mobile user groups and use cases need to be identified early on.  This can be done really well with ride alongs with users, seeing what they do when they are out of the office in the course of a normal business day.  Learning why a partner keeps a stack of Post-Its in their briefcase and incorporating that into a mobile app can really be the key to driving user adoption.  In addition to knowing your firm’s use cases, you must also know your device landscape, develop a strategy around device/software updates, consider your security needs, and develop a plan to revisit your mobile strategy on a regular basis.  Mobile consumption of CRM may evolve far more quickly than the rest of the CRM implementation, and you may need to iterate on mobile CRM every few months as the needs of your users change or are more clearly identified.  Your firm may also find that the native CRM app is overwhelming or limiting, and may want to consider a custom, use-case specific mobile app.

Those are just some of the most common things many professional services firms may need additional guidance on in the first phase of their CRM implementation. There are plenty of others, and there will be even more examples in the next part of our series around a phased approach to CRM when we talk about getting more strategic in the “walk” phase. 

Hopefully, this post is helping you recognize how nuanced a CRM implementation can be, which is why a phased approach works best. 

Simply standing up a basic system and walking away is a recipe for wasted time, money, and energy, and won’t build good will with your users.  If you want to hear more about how to implement CRM for professional services firms using a phased approach, feel free to Contact Us.

Topics: CRM for Professional Services

A Step by Step Guide to Create Your First Survey with Dynamics CRM 2016 Voice of the Customer

Dynamics CRM 2016 was recently released and with it a whole slew of new features and functionality.  A bunch of features were planned for the initial 2016 release, but for one reason or another were delayed.  This website is a very simple way of understanding what’s been released for primetime, versus what’s in preview, what’s in development, and what’s been indefinitely postponed.

One such feature that wasn’t immediately available at the release of 2016 was Voice of the Customer.  This is the ability to create, send, and monitor surveys from Dynamics CRM.  This feature is currently only available for CRM Online, and below I’ll go into more detail on how to get it enabled, and how to create your first survey.

Note that this feature is delivered through an integration with Azure Web Services. This means data will be flowing and queued through Azure in order to take any workload of delivering and capturing customer survey data off of your CRM system for the best possible performance.  This also means that there could be a delay between survey response from making it into CRM.

Below we’re going to go into an overview of enabling Voice of the Customer, and setting up and sending your first survey.  This post won’t go into everything that’s available with Voice of the Customer as there’s a lot to it, but will cover the basics. 

Enabling

To enable Voice of the Customer, simply log into the CRM Online Administration Center, and select the org you want to install VOTC to, and click on Solutions.  Then you’ll be taken to the page with the preferred solutions that you can install, and simply click on the “Install” icon to start the installation. 

image

image

Once the installation is complete in CRM navigate to Solutions and open up the Voice of the Customer solution.  Then check off “I agree to the terms and conditions” and click on “Enable Voice of the Customer”.  You’re now set to start configuring your first survey!

image

 

Survey Creation

The Voice of the Customer functionality allows you to add theming to your surveys.  To do so you just navigate to the Images and Themes area of the VOTC module. 

image

And from there you can go ahead and create an Image record and upload a logo that you want to use in your survey will be accomplished in later steps.  After you upload the logo and save the record you’ll be able to see a preview of the image.

image

You can also go to the Themes area and create a new Theme to use for your logo.  You have the ability to change the colors of most of the survey elements such as the header, navigation bar, and progress background.  I strongly recommend you make use of a UX engineer to help you pick your colors wisely so that they don’t clash too much.  If you wanted to get more advanced, you can even upload your own CSS to apply even more custom styles to your survey.

image

Now that you have your image and theme setup, you’re ready to create your survey.  Navigate to Voice of the Customer –> Surveys, and click New to create your new survey.  You’ll see on the survey form that there are a lot of options to configure your survey.  We’re not going to cover them all in this post but you’ll notice that the we’re able to apply the Image and Theme we created previously.

image

In order to actually start building out the survey questions, you need to change from the Survey to the Designer form.  You’ll notice that here there’s also the Dashboard form where you can see statistics about survey responses.  For now we’ll click on Designer and start creating some questions.

image

On the Designer form, you have the ability to add or delete pages in your survey via the buttons that appear underneath the vertical page layout on the left.  You can’t delete the Welcome or Complete page – those are required for all surveys.

image

When in the design mode, you’ll be able to drag question types from the right over onto the main pane in the middle.  When you hover over a question on the page, you’ll be able to delete the question, make quick edits inline on the page to the question label, or click the pencil icon to take you to a more advanced editor so you can change more settings for the question other than the label.

image

image

In the text box of the question (and of any label control on the survey), you can click on the (Pipe) dropdown to insert piped data into your survey.  We’ll see how this works with workflows later when we create a workflow to automatically send out the survey upon case resolution.  In this example, we’ll insert the case number into the survey question, and we’ll use the Other1 pipe to store this data (again, that’s setup when you create the workflow and we’ll discuss that in a later step).

image

image

Here’s what our welcome page looked like with all the pipes in it.  We want to make a very personalized experience for the customer as they take the survey.  I also threw the other pipes in there so you can see how we’re able to get as much data out of CRM as possible to personalize our survey for our customer.

image

Something else you can do to add logic to your survey is to create Response Routings.  An example of when you’d use a response routing is if you want a customer to fill out an additional question, if they answered a certain way on a previous question.  For example, you may ask the customer how they’d rate the experience with your company, and if they provide a low rating, you may want to display an additional question to gather more information on why they felt that way.  To get to response routings, click on the related records dropdown of your survey.

image

When you setup your response routing rules, you need to create Conditions and Actions for each Response Routing.  See below how we’re only showing the “Can you please provide us with additional information” question if the user responded 1 to the star rating question.  Otherwise we don’t show it.

image

After completing the above, your survey is ready to be published.  If you toggle back to the Survey form, you can click on the Preview button to see what the survey would look like to your end users.  When you’re all set, you can click on Publish so that the survey is now accessible externally.

Survey Automation and Results

Now that you have your survey setup, you can use it along with native CRM workflow to have surveys automatically sent out to your customers based on actions to CRM data.  For example, lets create a workflow that sends our survey automatically to the customer of a Case when the case is marked Resolved, asking them how their experience working with your support team was, so you can make improvements if needed, or provide recognition where deserved.

First off, create a new Workflow and make sure to have it run on update of the Case Status field.  Check to make sure the status has been updated to Resolved, and then add in a step to create a new email.  Your workflow should look similar to that below.

image

Now when editing the email step of the workflow, you’ll want to copy the value in the “Email Snippet” field of the Survey, and paste this into the body of the email step in your workflow.  Your email step may look something similar to the following.

image 

image

Notice in this email above that I’m making the use of the piped tokens (that I had placed in my survey earlier) with dynamic data from the Case record the workflow is running on.  It doesn’t matter what field from the record I’m on that I use within each pipe.  You’ll see that in the actual survey the user is taken to that the pipes are resolved to the actual data on the Case that was recently resolved. 

Make sure to Activate the workflow, and then you can go and test it out.  Once a Case is resolved in CRM, the email that’s send to the customer looks similar to the following.

image

And if the user clicks on the hyperlink to launch their survey, they’ll be taken to the actual survey.  As stated above, the pipes used in the survey are resolved to the actual data from the case.  You can also see that if I answer greater than 1 on the 5 star rating of my overall experience, that I won’t see the question asking me why I rated the overall experience a 1 based on the routing rules we setup earlier.

image

image

Also note that the survey has a responsive design so that if you’re accessing it from a mobile device such as a phone, the survey resizes to fit the screen appropriately.

image   image

Upon completion of the survey, and after the data from Azure syncs back to Dynamics CRM, you’ll be able to change to the Dashboard form on your survey record to see the results trickling back in from your survey. 

image

You can also navigate to Survey Responses off of the Survey to see the individual responses.  If you open up a response you’ll be able to see the individual questions and answers that were asked and part of that specific response.

Note:  The responses (including the question and answer) are stored in a first class Question Responses entity.  This means that if you wanted to take this one step further, you could create a workflow on the Question Responses entity, and if a Question Response record is created where a response is poor (e.g., where the customer rated the overall experience a 1 star), an email can be sent to the appropriate team to follow up on why that customer answered that question the way they did.

image

image

 

Gotchas

As I was working through and testing out my first survey, I ran into a few gotchas that I figured would be great to note down as I suspect others may run into these similar issues.

First off, when using Response Routings, if you want to only show a question when another question has a certain value (for example in my case where I wanted to show a text box if someone rated the service a 1), you probably don’t want the text box to appear when the customer hasn’t answered the rating question.  In other words, you don’t want the text box to appear when they initially load the page of questions.  You ONLY want it to appear when they rate your service a 1.  In order for this to happen, you have to make sure that on that specific question that you set the Visibility field to “Do not display” which is the default visibility of the question.

Next, I ran into an issue with the pipes in my survey not actually being populated with dynamic data from CRM.  It had turned out that when I was testing this out with my workflow, I had copied the Email Snippet of the survey to my workflow email body more than once.  This causes the Email Snippet and Piped data to break and after I removed the duplicate Email Snippet from my workflow email, the pipes began to work as expected.

Also note that if you want the updates you made to your survey to be live, you’ll need to publish your survey after making changes.  Simply saving it using the native CRM buttons will not publish it to Azure, but instead just save the updates in CRM.

Finally, if your survey responses aren’t being returned to CRM, navigate to the Voice of the Customer solution and make sure to click on the link to Trigger Response Processing.  Note that this could take up to 15 minutes to complete and for responses to appear in CRM.

image

For more information on Voice of the Customer, head over to Microsoft’s website.

Topics: Microsoft Dynamics CRM Microsoft Dynamics CRM 2016 Microsoft Dynamics CRM Online

How to Plan Test Data for Testing Mobile Applications

Today's post is written by Jen Ford, Principal QA at Sonoma Partners.

When brainstorming test data for testing out a mobile app, I go with what I learned in the first grade: The 5 W's - Who, What, Where, When, and Why.  In this blog post, I will address the “Who” and the “What".

The “Who” - Security

Security is extremely important to consider in a mobile app.  If you are connecting to a back-end system, you want to make sure that the security that exists on the back-end is mirrored in the mobile application.  This means that users shouldn’t see anything in the app that they can’t see in their own environment.  This is a great place to start looking for defects.  Not properly handling security within the app can lead to crashes and data loss when syncing to the back-end system.  For example, let’s consider a requirement for expense submission and approval.

Requirement: Users will create expenses and submit them for approval.  The manager will receive an e-mail summary of the expenses, and will approve the expenses.

  • All users should be able to create, submit, and view their own expenses.
  • A sales person cannot view anyone else’s expenses.
  • A manager can view their own expenses, and all the expenses of their direct reports.
  • No users should be able to approve their own expenses.
  • A manager can view, edit, and approve the expenses of all their direct reports.

Using these requirements, we can determine what permissions each role should have.  This is as simple as jotting this down in an excel spreadsheet or table, just like the below:

Expense Security Scenarios

ID #

Overview

Salesperson

Sales Manager

ES-01

Create new expenses

Yes

Yes

ES-02

Create new expenses on behalf of others

No

No

ES-03

View their own submitted expenses

Yes

Yes

ES-04

View others’ submitted expenses

No

Yes

ES-05

Update own expenses before submitting

Yes

Yes

ES-06

Update others’ expenses before submitting

No

Yes

ES-07

Update own expenses after submitting

No

No

ES-08

Update others’ expenses after submitting

No

Yes

ES-09

Approve their own expenses

No

No

ES-10

Approve others’ expenses

No

Yes

Now we know that there are 10 scenarios to test for each User Role. The next step for each Expense Security Scenario is to identify what test data needs to be set up to accomplish each test above.

The “What” - Test Data

Careful thought processing before starting testing is the key to smooth test execution. 

By putting forth the effort to plan out your test data, you will consider all scenarios up front.  This will lead to ease in execution, or the ability to bring in other people to test if the timelines are tight.  Planning your test data and setting it up, if it needs to reside in a system that is integrating with the application, can be done while development is going on.  The important thing here is to figure out what is happening on each page of the app. 

Consider our expense submission and approval example above.  First, let’s think about what expenses we will want to set up in our environment to successfully test the submission page (see the sample below).  In the analysis, you will see that there are scenarios that will validate the “happy path”, and scenarios that are expected to fail.  I recommend jotting down every scenario you can think of, even if it ends up being 100 different scenarios.  Then, when you are done, take a look back at it and determine what you do not need to do.

Maybe you have redundant scenarios or maybe you have scenarios that can be combined. In the chart below, take a look at scenario #2.  I could have positioned this as two different scenarios: one to make sure that an expense with an earlier date should be able to be entered, and one where an expense that is not a whole dollar amount should show the cents when submitted.  I combined them because I expect both to succeed.  If you identify your test data and flow for each page of your custom app up front, you will be able to quickly hit the ground running when it is time to test.

Expense Creation Scenarios for ES-01

ID #

Scenario

Date

Amount

Expected Result

ES-01-01

Add an expense with today’s date, and any $ amount.

[today]

$100.50

Expense added successfully.

ES-01-02

Add an expense with an earlier date, and any $ amount.

[yesterday]

$50.55

Expense added successfully.

ES-01-03

Add an expense with a negative amount.

[today]

-$75.00

Expense not added.  Error message displays.

ES-01-04

Add an expense >= $1,000.00

[today]

$1,234.56

Expense added successfully.

ES-01-05

Add an expense with a future date.

[future date]

$100.00

Expense not added.  Error message displays.

ES-01-06

Add a $0 expense.

[today]

$0.00

Expense not added.  Error message displays.

ES-01-07

Add an expense with a blank amount.

[today]

 

Expense not added.  Error message displays.

When you combine the two charts above, we can see the test cases flesh out.  We have 7 test cases for Expense Security Scenario ES-01.  Considering we need to test this across 2 different user types, we now have 14.  And there are nine Expense Security Scenarios to go!  Not every one of these will need 7 scenarios each.  If we were to flesh out ES-02, that one is quick for both the sales person and the sales manager: one test case each to make sure that they cannot create new expenses on behalf of others.

For each of the Security Scenarios, we’d repeat the exercise by going through and identifying the necessary tests. Excel is great for keeping track of these.

Record Counts: Online & Offline

Now we need to consider how much data we need to sync down to the device when it is online and when it is offline.  To do this, let’s make another chart and figure out what to expect.  Interviews with key stakeholders will help you answer these questions.  Test with too little data, and you can run into unanticipated performance issues.  Test with too much data, and you could be spending extra time performing unnecessary tests.

For our Expense Scenario above, I would ask the following:

  • How many expenses would a user submit per day?
  • How many users report to a sales manager?
  • How long should past data be available on the device?
  • How much of this data needs to be available offline?
  • Is there a scenario for a system administrator who will have access to all records in the system?
  • If so, how many users are there?

And we may get these answers:

Scenario

Response

# Expenses per User per day?

20 expenses / day

How many users report to a Sales Manager?

10 users

How long should data entered in the past be available on the device?

1 month

How much of this data needs to be available offline?

All data

Will a System Administrator use this app?

Yes

# of Total Users

100 users

Looking at these amounts, we can see that a sales manager will have significantly more data than a sales person, and that data needs to be available on the device for 1 month.  The requirements are the same, whether the device is online or offline, so:

  • Each sales person will then have a max of 20 expenses per day for 1 month (31 days) = 620 expenses
  • Each sales manager will then have this amount of data for 10 users = 6,200 expenses PLUS their own expenses: 620. Total expenses for a sales manager = 6,820.
  • A System Administrator will then have this amount of data for 100 users = 62,000 expenses

Now we know that when we're creating our test data for the mobile app, we will not only need to consider the various scenarios to test for data entry, but also how much data we need to pre-populate at the start to ensure that the devices can handle the load. We will be modeling real-life scenarios from the start of testing, which will uncover performance and usability issues early on.

Happy Testing!

Topics: Enterprise Mobility

Tips on Making CRM Your Own

CRM 2016 is chock-full of ways for you to better personalize your experience with the application. However, with a new interface, sometimes these approaches aren’t super intuitive or easily discoverable. In other cases, you may have just forgotten a trick or two and just need a quick reminder. This post will showcase some of the areas I use to make CRM 2016 conform more to my preferences.

View Defaults

Microsoft Dynamics CRM users have long been able to change the filter on views to display different columns of data. And, they have been able to set the default view to a setting other than what the CRM administrator had intended. This provides a great usability filter, as a user can even set a personal view as their default.

When CRM 2016 came out, the set default view menu button disappeared and at first it looked like the functionality was no longer provided. However, the feature still exists! The way you do this might be a little obscure, so I thought I would document it here.

  1. First launch a browser with and load Dynamics CRM 2016 (Online or on-premise).
  2. Then navigate to an entity and display a list of records. If you haven’t changed anything, you’ll see the view that the CRM administrator set as the default view.
  3. Next change the view to the one you want to use as the default.
  4. Finally click or tap the pin icon right next to the view name. image
  5. Voila…you have saved a new default view!

Default Dashboards behave differently. CRM 2016 saves your default dashboard as your Home button. When you navigate to a dashboard that isn’t the system default, you should see a Set as Default button in the menu. Clicking this button saves that dashboard as your ‘Home’ link.

image

NOTE: You need to have your Default Pane be Dashboards in order to see this option. If you don’t see the button, double-check your Default Pane setting (see the instructions later in this post on how to do this).

Be aware that while in your working session, CRM 2016 will save and display the view you last accessed. The default view will come up the next time you close your browser and sign back into the system.

Even better, with the Outlook add-in, you can pin multiple views within your Outlook interface, with each showing up as a separate tab.

Recent Records

Have you noticed the new clock icon in the CRM header? I know initially I didn’t pay too much attention to it, but I do now.
image

CRM saves your most recently accessed records and views, and you can access these records from that icon. If you remember to use this feature, you can save time by going to records you access frequently from this menu. You even have the ability to pin common records and views.
image

This was a feature back in the CRM 2011 days and was lost with CRM 2013. Now that I regularly remember it, this shortcut has been a huge savings for me to quickly get navigate the application.

QuickNav

Even with CRM 2016’s global navigation improvements over CRM 2015, I still love our FREE QuickNav tool. QuickNav expands the sitemap elements on one screen, saves your last and most visited areas for “quick” access, and allows you to simply start typing in the Quick Find search box to find any available entity, including settings.

image

QuickNav is offered free by Sonoma Partners, so download either the CRM 2015 version or CRM 2016 version today and give it a try!

Default Page

Microsoft CRM has long had the ability to set your home page. The ‘Home’ page will be the first screen shown when you sign in and also the page CRM takes you when click or tap the logo in the top left of the CRM masthead.

In my role at Sonoma Partners, I often access CRM for a variety of different reasons. Consequently, I have my home page set to our QuickNav solution. You set your home page choice by clicking the gear icon in the upper right of the CRM masthead and then selecting Options.

image

CRM will then display the Set Personal Options dialog page and the first section under the General tab will display the Areas and Tabs from your sitemap.

image

Click your logo to navigate back to the home page at any time.

image

REMINDER: You won’t be able to set your own default dashboard if you change this setting!

Two other personalization settings from the Set Personal Option that are frequently updated are the Records per page setting and the Advanced Find mode.

The Records per page defaults to 50 records. You can increase this up to 250 records, but recognize with the increase you will take a slight performance hit. Use the setting that makes sense for you.

By default, Advanced Find will display in ‘Simple’ mode, such as what is shown below:
image

In Detailed mode, the ‘Details’ option under the Query tab in the ribbon will display, allowing for more detailed changes to the query filter.
image

Either option is fine, but I usually end up staying in simple mode and clicking Details when I need to create a more advanced query.

Keyboard Shortcuts

Did you know that CRM has a variety of keyboard shortcuts? We often disable the new ‘auto-save’ feature on our CRM 2016 deployments, so I typically see most users move their mouse to the tiny save icon at the bottom right of the record form to save a record. Well, no more…you can simply use CTRL-S (like you do with most Windows programs) to save. Also cool is ALT-S will save and close the form for you!

Check out all available shortcuts for Dynamics CRM. I haven’t been able to get a couple of those to work on CRM 2016 (such as the spacebar opening search and the CTRL-SHIFT-S to save and new), but most of the others work to varying degrees of effectiveness. Give them a try to see what works best for you.

Topics: Microsoft Dynamics CRM 2016

Nucleus Research's CRM Technology Value Matrix - Who's Moving Up? Who's Moving Down?

Nucleus Research provides ROI (Return on Investment) and TCO (Total Cost of Ownership) research on business software applications such as CRM and ERP systems. Twice per year, Nucleus releases a "CRM Technology Value Matrix" that aims to rank the leading CRM applications on two different dimensions: functionality and usability

A few weeks ago, Nucleus released their H1 2016 CRM Technology Value Matrix. Nucleus subscribers can access the report here, the rest of us can thank Oracle for posting a copy of the Nucleus report online. :)

Q62-CRM-Technology-Value-Matrix-1H2016

If you spent any time evaluating different CRM platforms for your business...you won't find many surprises in here. Salesforce.com, Microsoft Dynamics CRM and Oracle lead the pack. With that said, we thought it would be interesting to compare the current Nucleus rankings with their CRM technology rankings from two years ago.

Nucleus-CRM-1H2014

Comparing the current 2016 rankings to the 2014 rankings (and focusing on the Leader quadrant), the following jumps out at us:

  • Salesforce.com and Oracle retained their top right (leader) positions
  • Microsoft Dynamics CRM made a BIG jump up from 2014 in functionality, and they increased their rank in usability as well. Something big happened at Microsoft in 2014, coincidence or not that Dynamics CRM drastically improved their product since then???
  • Prior leader quadrant Cegedim dropped out of the leader quadrant (now listed as IMS Health in 2016 version after the 2015 acquisition)
  • Infor CRM and BPM Online also made strides to get into the leader quadrant

So what's our takeaway here? When we help our customers evaluate different CRM platforms, we encourage them to evaluate features that exist TODAY, but they should also strongly consider the momentum of the platform to try and project where the functionality might be in a few years. Most customers stick with a CRM platform for at least 3-4 years, so platform momentum means a lot. Obviously, Salesforce has been strong for years, but we love to see the progress from Microsoft Dynamics CRM over the past two years! 

If you're evaluating CRM platforms for your business, please contact us...we can help you perform an objective CRM platform evaluation! Also remember to check out our free eBook "The 10 Most Important CRM Evaluation Criteria".

Topics: CRM Best Practices CRM Platform Selection

Project Service - The more you know

Today's post is written by Jeff Meister, Principal Consultant at Sonoma Partners.

The release of Microsoft CRM Online Spring Wave brings some great news for those of us focused on delivering quality customer service to our clients. 

In addition to the integration with two recent Microsoft acquisitions, ADX Studios (customer portal) and FieldOne (field service), Microsoft is also releasing  a new Project Service solution. Project Service is a PSA (Project Service Automation) solution that provides an end to end solution for delivering professional engagements and will be ideal for service-based firms.

Picture141-1024x605

Today, I wanted to walk you through a high-level overview of the functionality based on what we've learned to date about the solution.

Opportunity Management

CRM has traditionally handled opportunities with product line items. Project Service updates this functionality to handle what sales of service projects would need. Some key highlights would be contracts and labor rates, collaboration, practice lines, price lists and quotes; all while following your pre-defined sales methodology and best practices.

Project Planning

This is where things start to get interesting. This aspect of the solution brings key components from MS Project, and embeds them directly into CRM. Users are able to store templated project plans which are then modified and used for estimating, definition and timeline/budget tracking throughout the project lifecycle. Having these tools accessible within CRM allows for more accurate quoting, ensuring profitability and resource estimates are aligned early in the sales process. It also provides enterprise visibility to project status.

2

Resource Management

The solution takes the pre-sales planning work and applies that to your staffing model for demand fulfillment. This can be done across various staffing models. Whether or not your project manager or team members access the demand pool directly, or if you have centralized resource managers, resource scheduling can be done via the new solution, taking into account availability, capacity and skill sets while maintaining competencies and proficiencies.

(On a side note, we are really excited to see where this part of the solution can go when paired with machine learning!)

Time and Expense

This one is easy…mobile and desktop support for time and expense entry, with routing and a built-in process for approval. Having these data points tied directly to the project in CRM also provides the ability for immediate impact to project financials. Plus, you can access these functions through mobile applications.

Billing

Having all the project related data (contract, time reporting, expenses, billing details) under one roof allows us to easily source our invoices directly from the solution. We don’t believe this will be a full blown replacement for an ERP backend, especially at the enterprise level. That being said, this is a great direction to see the product headed, and we expect integration with other ERP systems to be available.

Analytics

The Project Service solution will have built in BI capabilities around actual records for financial events, profitability, and utilization. It is also expected to have content packs available for PowerBI, allowing for rich dashboards and ad hoc analytics. 

1

Sonoma Partners was fortunate enough to be an early participant with this process. The solution uses native functionality in conjunction with custom screens to deliver an intuitive and very compelling application targeted for firms that manage projects, time, and resources. The solution is easy to install and configure on your base CRM Online deployment. 

As mentioned above, Project Service is available as part of the Spring Wave for CRM Online.  And, we have our fingers crossed that we will see solution available for the on premises version at some point as well. Pricing details are yet to be published, but check back for more details as those become available.

Topics: Microsoft Dynamics CRM Microsoft Dynamics CRM Online

Lookups - Null vs Empty Array

The other day I discovered an interesting ‘gotcha’ when working with a lookup in JavaScript.  A business requirement called for some JavaScript to be registered when a lookup value changed and then execute certain logic based on if the lookup had a value or not. 

This is pretty straightforward logic and could be handled easily with the following code:

var customerValue = Xrm.Page.getAttribute('parentcustomerid').getValue();
if (!customerValue) {
   // do some logic
}
else
{
   // do some other logic
}

Come to find out, this works for the most part but there is one scenario where it falls short which is where the ‘gotcha’ comes in. 

  1. Record form loads and the lookup doesn’t have a value
  2. The lookup has a value and the user selects the lookup and hits the “Delete” key
  3. The lookup has a value and the user clicks the magnifying glass, then “Look Up More Records” and then clicks “Remove Value” on the subsequent dialog
In the first two scenarios with the above JavaScript code, the customerValue variable will be null and will work as expected.  In the third scenario, the customerValue variable will be an empty array and not work as expected as it isn’t null.


Therefore we need to update the block of code with the following:

var customerValue = Xrm.Page.getAttribute('parentcustomerid').getValue();
if (!customerValue || customerValue.length == 0) {
   // do some logic
}
else
{
   // do some other logic
}

Now the code is flexible and will handle all 3 scenarios where the lookup value doesn’t exist.

Note:  This was tested in CRM 2015 Update 1 and CRM 2016

Topics: Microsoft Dynamics CRM Microsoft Dynamics CRM 2015 Microsoft Dynamics CRM 2016 Microsoft Dynamics CRM Online

Understanding Office 365 User Account Management for Dynamics CRM Online

Today's post is written by Aaron Robinson, an Engagement Manager at Sonoma Partners.

Microsoft Dynamics CRM has long offered customers the option of choice when it comes to deployment as a differentiation of their product relative to other customer relationship management solution offerings.

But there are some differences in administration and capabilities depending on the deployment option chosen.  Let’s take a look at user administrator as it relates specifically to Dynamics CRM 2016 in Office 365.

Account Types

One benefit of the online or “cloud” offering of Dynamics CRM is how users are created and managed.  But before we get into how administration works, we need to understand the ways user accounts are created for Office 365.

Cloud Accounts

If you created an Office 365 tenant and use the Administration portal to create users, you are more than likely creating “cloud accounts”.  What does this mean?  Office 365 authentication is supported by a version of Microsoft’s authentication engine Active Directory.  More specifically, it is Azure Active Directory, meaning it is also a cloud service, just hosted on the Azure platform.  So how do I know if they are cloud accounts?  Easy!

First login to portal.office.com (I’m going to assume that you are a global (tenant) admin and have permission to the admin tab, otherwise you will not be able to do this).  Once logged in, browse to Users>Active Users and look for the Status Column shown below:

1

The important piece to understand about this method is that the accounts are stored in an instance of Azure Active Directory. You can view this directory by navigating to Admin>Azure AD in the same Admin Portal as shown below.

2

If you do, it will redirect you to the Windows Azure management website, and ask for you to create an account to manage this Azure tenant. Note this is not a requirement.  You can continue to manage users in the Admin portal without ever visiting the Azure AD page. Since this azure portal is a whole other beast, its better left for another time.

Local Accounts

Another method is more common in enterprise scenarios, where Active Directory domains have already existed for years and single sign-on (SSO) is preferred for on premises and cloud services in an organization. These accounts must either be sync’d with a cloud Active Directory, or redirected to federation service for authentication. For users this means they will continue to use same email address and password they currently use, and password changes will sync automatically.

DirSync or Azure AD Connect

Directory Sync is one method for enabling single sign-on.  One aspect I like about this method is that it is a single page authentication, rather than redirection, meaning less clicks for a user. However, administration of this method can be more demanding, as you need to make sure the service is always running.  Microsoft does aide in this process as they will notify the tenant admin if the sync goes down for a predetermined period of time, letting you know that someone should look into it.

3

The requirement for directory sync is to set up a synchronization service on a server behind the corporate firewall which can connect to the local Active Directory.  This was previously done with a tool called DirSync, but has since been replaced by a newer version called Azure AD Connect.  There is plenty of information on the deployment of DirSync and Azure AD Connect, so we won’t cover that here.

Active Directory Federation Services

ADFS is another way to go for enabling SSO.  Many enterprises will already have this in place for other SSO applications they manage, and as such may be more desirable.  The downside of this method in my opinion is the user experience.  From the Office 365 sign-in page, a user will enter their email address, and Office 365 will redirect them to the ADFS sign-in page for the organization, where they will have to enter their credentials, possible for a second time (the experience can be a bit inconsistent here depending on the device, operating system and browser).

4

Once again, there is plenty of good information on the setup here.

User Management

Now that we have covered where the user accounts can exist, let’s examine how they become users of Dynamics CRM.  This is a two step process that is fairly straight forward. Let’s start with license assignment.  Back to our trusty Admin Portal for Office 365 where our users now exist, you will want to expand the Active Users.  Select a user, which will give you the user admin panel to the right side as pictured below.

5

Click Edit on the Assigned license section and add a Dynamics CRM license to this user (this assumes you have purchased the licenses in advance, otherwise you may not have them available). The nice part here is that Microsoft has automated the user creation in Dynamics for you.  Once you have assigned the license, an automated routine will run to create the user record in Dynamics.  Keep in mind that this automation is not instantaneous, and it may take a few minutes for the user to appear.  But in most cases I see it appear in under a minute.

The last step is to sign into Dynamics as a CRM Administrator, and add a security role to the new user account. Unsure how to do that?  Refer to this TechNet article.

And one more thing…

Would you like to see a list of all Dynamics CRM Licensed users in the Admin portal? On the Active Users page, there is a view filter dropdown for seeing users by different attributes, such as Active Users, SignIn Allowed or Blocked, Unlicensed Users, etc.  A really helpful view is Dynamics CRM Licensed Users, but it doesn’t exist by default.  Here’s how you would add one.  Click the dropdown for Select a View, and select New View.

1

Name your view (“Dynamics CRM Licensed Users” works for me), and then under the Assigned License dropdown, select Microsoft Dynamics CRM Online Professional, and then click save.

2

Now pop into the Active Users, select your new view, and there you go!

3

Looking for help with your Dynamics CRM deployment?  You came to the right place! We can help you better understand Office 365 user account management and so much more. 

 

 

Topics: Microsoft Dynamics CRM 2016 Microsoft Dynamics CRM Online

Programmatically Editing Searchability of Fields

Today's post is written by Matt Dearing, Development Principal at Sonoma Partners.

We recently had a request from a customer to flip the “searchable” function on a number of fields from on to off; preventing users from searching on these fields in advanced find.

When you only want to modify a handful of fields, the easiest way to do this is through native customizations by editing the attribute’s configuration to flip its searchable value to “No.” If there are several fields to update, a great option is using the XrmToolBox’s Attribute Bulk Updater which, as the name suggests, lets you update specific attribute metadata in bulk.

However, in this case, the customer had a list of 1000+ fields across 20+ entities they wanted to have disabled to reduce clutter in advanced find. This would have taken a significant amount of time if we used the native customization editor or even the Attribute Bulk Updater, and both methods would have been prone to error. We decided to convert their list (which was originally the field and entity Display Names) to schema names and update programmatically.

The customer gave us a CSV file with a column for entity display names and another for attribute display names. Then to retrieve the schema names we used MetaBlast to export the metadata of the customer’s org. We planned on using VLOOKUPS to match the display names to the schema names but because a number of fields repeated across entities we needed to create a unique identifier for the lookup. We added an additional column to the customer-provided CSV file and the MetaBlast file and filled it with a concatenation of the entity and attribute name. With a unique identifier in place we used the VLOOKUP function to retrieve the schema names.

1

 var attribute = entity.Attributes.Where(x=> x.LogicalName == csvFieldName).First()
attribute.IsValidForAdvancedFind.Value = false;
orgService.Execute(new UpdateAttributeRequest()
{
	Attribute = attribute,
	EntityName = key
});
*The above code was in a try catch to print out those csv fields that could not be found or not be updated.

Next we wrote a simple LinqPad script that would: loop through the rows of the CSV, leveraging the CsvHelper NuGet package to bring the entities and attributes into memory; query each entities metadata; match the csv row attribute to the entity attribute metadata; then set the attribute metadata’s “IsValidForAdvancedFind” property to false and update the attribute.

Finally we published all customizations and voila the fields were updated. There were a handful of fields whose “IsValidForAdvancedFind” property was not updatable, and this could have been checked for in the LinqPad script, but with this being a quick one time run we just printed those fields out to the console window and let the customer know which fields could not be updated.

In the end this saved a ton of time from updating each field manually, and reduced the number of errors that manually clicking would have introduced. The customer was excited that we were able to clean up their searchable fields. It’s always good to look for existing tools to help speed up customization work, but sometimes a quick script is the best way to go especially if updating a very large number of customizations.

Topics: Microsoft Dynamics CRM

CRM - Where to start? What to do next?

Today's post is written by Kristie Reid, VP of Consulting at Sonoma Partners.

Is your organization just starting your CRM adventure?

Have you already deployed CRM but have no idea what to do next? May we suggest a CRM roadmap? A well thought out and widely communicated CRM roadmap helps organizations in a number of ways:

  • Aligns your CRM program with the goals of the company to promote user adoption.
  • Gathers executive buy-in to your CRM initiative.
  • Reminds users of the capabilities that CRM has to offer and that the tool should continue to evolve with your business.

But how do you even start to put this roadmap together?

Here at Sonoma Partners, we gain insight and consensus from key business stakeholders of the CRM program through a series of workshops, each designed with a specific goal in mind. We call this process Envision. Whatever you call it, or however you structure these discussions, there are some key outcomes that you must achieve:

  • The ability to measure whether or not the capabilities enabled within CRM meet your overall company objectives, not just a requirement provided by a user.
  • How ready your organization is to embrace the change that comes along with a CRM initiative.
  • A series of projects identified and scheduled to avoid conflicts with other key milestones, cyclical fluctuations that affect the teams involved in this projects, and agreement on that roadmap.

Keep in mind, your roadmap will continue to change and should be re-evaluated on a monthly or quarterly basis. The goal is to use this roadmap as a guideline and motivation to keep moving forward.

Contact us today to find out more about the Envision process and how it can help you keep your CRM initiative alive and well.

How to get executives to pay attention to CRM

Topics: CRM Best Practices