Sonoma Partners Microsoft CRM and Salesforce Blog

Winter is Coming: What's New in the Lightning Experience with the Salesforce Winter '17 Release

Today's blog post was written by Caitlin Pfeiffer, Principal Consultant at Sonoma Partners.

The Winter '17 release notes are published, preview sandboxes have already been upgraded, Dreamforce is next week… all signs that (for my fellow Game of Thrones fans) "winter is coming." Salesforce has three releases each year, but in coordination with Dreamforce, the Winter release always seems to have a lot of big new features.

The Salesforce Winter '17 release is no different - there are lots of exciting new features to look forward to.

NOTE: Don't have time to read the 447-page release notes document? Check out this Top Features reference that highlights some of the big new features coming with the Winter Release.

Winter '17 comes with too much to cover in a single blog post, so this article will focus on some of the new features coming in the Lightning Experience. The Salesforce Lightning Experience was launched in last year's Winter release. Even though throughout the past year more and more feature are now supported on the Lightning Experience, a lot of my clients still were missing a few critical features necessary for them to make the jump. In this release, we're seeing some big enhancements to the Lightning Experience that I think will allow for many more companies to start using it. This blog post will highlight a few of my favorites.

What was once in Classic is now in Lightning

In this release, you'll see a lot more support for features that previously were only available in Salesforce Classic. To name a few:

  • Horizontal Tabs: Lightning currently has an icon bar that runs vertically down the left-hand side that you can expand and collapse (this model was very similar to the Salesforce1 navigation). However, with Winter '17, Lightning is moving back to the "horizontal tab" UI that we all know and love from Salesforce Classic.

Winter 17 release 1a

Winter 17 release 1b

I believe this change will make it easier for Classic users to transition over to the new Lightning Experience. In addition to the familiar design, this new navigation feature also allows for quick access to recent records and list views without having to navigate to the tab first.

Winter 17 release 2

  • App Branding: This sounds like a simple one, but most of my clients really like to be able to configure their Salesforce environment to align with their brand. Lightning users are now able to use their own company logo and company color.
  • Inline Editing in List Views: Inline editing in list views is often one of the favorite usability features of Salesforce Classic and is now finally available in the Lightning Experience. Although this is a big jump in the right direction, there's one caveat I must point out: inline editing in Lightning only allows you to edit one record at a time; it does not allow you to apply your edit to multiple selected records as you can in Classic. I'm hoping to see mass editing in List Views soon!

Winter 17 release 3

  • Quotes and Contracts: I'm glad to see that there is now Lightning Support for Contract but REALLY excited for Quotes in Lightning. Quotes are used by a lot of my clients, and this was a feature that was preventing a lot of people from moving to Lightning. You can now create Quotes & Quote Line Items, sync Quotes, and create Quote PDFs.
  • Adding Campaign Members from Contact/Lead List Views: Campaigns have been supported in Lightning since Spring '16; however, you only could add campaign members individually or through the new import wizard. For companies that manage large campaigns, not being able to add Campaign Members from Contact/Lead List Views was a big inefficiency.
  • Other Notables: A few other noteworthy notables that I'm excited to see, the Lightning Experience now supports:
    • Help Text
    • Collapsible sections on page layouts
    • Save & New functionality
    • Product Schedules
    • Ability to manually edit Opportunity Probability

What New in Lightning and Only Lightning

In addition to adding more "Classic" features to the Lightning Experience, Salesforce continues to show that Lightning is the future UI they are investing in by adding some new features that are only available to the Lightning Experience. There are a lot more than what I’ve listed, but here are a few of my favorites.

  • Kanban for Leads, Contracts, Campaigns: In my opinion, the Kanban List View is one of the huge differentiators for the Lightning Experience and it’s now available for Leads, Contracts and Campaigns. Support for all of these objects is great (and I hear that support for all objects, including custom objects, is coming in the roadmap… safe harbor), but support for Leads is definitely the use case that I can see most companies being excited about. Lead Qualification processes are often just as important as Opportunity Sales Processes, so it’s great that Lightning users now can use this power UI for managing leads.

