Sonoma Partners Microsoft CRM and Salesforce Blog

How manufacturers can baby step their way into the Internet of Things (on the cheap)

ManualIOTWhile at the gym today (no jokes please, yes I do make it there occasionally!), I noticed that all of the gym equipment included stickers that allowed members to text the manager about an equipment problem. This sticker included a unique machine number so that the gym manager could identify exactly which piece of equipment didn't work correctly. 

This sticker got me thinking about CRM systems and the Internet of Things (IoT). In a perfect world, all of the gym equipment could include self-monitoring tools and sophisticated diagnostic calculations that would allow the machines to report cycle information and possibly predict upcoming required maintenance. The machines would then connect to the Internet and report their data electronically to a central database. Both Microsoft and Salesforce offer comprehensive IoT technology platforms that could handle this type of monitoring and reporting. This type of IoT technology could provide a lot of benefits to both the equipment manufacturer and the gym/retail location, including reduced maintenance costs, lower operating costs and increased customer satisfaction.

I thought this sticker idea offered a clever way for them to "baby step" their way into the future of IoT. The sticker implementation provides a few benefits:

  • Saves the cost of buying and installing electronic monitoring sensors on each piece of equipment.  Stickers are CHEAP and EASY! Any manufacturer could deploy a similar system quite easily. This particular gym had me sign no less than 50 pages of paper to join, so believe me when I say they're not on the cutting edge of technology. If they can do this, any manufacturer can.
  • Sets up their reporting infrastructure to have a service / maintenance history on each piece of equipment they own. If/when they implement electronic IoT monitors in the future, they're already on their way from a reporting standpoint.
  • Centralizes service requests into a central location (via the one text number). The service desk can then monitor and report on any service level agreements they might have in place with the equipment manufacturer. They can also report on any equipment maintenance trends such as certain machines / brands break down more often than others.
  • Captures their customer's mobile information (via the incoming text). This mobile information might come in handy in future marketing and sales efforts.

Taking this idea beyond the gym to industrial equipment and commercial manufacturing, IoT continues to remain top of mind for many businesses. Most manufacturers I speak with acknowledge that IoT systems will eventually become universal on everything they manufacture...but different sub-industries carry a wide range of expectations on when IoT might hit their industry. Some "old school" industrial equipment manufacturers talk about IoT with a 10-20 year horizon, while we hear life science manufacturers thinking shorter term (next 5 years).

If you're one of the companies thinking IoT remains 10+ years away, perhaps this sticker reporting idea might work for your business in the interim? It might help jump start your IoT effort by getting your business to start tracking and monitoring individual machine data into a central system (CRM of course). If you're thinking IoT lurks right around the corner, you would probably jump right into electronic sensors and monitoring. Either way, please contact us and let Sonoma Partners help you improve customer service and operational efficiency by leveraging IoT concepts and technology to hook up your equipment to your CRM system.

Topics: CRM for Manufacturing

Need to export more records to Excel? We’ve got you covered with the OrgDBOrgSettings Editor!

With Dynamics, the default maximum record count to export to Excel is 10,000.  While this may work for a lot smaller business without a lot of data, it won’t work for most organizations.  An instance of this came up recently where a client of ours kept hitting the 10,000 record limit though they had many more records to export.

Typically in the past, if the customer was CRM OnPremise, you would be able to access this setting (along with the other OrgDBOrgSettings) using direct SQL.  Updating these values with SQL definitely wasn’t supported, but at least you could have conversations of updating the settings if you had individuals that knew what they were doing, or you created a support ticket with Microsoft to help you out.

However, if you had CRM Online, these settings weren’t available to you through the UI or even through SQL since with Online, you don’t have direct SQL access to your database.  What can you do?

That’s where the OrgDBOrgSettings editor comes in to play.  You can download the managed solution from this link.  The process to get it installed and use it is pretty simple.  Download the managed solution from that link, import it in as a normal solution into your environment, and then open up the solution.