Winter 17 release 4

  • Edit directly in Kanban: Currently, Kanban is built for moving Opportunities between Sales Stages quickly and easily. But if you want to make additional updated to Opportunities in the Kanban list view, you have to drill into each Opportunity to make those edits, causing a lot of clicks and navigating back and forth. In the next release, you can edit records directly from the Kanban view without having to leave that view. This is going to make Kanban all the more powerful!
  • New Feeds for Contacts: Similar to Account Insights (which will be updated to being called Account “News” in Winter), you can now see a News feed for your contacts. With this feature, Salesforce has also embedded a great crowdsourcing feature, we you can provide feedback on if you feel like a News article is relevant or not, which will only help Salesforce improve this functionality for all users.
  • App Specific Page Layouts: Currently, Administrators have the ability to configure different page layouts for different Profiles and Record Types. In Winter ’17, Salesforce is adding an additional dimension to provide even more granularity for what page layouts are used in the Lightning Experience. You will now be able to configure different page layouts for different Lightning apps as well. The main use case here is to allow companies to create a much more tailored experience within an app. For example, you can create a Sales app that will show the key sales fields and lists Opportunities as the first related list on the Account page layout and also have a Service app that will show Cases and Service Contracts as the first related lists on the Account page layout. One word of caution: while this provides companies with a LOT of flexibly, it also adds another layer of complexity to maintaining your Salesforce environment. I would recommend that you consider the use cases that would warrant enabling this functionality carefully to make sure that the value will outweigh the additional maintenance of more page layouts.

Have questions on how or if you are ready to move to the new Lightning Experience, Sonoma Partners can help (contact us). 

Three Steps to CRM Success

Topics: Salesforce

50 Ways to Name Your Test Cycle

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

One of the things that has stuck me over as I work with different QA departments is how different companies name their Test Cycles. Company A conducts ‘Acceptance Testing.’ Company B says they are doing ‘Ad Hoc Testing,’ not Acceptance Testing. Company A’s Acceptance Testing involves coordinating Super Users to test using a minimal test case structure and making sure they’ve covered all of the functionality they expect to be in this software release. Company B’s Ad Hoc Testing involves coordinating Super Users to test using a bullet-pointed list of items to test and make sure they’ve covered all of the functionality they expect to be in this software release.

These are the same thing. Call it Acceptance Testing, call it Ad Hoc Testing; the definitions these two companies apply are the same.

True, there are some testing types that have a clear definition. White Box Testing, for example, is the testing of code paths and deriving test data from what is known about the code. Only a tester that understands how the code was developed will be capable of doing a decent job at White Box Testing. However, White Box Testing also has many different names: Clear Box Testing, Glass Box Testing, Structural Testing, or Logic Driven Testing, to name a few.

The point here is not to get hung up on how the Test Cycles are named. What is important is that when planning your testing, go through the exercise of naming each Test Cycle and defining what type of testing will occur, the roles of the testers, and what test cases will be executed, in each cycle so everyone is on the same page.

For example, testing could be defined this way:

  • Unit Testing – testing done by a developer before code is deployed to QA
  • Integration Testing – testing done by QA, but only of systems integrating with each other and how data is passed between the two
  • System Testing – testing done by QA to make sure the code updates meet the business requirements
  • Acceptance Testing – testing done by Super Users and Business Analysts to make sure the code meets the business’ needs.

The ultimate goal with testing is to make sure that we are delivering a high quality product to the customer, and what you name the Test Cycle doesn’t achieve that purpose. Give your Test Cycles a name and definition early on to provide consistency on the project, and then you won’t have to worry about mixed messages on what you are testing.

Happy Testing!

5 Questions to Ask When Evaluating CRM Consulting Firms

Topics: CRM Best Practices

Ins and Outs of App Deployment Using Microsoft Intune

Today’s blog post was written by Marty Diamond, Senior System Administrator at Sonoma Partners.

Here at Sonoma, we promote a highly mobile workforce. Like other businesses, this means distributing internal apps to phones and tablets not owned by the company. Many mobile device management solutions have risen to assist with this challenge. We’ve used a handful of these with varying degrees of success. Recently, we have been piloting Microsoft’s Intune system, a part of Microsoft’s Enterprise Mobility Suite. Intune is interesting as a significant portion of it is dedicated not just to device management and compliance but application management, which offers many benefits to us.

Before delving too far into it, I should say that while Intune is a very flexible platform for managing a fleet of mobile devices, Sonoma’s use case is almost entirely dedicated to application distribution and updating. We have few company-owned mobile devices that are used by our QA team, and thee have very few requirements placed on them. This makes Intune very appealing: we can use it to simplify management of our mobile applications and scale up if needed.

We began testing with a simple task: log into the management portal and add a device. Getting there is simple enough. Once you’ve started the trial and assigned a license, Intune becomes another administrative portal launched from your Office365 portal. You are greeted with a set of startup prompts to help you navigate the portal from creating a policy to setting up your “Company Portal” to get devices into management. Once this is complete, the dashboard begins to fill with data about any devices it is managing.

Marty post 1 v2

The first real step within Intune is to define a policy. This is where we ran into our first “gotcha.” While the wizard takes you through defining a policy and creating other policies, it does not mention anything about deploying those policies. Nor does it mention that, by default, the existing Default Security Policy is not deployed. Missing this deployment step freezes the whole process: no device can be added unless a default policy is deployed.

Marty post 2 v2

Once we got past that, we continued testing with device onboarding. This process is critical as the easier we can make it for our staff to access apps they need, the less IT overhead we need. This where Intune scores some more victories—as a part of Office365, it works with our existing SSO. We simply needed to grant users licenses. From there, they are free to download the Company Portal app and sign in. The device add process is similar to other MDM solutions. It will ask the user for permissions to perform the functions it needs (management certificates for iOS, device administrator for Android, etc).

Notice that the Company portal app allows for easy app discovery and management. As long as they meet deployment criteria, users can find easily find apps by category. They can also see what other devices they have enrolled and if those devices are compliant. Each licensed Intune user is entitled to up to 5 devices (admins can limit this further).

For us, the star of the show was in app deployment. The Apps section does exactly what we need it to: deploy apps and keep them updated on our schedule.  The first step is to add an app. Much like policies, the process here is to add it and then deploy it. 

Marty post 4 v2

The Add App function launches a ClickOnce application that allows you to upload an app directly to Intune, hosted an external link, or—for iOS only—managed from the App Store. This same application is used to manage existing deployments. From this ClickOnce application you can change what types of devices can run the app (in the case of iOS universal apps), rename the apps, and keep apps updated. This was critical for us. Once a user has downloaded an app from Intune, they will then always have the latest version of that app on their device. The same is true for any apps we require the install for. One note here is that apps deployed to device groups that are required installs can take several hours after being upload to be deployed. The same is true with app updates. This delay does not appear to exist for apps deployed to users that are requested through the company portal.

In a lot of respects, Intune has more in common with System Center than other established MDM products. For example, when you want to deploy an app to groups of devices, you only have the options to Install or Uninstall. You can only make an app available to people via the portal by deploying to a group of users. While not immediately clear, this methodology makes a lot of sense: you might have groups for tablets and phones but deploying a universal app to a user allows someone with an iPhone and an iPad to get the app as needed without the need for two separate deployments.

Some other notes to keep in mind when considering Intune:

  • Intune supports direct connections to Exchange and SCCM. While we don’t employ these at Sonoma, leveraging them can give you more centralized control over devices.
  • Intune is smart about app deployments. For example, f you deploy an APK file to the “All Mobile Devices” group and mark it a required install, it won’t try and deploy to iOS devices or Windows machines. Keep this in mind when deciding how best to deploy your various mobile applications.
  • In our testing, sign-ins timed out very frequently, even in the Company Portal app (though the login itself is cached). This is a nice security measure but may cause confusion and you will want to communicate that to your users. 

Learn how to use Voice of the Customer in this guide

Topics: Enterprise Mobility Microsoft Dynamics CRM 2016 Microsoft Dynamics CRM Online

Day in the Life: Meet Michael



Why do I like working at Sonoma?

For one thing, everyone is incredibly smart and self-motivated at work...and cool to hang out with after.

My internship prepared me for this experience.

Mike2As an intern at Sonoma, I got a lot of exposure to what the industry is like and what skills are the most in-demand. The opportunity to work with big name technologies while I was still in school gave me a lot of perspective about the direction I wanted to take my career. It allowed me to tailor my senior year class selection to better match up with the type of work I wanted to do after I graduated.

I learned a lot more during that summer than any semester in school and really felt like I was advancing my career.  Sonoma even allowed me to take Salesforce certification exams – I got two!  This made me highly desirable to employers at the following career fair, but I knew I wanted to come back to the atmosphere at Sonoma.

It’s convenient to get to.

In the morning I enjoy breakfast with my roommates and then I’m out the door to catch the Brown Line to work. Southport…Belmont……Chicago…Washington/Wells! That’s me. Off the train and up to the office I go.

We have snacks-a-plenty. Mike1

I grab a granola bar and a cup of coffee from Sonoma Partners’ phenomenally stocked kitchen then head to my desk. From there, I’m pretty much heads-down. I find that I work best in the morning when I dig right in to my software development work. I primarily work in C# and Apex (for coding languages with an occasional JavaScript project.

I get great exposure to other kinds of businesses.