From the configuration page of the solution, you’ll see the different settings that you have access to, what the default value is, what the current value is, and what the maximum value is (there are some limitations – you cannot update the MaxRecordsForExportToExcel to 500,000,000).


To edit a value, either double click on a row, or click the Edit link in the row for that setting.  When you do so, you have the option to set a custom value, or revert back to the default.  A checkbox at the bottom of the configuration page can be set or unset which will display a prompt to confirm the change upon making an update.



If you try to set a value over the maximum, you’ll get a message stating the requested change wasn’t saved, and the value will remain as it currently is.


This is a great utility to make supported updates to the OrgDBOrgSettings without having to reach out to Microsoft Support.  For a full list of all the settings that can be updated and a description of what the setting drives, navigate to this link.  Also, for more explanation on how to use the tool and what it can be used for, see this post from Sean McNellis who created the solution.  While this solution has been available for some time now, we’re hoping this is a great refresher to let you know what tools are available for free to help you make changes on your own.

Topics: CRM Best Practices Microsoft Dynamics CRM Microsoft Dynamics CRM 2013 Microsoft Dynamics CRM 2015 Microsoft Dynamics CRM 2016 Microsoft Dynamics CRM Online

Marketo Triggering MSCRM's Duplicate Detection

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

For those that may be unfamiliar, Marketo’s solution offers marketing automation, email, and many other services. 

We recently ran into an error while working on a Marketo integration with one of our clients, where the solution wasn’t obvious at first.  We saw the following error logged when certain updates were pushed to MSCRM contacts:

“A record was not created or updated because a duplicate of the current record already exists.”

It seemed odd that updates from Marketo were triggering MSCRM duplicate detection, as we only allowed Marketo to update a couple of fields that were not a part of any criteria for duplicate detection rules in the CRM organization.

In general, making create/update calls against the MSCRM API will not trigger duplicate detection unless explicitly specified through the use of the SuppressDuplicateDetection parameter.

What's interesting about SuppressDuplicateDetection is that if you explicitly specify it as false while updating a record, even when the fields that are being set in the update are not a part of the duplicate criteria, MSCRM will still throw a duplicate error if the existing record already matches another in the system.

For example, if you have 2 contacts (ContactA and ContactB) in MSCRM with the same email address, and a duplicate detection rule that matches on email address, updating any field on the contact (job title, for instance) will still trigger the duplicate detection exception. 

The following code demonstrates this:

In this example, the duplicate detection error will be thrown because ContactB is already a duplicate of ContactA, due to them both having the same email address, even though email address is not altered in this update request.

We discovered that Marketo has a few internal flags, not exposed to end users, for suppressing MSCRM duplicate detection errors when creating/updating lead records or when updating contact records from Marketo to MSCRM.

My assumption is that Marketo explicitly sets SuppressDuplicateDetection to false when making MSCRM API calls. The internal Marketo flags are then used to dictate the value of SuppressDuplicateDetection passed to MSCRM. We worked with Marketo support to get this flag updated for our customer's Marketo instances and now all our changes in Marketo are flowing back to CRM as expected.

Contemplating your own Marketo Integration?  Let’s work together!

Topics: Microsoft Dynamics CRM

How to Plan Test Data for Testing Mobile Applications, Part 2

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

The last blog post I wrote about this topic covered the “Who” and the “What” of planning out test data for mobile apps.  Now, I will focus on the “Where”.

The “Where” – Where are your test users, and where are you?

As a tester, where you are located and where your test users are located, are integral components of mobile app testing. Like data security I mentioned in my previous post, this is another great place to look for defects. First let’s look at where your test users are.  If you have a global implementation, differences such as language, currency, and time zones can cause instability in the app if not tested properly. While difference in language and currency are fairly noticeable in a mobile app, how data syncs to a back-end system in different time zones is more subtle.

The first step is to make sure the following questions get answered:

  • What languages will this app support?
  • What currencies will this app support?
  • What time zones will the users be in?

When considering test cases for language, we will want to review the app in multiple languages. But there’s more to it than just that. Some test cases that are important to check include the following:

  • Make sure that when entering special characters in a language other than English, they display properly in the app, and in the back-end system when data is synced.
  • Make sure any text (field labels, instructions, demo modes) in the app display their special characters properly.
  • Field and label length. In some languages, the translation of a word is significantly longer than its English counterpart, or the word can translate into a multiple word phrase.  You will want to make sure these labels take up proper screen real estate in other languages, and don’t overlap other text on the app.

We have similar potential pitfalls with currency as we do language. Consider the following when writing test cases:

  • Make sure that when entering currencies other than USD, they display properly in the app, and in the back-end system when data is synced.
  • If the currency symbol is to be stored in the back-end system, make sure the correct one is associated to the value.
  • Make sure any text (field labels, instructions, and demo modes, for example) in the app displays the proper currency symbol, and the proper punctuation. For example: in USD, we’d expect to see an amount like this: $1,000.00.  In Japanese Yen, we should see it as this: ¥109,416.48.
  • Field length. Similar to language, make sure that when you enter a currency amount, that you can enter a large number. Going back to the amount in Yen, that number gets large very quick, so ensuring that those large amounts (both positive and negative) can be entered and properly stored in the back-end system is crucial to the success of a mobile app implementation.

Time Zones can be tricky if you are only dealing with a few that are close, like just the continental United States. Not taking into account time zones when testing can cause various issues with display and with actual data. Birthdates can be off by a day, policy effective and cancellation dates can be incorrect, and the ramifications of these issues are significant.  The good news is that you won’t need someone from every time zone to test if dates work across multiple time zones. You only need two: the one that you are currently in, and one additional time zone. If the test fails for the one additional time zone, it’s going to fail for all of them. Conversely, if it passes for one, it should pass in most scenarios (edge cases notwithstanding).  Here are some examples of what should be tested with time zones:

  • If someone is born on 1/1/1980, and this is logged into the app while in GMT, it should display as 1/1/1980, regardless of where the app is being accessed from in the world.  A user accessing this data from a different time zone should not impact this date whatsoever.
  • Effective and/or Cancellations dates. If you start an insurance policy, for example, your policy will have an effective date and time.  If you start your policy on 5/1/2016 at 12:00 AM GMT, then this should display in CST as 4/30/2016 at 7:00 PM, since this is the exact same time.

Regardless of the time zones that the app will be distributed to, testing with two time zones that are far apart from each other is the easiest way to spot defects, because the dates could then show as being off by one day.  I recommend whatever time zone you are currently in, and another one that has a 12 hour time difference.

The next important “Where” question, is where are you?  Where are you physically located, and where are you going with this app? This deals with how your app connects to the internet, and how it should behave when you are offline. It is important that your app is able to handle changes in internet connectivity. If this is an app that people will be taking into areas with little to no connectivity (hospitals airplanes, etc.), gracefully handling the app being online vs. offline is important. 

Here are some ways to test connectivity:

  • Test app functions (browsing, entering data, map functionality), while connected to a wireless network.
  • Test app functions (browsing, entering data, map functionality), while connected to a cellular network.
  • Test app functions while offline.