I like the combination of consulting and software development work I’m able to do at Sonoma Partners. Working as a Developer at Sonoma is unique because you’re not just limited to working with code. You have the opportunity to interact with clients and truly see what impact you are making on the businesses you’re working with.

Lunchtime is with friends.

For lunch, I’m about 50/50 split between bringing sandwiches from home and going to Blackwood BBQ or Blaze Pizza around the corner from our office. There are so many good options around here, but those are my two favorites. I try my best to eat at the lunch table, but sometimes I get too sucked in to a project to step away. When I do sit at the lunch table, the company is always top notch.

Thursday’s we have Lunch & Learns.

On Thursdays, I eat my lunch with my fellow Developers at our weekly Lunch & Learns. The topics vary, but they’re always interesting. Whether it’s about a pet project or a clever way to solve a client problem, I always enjoy hearing from other Sonomans on what they’re passionate about.

Afternoon meetings are always helpful to touch base with my team. Mike3

Typically, I have one or two status calls with my project team in the afternoon, in between my time spent coding. These calls help to get everyone on the same page, address any potential problems in the code, and field any questions trickled down from the client to our team.

Mike4It is the perfect work/life balance.

Sonoma Partners has a fantastic, flexible work schedule for people to operate when they want, where they want. Working later early in the week allows me to meet my deadlines and work at a more relaxed pace on Friday afternoons.

When I leave I typically head for the gym to get a workout in. Then, I watch sports and enjoy a few beers with my roommates. I try to stay logged in – at least on my phone – to answer any team questions. Typically, they’re quick and easy to respond to on my phone. I rarely have to field client questions after business hours.

Then, it’s bedtime!


Topics: Careers at Sonoma

Thinking about CRM Differently

Today's blog post was written by Bill Goergen, Principal Consultant at Sonoma Partners.

We were recently at a meeting for a business servicing the national trucking industry. They had already determined that they needed a new CRM implementation, and we were involved as they were making a partner selection to help them with implementation.

As we were diving into the requirements and expectations, we uncovered a situation that raised a few red flags.

First, this company had five major lines of business. The single VP in our meeting represented one of them. Two of the divisions already had a CRM system. One was characterized as a “failure” and the other performed a very narrow and specific function within that one division. We were now in discussion about adding a third CRM to the mix.

Further discussion revealed that even though the various divisions frequently called on and serviced the same customers, there was no visibility into the sales or service activities of the other divisions. The VP acknowledged this was an issue but was not inclined to operate outside of his area of responsibility.

You get the picture: there was no alignment of business processes or view of the overall customer relationship.

This is not uncommon. Most organizations make the decision to implement a CRM system either because they have processes (one or more) that simply don’t work very well, or because information needed to run the business efficiently are not being captured so the leadership team does not have insight into the true state of the business.

In many instances, these questions come up at a division level, or within a specific function in the organization. They have a pain point and in looking for a solution, they hit on CRM. They implement CRM to address specific issues, but are missing out on the benefits that a truly comprehensive and integrated system can provide.

This organization was a perfect candidate to step back and ask a few very simple but pertinent questions:

First, what is the role that CRM should play in our organization? Is that consistent across divisions? To put it differently, what is our CRM strategy?

Second, how do we most efficiently execute against that strategy? What projects will deliver the highest value in the least amount of time? What is the roadmap that will get us from here to there in a thoughtful and efficient way that will still allow realize benefits sooner rather than later?

Third, how will we know if we got it right? How will we measure the impact and success at each step of the roadmap?

Fourth, what are the benefits our organization will derive from implementation of this CRM roadmap? This can be used to help assess prioritization and budgetary concerns.

While the questions are easy, coming up with the answers are not. This requires input and cooperation from all levels and divisions within an organization. However, once completed, this work can provide guidance and benefits to an organization far beyond any to be gained by a point solution of CRM.

At Sonoma, and across the CRM industry, there is growing recognition that having a concise and well-defined CRM strategy and a road map to guide the execution of the strategy is one of the most important factors in delivering a truly successful and transformational CRM implementation.

Interested? We can help.

Three Steps to CRM Success

Topics: CRM Best Practices

5 Key Questions for Success in CRM During Mergers and Acquisitions

Today's blog post is written by Brian Kasic, Principal Consultant at Sonoma Partners.

Mergers and acquisitions are times of tremendous change within companies. In many cases, the newly formed company will result in multiple CRM systems. It is critical to think through what will be done with those applications moving forward as you simultaneously define business processes going forward, review data, and look at best practices. And if you aren’t doing those things, you should be!