So, those seem pretty obvious, but the interesting stuff happens when you transition between each of these connection methods. To do this correctly, I recommend taking a walk (yes, a physical walk) with the app. When testing an app at work, this is a typical process that I go through:

  • Start in the office, connected to a wireless network.
  • Start walking around the office, making sure functionality continues to work, and any syncing or storing of data to a back-end system functions properly. I’d also make sure that maps are showing as I expect them to, based on my location and what other data points should be showing.
  • I’d walk out into the hallway, and wander around a bit. My wireless connection will drop and connect to a cellular network.  I want to make sure the app gracefully handles the switch, and that data entry, data display, and data retrieval are not interrupted with an unnecessary error or alert.
  • Then, I’d get into the elevator and watch my connection drop completely. Now I want to make sure that the app handles the switch to being offline. Does it display proper messaging, so that, as a user, I can visibly see that I’m offline? Does the app continue to work without crashing when submitting requests? Does any map functionality stop working and gracefully displays proper messaging to let the user know the map is not accessible (or display a stock image)? Does the app queue up requests that need to be synced to the back-end system, so that there is no data loss while working offline?
  • After my elevator ride, I’d get off and resume my connection to the cellular network. Is the switch handled well? Does my app now indicate that I’m online? If data is expected to sync automatically, does this happen now that I’m back online?
  • Then I return to my office, automatically reconnect to the wireless network, and resume testing. If I did not see any connection issues going from Wi-Fi to cellular, I wouldn’t expect to see any going from cellular to Wi-Fi, but if you’re walking that way, you might as well get some extra tests in.

Adding the “When” scenarios to your tests will start to broaden your scenarios and show you how this app will be working in real world scenarios. Enjoy the walkabout and prevent defects from entering your app once it’s live.

Happy Testing!

Topics: Enterprise Mobility

CRM Upgrade with SQL AlwaysOn

Today's post was written by Neil Erickson, Development Principal at Sonoma Partners.

As a firm that specializes in CRM consulting, we are proponents of using the technology we sell in our own processes. 

When upgrading to Dynamics CRM 2015 we went through the effort of moving to new hardware for both the CRM servers and SQL server. We decided that it was time to implement SQL AlwaysOn for redundancy.  A year later when it was time to upgrade one of our systems to CRM 2016, we elected for an in-place upgrade since both Windows and SQL remained up to date.

The upgrade process was going along without issue until the following error occurred:

System.Exception: Action Microsoft.Crm.Tools.Admin.SetReadCommittedSnapshotIsolation failed. ---> System.Data.SqlClient.SqlException: The operation cannot be performed on database "Grapevine_MSCRM" because it is involved in a database mirroring session or an availability group. Some operations are not allowed on a database that is participating in a database mirroring session or in an availability group.

Microsoft Dynamics CRM with SQL AlwaysOn

Upon reading the exception, my first thought was that we would need to completely undo the availability group and then rebuild it once the upgrade was complete.  Due to the size of the database, I expected that this could add an additional two hours to the upgrade process. 

Luckily, this process was not as lengthy as I imagined.  It was possible to go in and remove it from the Availability Group and have the upgrade process retry the action.

Remove Datasbase from Availability Group

This leaves the database running on what was the Primary Replica, and in the restoring state on the secondary.





Once the upgrade finishes you can add the database back to the availability group. Because the secondary is still in restoring mode, it will simply catch up the changes. This takes considerably less time than a full backup and restore cycle, and it can be accomplished by selecting “Join Only” for your initial data synchronization preference.

Topics: CRM Upgrade Microsoft Dynamics CRM

How to Be Awesome at Sonoma Part 1: Act Like a Pro

Awesome2This post is the first in our “How to Be Awesome” series, highlighting exemplary Sonomans who live out the different elements of our “How to Be Awesome” list.

Here at Sonoma, we seek out and encourage awesomeness. But what exactly does it mean for someone to “be awesome”? In this blog series, we’ll cover the list of attributes that we believe make up an awesome Sonoman.

First, act like a pro. This can mean a lot of things, but to us, we’ve identified the following: Be there and on time. Behave appropriately and observe proper etiquette in front of clients and key partners, acting with integrity and honesty.

It’s one thing to talk about it, it’s another thing to put it into action. Here is how some Sonomans have exhibited pro-ness:


Anthony Mancuso – Sales Engineer
“Anthony Mancuso handles complex, multi-hour, stressful projects with calm and efficiency. He’s a complete pro.”

“Fantastic energy and positive in each interaction.”

Why do you think “Act Like a Pro” belongs on our How to Be Awesome list?
: One of my favorite quotes is, “Integrity is doing the right thing, even when no one is watching.” I know coming in to work every day, I’m around people who are integrity-driven professionals whether they’re in front of clients, partners, vendors, friends, or family.

Keith Mescha – Principal Architect Keith
“Keith is exceptional at understanding client needs and taking care of issues before anyone has even had a chance to notice them.”

“This guy is a champ; he is organized, knowledgeable, and effective. These qualities allow him to lead both our internal team and our client team. He supports and challenges his team and takes responsibility for his own actions.”

How do you act like a pro?
: It really comes down to having a passion for what you do and building off experiences. If you fully immerse yourself into a problem or situation and expect to be successful, you have a better chance of it happening. Humility is key. We don’t know everything nor can we be expected to. Find the right people and relationships to surround yourself with for the right help. Don’t be afraid to share and talk through your technical problems, and pay attention to what is happening around you in your field. Try things! This may lead to breaking things, but you will learn from those experiences too.

It’s important to act like a pro because we are. We get paid to do what we do, so taking responsibility, being organized, and delivery is essential to both personal and company growth.

Ariel  Ariel Upton – Marketing Manager
“Ariel does a fantastic job at organizing our conferences. I recognize it has to be very stressful/frustrating at many points throughout the process, but she pulls it off with positivity and enthusiasm and always gets results.”

“Ariel absolutely kills it! She is juggling many different responsibilities, and I don’t know how she does it…but she is amazing and inspiring.”

What does “Act Like a Pro” mean to you?
: Acting like a pro is getting the job done through equal parts preparation and flexibility. I know my role. I know what is expected of me and required of me, and because of this understanding, I can adequately prepare to accomplish what I need to do. That being said, life happens and things can quickly change course. When a situation arises that requires me to be flexible, I know that I can pivot my attention and adapt to the situation at hand without losing my cool or my focus. 

Think you’ve got what it takes to join our awesome team of Sonomans? Check out our open positions.

Topics: Careers at Sonoma

Could Siri Power Your CRM App?

Today's post was written by Kyle Gerstner, Principal Consultant at Sonoma Partners.

The WWDC script has been the same for the past few years; go through Mac, iOS, Watch, Apple TV, and show off some cool new features that have been developed. 

Usually, these features are consumer focused and don't have a huge impact on enterprise mobility. That being said, something was announced this year that could greatly improve the user experience of enterprise applications.

We don't have a lot of information yet, but Apple has opened up the Siri API to developers.  This will be accomplished through a new API called Intents. This allows a developer to enable their application to respond to a request the user has asked Siri to complete. The demo during the WWDC keynote focused on consumer use cases, including examples such as hailing an Uber or sending a text message through a 3rd party application. We're excited to get more details as they come out and see if there are opportunities to trigger actions in our applications.

Let’s look at how this could impact one of our applications: Activity Tracker.

Our Activity Tracker application is built for iOS and allows you to search across CRM contacts and accounts, view basic information, record activities, and create new contacts.  While we have made every effort to make the user experience very streamlined, it would be much better to be able to ask Siri to look up John Smith's phone number, or even start a phone call to him.  Could we ask Siri to add a note to the Sonoma Partners account and dictate the text of the note?

We don't know what will be possible with this new API, but we are very excited about the prospect of it.  It also shows that Apple is becoming more willing to open up their APIs to 3rd party developers.  Apple announced developer access to a few other APIs that aren't relevant to the enterprise market, but shows their willingness to allow 3rd party applications to feel like they are built into the OS.  We hope there is more good news on the horizon.

Are you interested in learning more about enterprise mobility? Contact us to get the conversation started.

Topics: Enterprise Mobility

Script Error on Case Form in CRM 2016

Today's post was written by Angel Shishkov, Senior Developer at Sonoma Partners.

We have been doing quite a few upgrades to CRM 2016 lately and running into the occasional error or bug. In this blog post I’d like to share one that took a case with Microsoft Support to track down.