During M&A consolidations, people, processes, and systems are all being reevaluated. This becomes an optimal time to take a fresh look at your CRM strategy.

It is the strategy that guides the future decisions regarding CRM.  Let’s say both parties involved in the merger or acquisition have a CRM system. Which CRM system “wins”?

I’d like to outline a few of the top questions I believe are worth asking during this M&A time period to help define your CRM strategy:

Which company has more business processes utilizing CRM?

To answer this, take a look at which elements of employee’s day-to-day activities rely most heavily on CRM business processes and how they will be impacted with the newly formed company. If we don’t consolidate processes at this stage in the M&A activity, it becomes increasingly more difficult to have a single cohesive system. If a CRM system is selected that is not familiar to all end users, those users on the new application will have to adapt to a new system including how they find and enter data. This leads to the need for additional training. If the newly formed organization sticks with multiple systems, disparate systems can be very damaging to the overall customer relationship as well as the processes that those systems support. I usually recommend consolidating into the CRM system that has the most mature business processes because of all the work that has already gone into making it the more mature CRM.

Is there a cost savings to the company, choosing one system over the other?

Selecting the option with the better licensing model can provide long term cost savings in a big way. Consolidating the new organization into a single system increases the number of users and may provide better pricing structure options. Determine the renewal timing for your licensing agreement and if there are any licensing structures that make more sense with one CRM platform over the other. Licensing models can range from read-only to full-use licenses. Check all of your options to help optimize the cost of licenses. Storage costs and support models are other factors that should be assessed as you are going through the licensing assessment.

In addition to hard costs associated with the software, you also want to determine the time needed to adjust any of your business processes to either fit into the new consolidated CRM platform or development effort needed to change the software to exactly meet those business requirements. Since time is money, understanding how long the transition will take is often a major contributor to the overall decision making process.

How much data cleansing/consolidation is needed?

Determining how much data exists, how much redundant data exists, and how much bad data exists will be a large indicator to how complex the consolidation activities will be. Remember, keeping the CRM applications separate after the M&A activity is a viable option, but you need to identify a plan to ensure a holistic view of your customer is available. Typically when we see companies approach their CRM strategy with multiple CRM applications, they eventually decide on a CRM consolidation project at some point.

What other systems are impacted from the CRM system being decommissioned?

Enterprise resource planning, financial systems, customer satisfaction applications, collaboration, and marketing systems are the most common systems that integrate with a CRM platform. If one company’s CRM system is decommissioned, other system connections will need to be built into the remaining CRM application. Each of these integration points will have a time and cost component associated with switching systems.

Will you be moving from on-premise to online or vice versa?

Moving from one environment to another is an entire project in itself. If you find your company in this situation, work with your partners and CRM vendor to sort out the nitty gritty details. The primary positives to being online are the infrastructure benefits and routine updates that come with the cloud. In addition, the vendors are providing functionality faster and in some cases only in their cloud offerings. Keep in mind that with an online solution, you are often subject to the maintenance schedule dictated by the CRM vendor which may not fit into your M&A schedule of activities.    

We talk a lot about approaches you can take to make a smart, analytical assessment to choose the right CRM platform for your organization. Some things you always want to consider include your current technology environment, your preferences for a cloud-based vs. on-premise deployment, and your organization’s history and bias towards a specific CRM platform. But you don’t have to do this alone. An experienced CRM consulting firm, like Sonoma Partners, can objectively help you take a look at the CRM systems currently being used to assess the quality of the code, the complexity to migrate data from one to another, the amount of customization, and the impact on the end user.  

Even though there are many moving parts during M&A activity, this time period is a perfect opportunity to define and reevaluate your CRM strategy.  Develop your CRM roadmap to identify what CRM system or systems you are going to stand behind and use to grow your new organization.

At its core, M&As are about reducing redundancies so that more efficiencies can be obtained. By merging CRM systems, you can rest assured that you can achieve real business benefits from your CRM that will make the new organization formed a success.

5 Questions to Ask When Evaluating CRM Consulting Firms

Topics: CRM Best Practices

Did They Get the Bang for Their Buck?

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

Since the inception of Salesforce and Microsoft CRM, both companies have made investments to add huge pieces of functionality quickly through acquisitions.

This has made our jobs as CRM consultants exciting as the platforms continue to expand and both organizations continue to show their dedication to the products. However, in our quest to stay on top of all of the latest and greatest technologies, I thought it would be interesting to reflect on the success of each of these acquisitions.