Script Error on the Case Form

We did an in-place upgrade of a 2015 CRM Online org to 2016. During the regression testing, we found a script error appearing on load of the Case form. As with other internal CRM script errors, the error report dialog does not appear until you refresh or navigate away from the page. When you click on Download Log to view the log file, you see one of the two error messages below.

Unable to get property 'getPageData' of undefined or null reference

Unable to get property 'firstChild' of undefined or null reference

In both cases, the Case form functions normally and the user is not affected, except for having to dismiss the error dialog.

Tracking Down a Fix

After spending a bit of time troubleshooting, we determined the error is from internal CRM scripts during the form load, probably related to a field on the form, and it was not caused by one of our custom scripts. We also found that the issue only occurred with Turbo Forms turned on. With “legacy form rendering” enabled, the error went away. We proceeded to open a Microsoft Support case.

Microsoft Support quickly determined it was a Turbo Forms defect related to a hidden control on the Case form. They are currently working on a fix for this issue and I expect it will be out after 2016 Update 1, which is also when the legacy form option is being deprecated.

You can read more about the Turbo Forms update in our other blog post.

Implementing the Workaround

Meanwhile, Microsoft Support provided us with a workaround. They directed us to remove the control from the form XML and the error went away. Here are the steps you need to follow to implement this workaround yourself.

  1. Create a CRM solution and add the Case entity to it. Do not add any of the dependencies. Export the solution as Unmanaged.
  2. Make a copy of this solution file and store it - always good to have a backup.
  3. Unzip the exported solution file and use a text editor like Notepad to open the customizations.xml file.
  4. Search within the file for “CaseResearch_LinkControl”. You should find two occurences of this control.
  5. For each occurrence of “CaseResearch_LinkControl”, select and delete the entire parent row of the control. The entire row XML should look something like this:

  6. Once you have deleted both <row> sections, save the customizations.xml file and add it back into the exported solution zip file.
  7. Import your updated solution zip file back into CRM and publish.
  8. This will resolve the script error, though you may need to clear your browser cache and/or restart your browser.
  9. Microsoft Support did not clarify what this hidden control is used for, but you will have a backup of your original Case form in case you want to put it back after it is fixed.


Topics: Microsoft Dynamics CRM 2016 Microsoft Dynamics CRM Online

Better Integrate Your Email With Salesforce with SalesforceIQ Inbox

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

SalesforceIQ is a product that Salesforce launched last year and includes the following two offerings:

  • SalesforceIQ CRM: a lightweight CRM offering intended for small businesses
  • SalesforceIQ Inbox: a suite of mobile and desktop productivity apps that helps users to better integrate their email inboxes with the Salesforce Sales Cloud

As we typically partner with clients looking to implement Salesforce, this blog post will focus on the SalesforceIQ Inbox functionality which is a great complementary product for existing Salesforce Sales Cloud users. 

The most common use case for SalesforceIQ Inbox that I see with my clients is providing email integration with Salesforce from your mobile device. 

Without SalesforceIQ Inbox, when you send emails through Salesforce1, they are sent through your mobile device's mail program and will not be logged within Salesforce. Often for mobile sales teams, a lot of their day can be spent on their mobile devices reading and sending emails with customers and prospects. Having these email interactions logged within Salesforce is critical to maintaining a 360-degree view of that customer within your CRM platform.

Although it offers much more, I often describe SalesforceIQ as the "Salesforce for Outlook" for your mobile device. Similar to Salesforce for Outlook, SalesforceIQ Inbox will allow user to:

  • Easily log incoming and outgoing emails in Salesforce
  • View suggested Salesforce records related to the email based on the email addresses in the message
  • Search for any additional record (custom or native) in the Salesforce to relate your emails to
  • Create new Salesforces Contacts/Leads/Opportunities/Cases/Tasks from your email inbox