Note: This post only goes back 5 years, and I’ve only included notable acquisitions that have impacted the CRM user experience – I did not get in-depth with all 50 products Microsoft and 28 products Salesforce has bought in that time.

Looking to configure form scripting requirements without writing a single line of code? Download our free Microsoft Dynamics Forms solution for CRM 2016.

Here is a chronological order of recent purchases with my assessment of the results of each purchase as it pertains to CRM:

407 acquisition blog graphic.2 v2

In general, really interesting stuff for both the CRM platforms and the companies that get bought and integrated into these two amazing companies. We know it’s hard to keep up with everything going on and will continue to keep you informed of any further developments!

Three Steps to CRM Success

Topics: CRM Platform Selection

Microsoft PSA - The More You Know

Today's blog post was written by Principal Consultants Nick Costanzo and Jeff Meister.

For today's blog post, we return to our "The More You Know" series after having spent some time under the hood of Microsoft's new Project Service Automation (PSA) solution. In a previous post, we covered a lot of the high-level features available in the system. Now that the solution is publicly available, we want to take some time to explore some of the feature functionality a little more in-depth.

As stated in our previous post, Microsoft's PSA Solution is an end-to-end solution which covers the entire customer life-cycle for delivering professional engagement; today we will start at the beginning and focus on Opportunity Management within PSA.

Sales Process Overview

We'll start with a quick review of a sample Sales Process within a professional service organization and the associated tasks that come with each phase.

Psa more you know image 1

Now that the sales process has been defined, let's look at what Microsoft's PSA solution has to offer for implementing a Sales Process.

Struggling with user adoption of your Microsoft Dynamics CRM system? Learn about our free tool to get the data you need to measure and drastically improve end user adoption.


PSA takes the native Opportunity and extends it to support the ability to sell both Project and Product components. On the new Opportunity: Project Information form you can:

  • Itemize based on your organizations offerings (this includes not only a Services estimate, but also Expenses and Products).
  • Track probability to close and estimated close date as you would with native CRM.
  • Define Sales and Stakeholder team as you would with native CRM.

Psa more you know image 2


At this stage, the solution allows for high-level estimation based on a proposed delivery plan. Using the new Quote: Project Information form, you can view:

  • Profitability and Pricing measurements based on resource roles assigned as part of the delivery plan.

Psa more you know image 3

  • Billing methods and invoice schedules are also defined, including support for Fixed Price or Time and Material billing.

Psa more you know image 4

  • Comparison to customer budget is also displayed by Quote line, to ensure your project is rightly sized for your client.

Psa more you know image 5

Project Delivery Estimate

At this point of the Sales Process, a detailed project plan can be created and applied to the quote. With this plan, we are able to provide:

  • Resource mixing based on defined groups with the company.
  • Costing and Profitability calculations.
  • Validation across customer expectations.

Psa more you know image 6

Confirm Quote

Now that estimate has been completed by Delivery, we are able to:

  • Confirm the quote with a bottom-up estimate based on the detailed project plan.
  • Invoice scheduling based on billing method (Fixed Price or Time and Materials) for each quote line.

Psa more you know image 7

  • Generate a SOW based on the details validated throughout the Sales Process.

Psa more you know image 8

Now that the deal has been won, we are at a good stopping point. We have also transitioned very nicely into our next post which will be a more detailed look into the Project Estimation process…stay tuned!

Learn how to use Voice of the Customer in this guide

Topics: Microsoft Dynamics CRM 2016 Microsoft Dynamics CRM Online

Speeding Up Web Resource Development with Imposter for Fiddler

Today's post was written by William Dibbern, Principal Developer at Sonoma Partners.

Anyone who has built a web resource for Dynamics CRM can tell you how frustrating it is without the right toolset.

Since all HTML, JavaScript, CSS, and images are stored in the database, they must all be uploaded through Dynamics CRM. Without a tool, you're left locating the web resource in a solution and using a web form to upload your changes. Try to use the built-in editor and you could risk formatting issues. All over GitHub and in the SDK you can find tools for helping to keep your local files in sync with CRM's copy by uploading them through the API. While that will certainly alleviate a lot of the pain, what if we could go further?

Let's do just that and take a look at a tool called Imposter.

What is Imposter?

Imposter is an extension to the widely popular Fiddler which allows you to serve up files from your local file system in response to requests from your browser.

The way Imposter works is that it hooks into Fiddler's API to see when the browser requests a web resource from the Dynamics CRM, and it uses some simple logic to figure out which file on your local system it should send in place of whatever the server has.

This has two advantages:

  1. You can make changes in the editor of your choice (I'm really partial to Visual Studio Code, but that's a story for another day.) and see those changes reflected immediately in your browser without having to upload the file to CRM and publish every time you make a change.
  2. You can make changes to the file and test them out without affecting anyone else accessing the system. Working on a rewrite of some JavaScript but need other developers to be able to keep working with the legacy code and only have one development environment? No problem anymore!

If you're familiar with Fiddler, you may be familiar with its AutoResponder functionality and therefore may be wondering what the advantage of Imposter is over this built-in functionality. Here are a few key points:

  1. You have to setup a rule per file if you want to swap out, manually. If you're clever, you can do this with a regex to swap out a whole directory however, Imposter lets you skip the regex and map a local directory to a URL fragment so you can serve up an entire directory of files with only one setting.
  2. Imposter comes with an implementation of "hot reloading" which means whenever you save changes to your code, the page is automatically refreshed to display the latest.
  3. When you start using Imposter you'll also notice it has a concept of "profiles." Each profile is a combination of a base URL to look for (so that Imposter knows when to try to swap out files and when not to), a local directory (where Imposter will look for files that match those that were requested), and some overrides (for when your file system and CRM don't line up perfectly). With these profiles, we can support working on multiple projects at the same time. This looks a lot cleaner than a bunch of rules in AutoResponder.

How do I use Imposter?

Once you've got Fiddler and Imposter for Fiddler installed, you'll see a new icon in your menubar. If you click it, you'll see several options. Let's start with adding a profile first.

Adding a Profile

  1. Click Imposter.
  2. Click Profiles.
  3. Click Add New.
  4. Notice a setting dialog opens.
  5. For Profile Name, we enter a friendly name for our profile. This name can be anything and is simply an identifier for you.
  6. For Base URL, you'll want to enter a fragment of the URL that you're going to be asking Fiddler to keep an eye on to swap files for.

Since we're working in CRM, we can just enter /WebResources/publisherprefix_/ (where "publisherprefix" is the prefix you've chosen in your solution, by default "new") and what Imposter will do is wait for any request that contains /WebResources/publisherprefix_/ in the URL, and it will attempt to parse a file name from that string.

So let’s say your browser requests a webpage at, Imposter will see the /WebResources/publisherprefix_/ segment of that URL and will start looking for a file in the CustomSearch folder called index.html. If found, Imposter will serve that file up in place of what the server has.

  1. In the Local Directory field, you'll enter the base path on your file system that Fiddler should try to use to look for matching files. Continuing the example in the previous step, if you entered C:\MyVisualStudioSoltion\WebProject\, Imposter would look for html in C:\MyVisualStudioSolution\WebProject\CustomSearch\.
  2. If you have any files that wouldn't match the pattern given in the previous step, like if you've been uploading your web resources as html instead of "namespacing" them like new_/index.html, then Overrides are where you go.
    Tip: If you're unfamiliar with simulating directories with CRM Web Resources, you can read a basic introduction on that here. You can put in any URL fragment you'd like to match on (ex. index.html) and then past in the complete path to that file on your file system.
  1. Click Save.

Fiddler image 1

Enabling Imposter

Now that we've got a profile created, we can start things up.

  1. From the File menu in Fiddler, ensure Capture Traffic is checked. Having this turned off is like hitting the circuit breaker, no extensions will work as no traffic will be captured.
  2. From the Imposter menu, navigate to Profiles, then select your profile name, then click Enable. Note you can turn on as many profiles as you'd like.
  3. Notice in the Imposter menu now that Enabled is checked. You can quickly turn on or off Imposter from this menu without losing the state of which of your profiles are enabled/disabled.
  4. Clear your browser's cache and navigate to a web resource in CRM. You should see your local file system's changes being served up in the browser, and in Fiddler you'll see a blue highlight on web resources that were requested, matched, and replaced by Imposter.
    Tip: Fiddler’s highlighter can be glitchy, so if you want to know for sure whether a file was swapped, add the X-Imposter response header to the results grid in Fiddler.

Auto Reload

I bet you noticed the Auto Reload option in the Imposter menu, didn't you? Wondering what that is? When Auto Reload is enabled, Imposter will monitor the Local Directory in any enabled profile(s) and wait for changes. If it detects a change, any HTML web resource that was already swapped out by Imposter will automatically refresh itself to account for the newest updates. Awesome, right?

I would recommend using caution with this feature, though. If you swap out an HTML web resource hosted in an iframe, any event handlers attached to functions in that iframe could be broken when it refreshes, making the utility a little less useful. For that reason, I primarily use this feature for dialogs and fully custom pages.