Beyond the capabilities that Salesforce for Outlook offers, SalesforceIQ Inbox also provides a lot of other cool features that provide significant value to your sales team. I'll focus on the features that I most commonly hear from my clients:

  • Salesforce Email Templates: From your email inbox (mobile and desktop), users are able to use Salesforce Email templates. Users are able to select the Salesforce records that the email is related to in order to ensure that email merge fields are populated correctly.  This functionality is not available with Salesforce for Outlook or Salesforce1 but is a very common use case for many of my clients.

  • Smart Scheduling: When trying to set up a meeting, users can share their availability with their customers and allow them to select a time based on their availability. The customer will select a time by click on a link in an email which will automatically add a meeting invite on your calendar and send them a meeting invite email as well. NOTE: This functionality does not integrate with Salesforce events.

  • Read Receipts: Users can receive read receipts on emails that are sent from SalesforceIQ. This will allow user visibility into whether customers are looking at their emails and drive their follow up actions.

  • Integration with Salesforce1: Although users can see high level information about their Salesforce records in SalesforceIQ Inbox, users can easily launch Salesforce1 to view or manage their full Salesforce record. What I love even more is from Salesforce1, when users select the standard "Send Email" quick action, it will allow them to launch SalesforceIQ Inbox to send the email instead of using their mobile device's mail program.

  • Cloud File Storage: Users can easily access and send email attachments from their email inbox, Google Drive, Salesforce Chatter Files, Box, Dropbox, and iCloud.

  • Desktop Apps: All of this functionality is also available through Desktop apps for Office 365(Outlook Add-In) or Gmail (Chrome Extension).

If your company is interested in using SalesforceIQ Inbox, there are a few other things you should consider:

  • SalesforceIQ Inbox does require an additional license (pricing available on com)
  • The SalesforceIQ mobile app (available for iOS and Android) is a separate mobile application. However, this mobile app integrates seamlessly with Salesforce1. 
  • SalesforceIQ integrates with your Microsoft Exchange (2010, 2013, 2016), Office 365, or Gmail inboxes. Other email providers are not supported.

If you have any questions about SalesforceIQ Inbox, please contact us.

Topics: Salesforce

Microsoft Announces Dynamics 365 Integrated Cloud Platform

Today's post was written by Kayla Silverstein, Marketing Specialist at Sonoma Partners.

A rivalry well-known in the CRM space: Microsoft Dynamics vs. Salesforce

Microsoft took a significant step to improve its CRM solution and upstage its cloud-based competitor with the announcement of a new application: Microsoft Dynamics 365.

Available this fall, Microsoft Dynamics 365 combines Microsoft Dynamics CRM and ERP cloud solutions into a single cloud service. New purpose-built applications within the tool help manage specific business functions, including Financials, Field Service, Sales, Operations, Marketing, Project Service Automation, and Customer Service.

Microsoft addressed the launch of their new solution with the following:

“Business processes are at the core of every business. Across all industries our customers are looking to adapt their customer engagement and business operations processes to the digital era, to secure and expand their businesses. This ‘digital transformation’ requires a degree of business process agility – and a unification across the business – not supported by the traditional ‘siloed’ ERP and CRM approach of the past.”

The unveiling of Dynamics 365 provokes interest within the CRM world for a variety of reasons:

  • It demonstrates the increasing demand for CRM within a cloud environment.
  • It represents the need for an integrated business solution and the desire to simplify the massive amount of tools businesses are expected to utilize.
  • It shows that Microsoft understands the need to be nimble in the CRM world to compete with other market leaders.

Microsoft also recently announced their intention to acquire LinkedIn. The ability to combine CRM, ERP, Office 365, and LinkedIn is a useful one, and it could stand to give Microsoft a bit of an edge over industry rivals Salesforce and Oracle.

One thing is for sure: the real winner is the consumer. As these companies compete fiercely for market share, the consumer will benefit from ongoing innovation and acquisitions.

Topics: Microsoft Dynamics CRM