Where is it?

All this talking and no links to download? Well here ya go: Imposter for Fiddler on GitHub. The tool is hosted on GitHub, so if you'd like to submit a feature request or any other changes, feel free! There is also a Wiki on the GitHub repository which has some great tips and tricks for using Imposter. Enjoy! 

Data shows no emotion

Topics: Microsoft Dynamics CRM

5 Questions to Ask When Evaluating CRM Consulting Firms


Hiring a CRM consulting firm to help with your implementation is a big investment of your company’s time, resources, and energy. There are a lot of factors that should go into an evaluation process and you should ask any potential partner a lot of questions to determine the best fit for your organization and your CRM project. 5 questions image 1

Here are five questions you absolutely must ask when evaluating CRM consulting firms.

1. What CRM systems do you work with?

There are a lot of CRM solutions out there. These platforms serve very different types of businesses and some partners work with many, while others are dedicated to only one or two.  

If you’re brand new to the CRM evaluation process, we recommend spending some time researching CRM platforms included in Gartner’s Magic Quadrant. If you are interested in assessing multiple platforms, you should look closely at partners who have experience working with these systems. With this experience, they can conduct an unbiased CRM vendor selection to help you select the CRM platform that best suits your organization’s needs.

Are you entering the evaluation process with a specific system in mind? This should narrow your search as you should focus on partners who specialize solely in the system you’re considering.

Regardless of your position, you should make sure you do your due diligence and ask any potential consulting partner what system their team knows best.

2. What is your team like?

You and your CRM partner will be working together. A lot. You want to make sure that their company values and leadership vibes well with yours. It will make it much easier to connect and work together throughout the vendor selection process (and ultimately your CRM program) if you’re able to understand and appreciate each other’s purpose and principles.

One option to further vet out your potential firm’s team is by asking for a CRM software demo. You can observe how their technical team explains complicated solutions. Challenge their developers with your questions. Make sure their team is agile and knowledgeable enough to handle tough situational questions on the spot. When they’re assigned to work with you on your project, you want to know they’ll be able to meet your specific needs.

If you need some advice on how to run an effective CRM software demo, look no further.

3. Do you understand our business' goals?

It's important to consider how your potential partner will be able to understand your unique business goals. Have they worked with companies like yours in the past? Have they solved 5 questions image 2problems like the ones you’re facing before? Do they have experience working in your industry? Explore what kind of work they’ve done for their clients in the past. By finding the answers to these questions, you’ll be far happier when you explain your current business problems and your CRM partner responds, “Oh, we’ve done something similar for another client of ours!” Working with a partner who has experience with your industry can also save you money. If they are experts in your industry, they should have existing industry-related IP that could save you development hours. Furthermore, they will be able to provide best practices and make recommendations based on previous project successes.

4. How do you approach the implementation process?

Take the time to research how your potential partner implements CRM. Is their approach set-up to adjust when your needs change? Are they going to keep you in budget and on-time? 5 questions image 3 Beware of partners who agree to an overly aggressive timeline. You want your partner to be your checks and balances, making sure that you are staying realistic and focused throughout the project.

Take the time to consider your end users and what moves you and your partner will make together to manage change at your organization post-deployment. How will this partner train your people on the new CRM system? Have they put feedback loops in place to make sure users’ feedback is taken into account after go-live? What about ongoing efforts and updates? Are they concerned about the long-term success of your CRM program or are they focused only on a quick project with little to no follow through?

5. Do you have a demonstrated level of expertise in CRM?

5 questions image 4Lastly, make sure you understand their level of expertise in the space. Explore their blog posts. Read their eBooks. Make sure you understand how they came to be the expert they claim, and whether they’re able to prove it in their thought leadership.

Check their awards page for specific honors and partnerships. For example, if you’re interested in Microsoft Dynamics CRM, look to see if they are a member of the Microsoft Partner Network. Are they a gold-tiered partner? This should be clearly marked on their website and will help further prove the firm’s credibility.

Bonus Question: Do you use offshore resources?

One other thing to consider when evaluating your potential partners team is whether they do their development in-house or offshore. In our experience, there are some serious downsides to consider before working with a partner who utilizes offshore development.

At the end of the day, you’re trusting your consulting partner to help you build a CRM system that provides real business value to your organization. Don’t gamble the success of your system on a partner you aren’t confident in. Take the time to research your partner well and your CRM deployment will be all the stronger for it.

How to get executives to pay attention to CRM

Topics: CRM Best Practices