Sonoma Partners Microsoft CRM and Salesforce Blog

Implementing Machine Learning in D365 – Part 2

This post is the final part of our two-part series on Implementing Machine Learning in D365. Head here to read part one if you haven’t been following along yet.

In part one, we built an Azure Machine Learning (AML) algorithm against our Opportunity data in D365 to come up with a probability that the Opportunity will win. In this post, we will use AML to generate a web service for us and then we will use Microsoft Flow to retrieve the probability and update newly created Opportunities with the value.

Within AML, after you successfully ran the experiment, select Set Up Web Service –> Predictive Web Service


Once it is finished, you will then have to click Run to go through the experiment again. Once that is finished you can click Deploy Web Service –> Deploy Web Service [New] Preview. You will have to create a new Price Plan (fortunately there is a free one with 1,000 transactions) and then click Deploy. Once it is deployed, you will want to click Use Web Service. On the next page you will want to make note of the Primary Key and Request-Response values as we will need this shortly.


Next, head over to Microsoft Flow and sign in with a Microsoft account. Click “Create from blank” and then search for the “When a record is created” for D365 trigger.


You will need to authenticate to D365, select your organization and then select the Opportunities entity.


Click + New step –> Add an action. Search for and select the “HTTP – HTTP” connector. We will use this to call our AML web service that we just deployed earlier. Set the Method to Post and the Uri to the value of the “Request-Response” that we noted earlier from AML. Next, add a header and set the key to ‘Authorization’ and set the value to ‘Bearer xxx’ where ‘xxx’ is the value of “Primary Key” that we noted earlier from AML. Then add a new header value with a key “Content-Type” and value “application/json”. Lastly, set the Body to the following:

    “Inputs”: {
        “input1: [
            “description”: <description>,
            “estimatedvalue”: <estimatedvalue>,
            “statecode”: 0
    “GlobalParameters”: {}

Using the dynamic content helper on the right, replace <description> from the Body by selecting Description from the list of dynamic content. Do the same for the <estimatedvalue> so that the whole HTTP action looks like the following screenshot:


Next, click + New Step –> Add an action and select Parse JSON. Using the dynamic content helper, set the Content field to the Body from the HTTP action. Set the Schema field to the following text:

            "type": "object",
            "properties": {
                "Results": {
                    "type": "object",
                    "properties": {
                        "output1": {
                            "type": "array",
                            "items": {
                                "type": "object",
                                "properties": {
                                    "estimatedvalue": {
                                        "type": "string"
                                    "description": {
                                        "type": "string"
                                    "statecode": {
                                        "type": "string"
                                    "Scored Labels": {
                                        "type": "string"
                                    "Scored Probabilities": {
                                        "type": "string"
                                "required": [
                                    "Scored Labels",
                                    "Scored Probabilities"


This will help parse the response from the AML web service call so we can get to the actual probability value that is returned.

Lastly, click + New Step –> Add an action and select the “Update a record (V2)” for D365. Set your organization and the Opportunities entity again. Then using the dynamic content helper, set the required fields to the respective values from our first trigger from D365. For the probability, I created a custom Decimal field called Predicted Probability. This field will show up in the “Show advanced options” section in Flow. Click that and find the Predicted Probability field and set the expression to the following:

mul(float(body('Parse_JSON')?['Results']?['output1'][0]['Scored Probabilities']), 100)

This expression is using the Parse JSON action we added to get to the Score Probabilities value from AML, converting it to a float and then multiplying by 100 to show as a percentage in D365. The “Update a record (V2)” trigger should look like the following screenshots:



Now you can save the flow and make sure the trigger is set to “On”. Now in D365, we can create a new opportunity. I set the Description to “Wine” with an Est. Revenue of $90. Back in Flow, you can check the Run History and make sure the Flow ran and was successful. It may take a minute or two for it to run.


Once you see a successful process in Flow, refresh your D365 Opportunity and you should see the Predicted Probability updated.


Now we have a complete round-trip from getting the data out of D365 to train it and then pushing the predicted probability back into D365. For existing records, you will want to build a process to retrieve them all and call the AML web service for each one.

Azure Machine Learning has many different algorithms (here is a nice cheat sheet) for all different types of business processes. This is just one example and will hopefully give you an idea of what you can accomplish in your own organization. If you have an questions or are interested in enhancing your organization with machine learning, contact us.

Happy Machine Learning!

Topics: Integrations Microsoft Dynamics 365 Microsoft Dynamics CRM Microsoft Dynamics CRM Online

Are you ready for change?

Today's blog post was written by Scott Hinton, Principal Consultant at Sonoma Partners.

When thinking about the Change Management required to successfully implement a CRM application, the first thing that you need to understand is whether or not your user community is even ready for the change. Most likely, they’re not. But that doesn’t mean you shouldn’t move forward with your CRM initiative! You just need to figure out how much time and effort will be required and the best approach for managing the change which can be done with a readiness assessment.

What is a Readiness Assessment?

Sonoma Partners methodology for managing the people side of change is called our primary focus during the Discover phase. Readiness assessments can take many forms but we typically use 3 tools:

Change Risk Assessment Survey

Start with a Risk Assessment Survey which is usually sent to the key members of your project team covering topics around your organization (leadership, history of change, and expected resistance) and the specific project (size of impact, type of impact, resources and training needs). From this survey, you can identify change barriers and create a plan to overcome those barriers.

Change 1

User Survey

Next, survey the users who will be impacted by the CRM initiative. Some example questions that you will want to understand include:

  • I believe that CRM will benefit our company.
  • There is sufficient executive level support for the CRM implementation.
  • I know where to find information about our CRM implementation.

From this survey, you can better understand how to address project communication, training, and sponsorship needs. A similar survey should be distributed before and after launch as well to ensure that users are onboard with the change and that your company is adapting appropriately to the feedback received.

Stakeholder Impact Assessment

Interview your key stakeholders including the leaders who are (or should be) driving your CRM initiative and map their degree of influence, engagement and change impact. Next, develop tactics to keep them engaged throughout the life of your CRM program.

Change 2

Why Assess Change Readiness

There are many benefits to assessing and managing readiness as users move from current to future state from a system, process, and people perspective.

  1. Drive user adoption through informed data driven decisions.
  2. Gain unique stakeholder and stakeholder group perspectives, needs, and priorities.
  3. Establish a baseline measurement for readiness. Future data can be measured, evaluated, and communicated against this baseline to understand sponsorship, communications, and training effectiveness.
  4. Provide a feedback loop and opportunity for users to participate in the change and voice their opinion which increases buy-in.
  5. Identify change risk and scope the change management effort.
  6. Align leaders around your findings.
  7. Demonstrate leadership commitment.

A change strategy that includes a readiness assessment increases user adoption through targeted change management tactics versus a one-size fits all approach. Unsure how to get started assessing readiness of your organization for your CRM program or unsure what to do with what you find? Give us a call, we’re happy to help!

Topics: CRM Best Practices

Implementing Machine Learning in D365 – Part 1

Machine Learning is the latest hot topic and for many good reasons. Being able to take a manual, sometimes inaccurate data point and transforming it into an automated and consistently accurate one, has huge advantages. Take for example the probability that an opportunity will close. It is up to your salesperson to input this data and you relying on it to be accurate.  With machine learning, we can automatically provide this data point and have it be consistently accurate based on historical data.

In this two-part series, I will be walking through just that, how to implement Azure Machine Learning (AML) that will provide the probability that an opportunity will win. I will be using a very simple algorithm with only a couple factors as an example. It will be up to you to come up with the factors that matter for your business and make sure your CRM has that data, in order to come up with an accurate opportunity probability.

I will be using D365 Online and the first thing we will want to do is setup the Data Export Service so we can replicate our data into an Azure SQL database which AML can easily connect with. If you haven’t set this up yet, head here for a complete guide on how to set it up. For this walkthrough, you will only need to sync the Opportunity entity but if you want to expand your factors further, you will most likely want to sync other entities.

Note: If you are on an on-premise version, you can utilize SSIS to replicate on-premise CRM database to an Azure SQL database.

Next, go to your Azure Portal, create a new resource and search for “Machine Learning Studio Workspace”


Once everything is setup, you can navigate to the new Machine Learning Studio workspace and click “Launch Machine Learning Studio”.  This will take you to a separate website where you will need to sign in using your Azure credentials.


Then create a new blank experiment:


You will then see a blank canvas where you can drag and drop different components. The first thing we will want to do is search for “Import Data” on the top left and drag the “Import Data” component onto the canvas.


Then, highlight the Import Data component and click the “Launch import Data Wizard” button on the right. Select Azure SQL Database and enter the right settings for your environment. Next, enter this SQL query:

    cast(estimatedvalue as float) as estimatedvalue,
       WHEN statecode = 2 THEN 0
    END  as statecode
from opportunity
where statecode = 1 or statecode = 2

In this query, we are retrieving the estimated value and description of the opportunity. With my sample data, the description is acting more like a “type” of opportunity. The values in this field in my org are either “Beer” or “Wine”. Estimated value and description are the two factors that we are using to determine if the Opportunity is Won or Lost. In a production scenario, you will most likely want to capture and use more data points for an accurate opportunity probability. Factors such as how long the opportunity sits in each stage, how many activities are regarding the opportunity, or maybe even the salesperson that owns the opportunity.

The first thing to note with the query is that AML currently doesn’t support decimals so we need to cast estimatedvalue as a float.

cast(estimatedvalue as float) as estimatedvalue

Next, we’re going to be using the Two-Class Boosted Decision Tree algorithm which requires us to pass it a 0 for negative and 1 for positive. We want to label the Lost opportunities as negative and the Won opportunities as positive so we use a SQL CASE statement to set the statecode value for Lost (2) as 0. The statecode value for Won is already 1 so we are good there.

       WHEN statecode = 2 THEN 0 
END  as statecode

Lastly, we only want to return Won and Lost opportunities as we are building the AML model based on what is already Won or Lost since that is what we are trying to predict.

where statecode = 1 or statecode = 2

Next, search for the “Split Data” component and drag it onto the canvas. Then, connect the Import Data and Split Data components together.


Best practice with machine learning is to split the data so that most of the data is used to build the model and the other piece of data is used to evaluate the model to see how accurate it is. That is what the Split Data component is for. You can play around with the settings to split the data how you like.

Next, drag the Two-Class Boosted Decision Tree component to the left of the Split Data component.  Then, drag the Train Model component under the Two-Class Boosted and Split Data components and connect the Two-Class Boosted to the left point of the Train Model and the Split Data to the right point of the Train Model.


Highlight the Train Model component and on the right-side and click the “Launch column selector” button. Next, enter “statecode” and click the checkmark.


This is taking a subset of the data (based on the Split Data component) and applying the Two-Class Boosted Decision Tree algorithm to it using the statecode parameter to build a model based on the Won and Lost opportunities.

Lastly, drag the Score Model and Evaluate Model components onto the canvas and make the connections like so:


This will run the other piece of data from the Split Data component and run it against the trained model and determine the score, which in our case is the opportunity probability. Then it will take that score and evaluate it to provide metrics on how well the model is.

Now click the Run button at the bottom which will process each component. Once it is finished, you can right-click Score Model and select Scored datasets –> Visualize. This will show you your data with the score columns applied. Scored Probabilities is the percent that the machine believes it is the positive value, which in our case is a “Won” opportunity. The Scored Labels column is the value of 0 or 1 for Lost or Won opportunity. If Scored Probabilities is greater than 50% then Scored Labels will be set to 1, otherwise it will be 0. More information on the Score Model can be found here.


Now right-click Evaluate Model and select Evaluation results –> Visualize. This will display a chart of how accurate your model is with data points on the accuracy. Based on your results, you can tweak the settings in the other components or bring in and remove factors and re-evaluate the model to get an accuracy that you are comfortable with. More information on the Evaluate Model and what the different data points mean can be found here.


That concludes the first part of our series. Now that we have a trained model with a high accuracy, in the next part of the series, I will show you how to generate a web service that we will use to retrieve the probability prediction and update D365 with the data. The best part is, we can use the power of Microsoft Flow to do all this without any code…stay tuned!

Topics: Integrations Microsoft Dynamics 365 Microsoft Dynamics CRM Microsoft Dynamics CRM Online

Pulling the Right Levers

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

Forget the carrot and the stick. Start thinking of how to increase user adoption in your CRM system a different way.

Start thinking of what levers you can pull to ensure a successful CRM implementation!

lev·er /ˈlevər,ˈlēvər/
noun: “a means of exerting pressure on someone to act in a particular way”

Change management is critical to all projects that want to create a change in an organization. But with CRM, it takes so much more to change behavior.

So what levers can be pulled to change that behavior?

Here are some examples of some amazing levers that we have seen clients use.

Financial levers

- Example: No commissions will be paid until the data is in CRM.

- Pros: You will get data in the system! 

- Cons: Will you get the data you want or will everyone use a just-in-time approach to shove the data in to get paid?

- Even Better: Make sure that dashboards around how the user is doing towards their goal is also in CRM. I bet they will check that regularly!

Integration levers

- Example: A new account doesn’t get created in the billing system until it is entered in CRM.  Kried 2

- Pros: You have data in the system and you reduce double entry which is a definite killer for the success of any CRM system.

- Cons: How many of those accounts are entered by an admin but no action is being taken on them until billing is needed?

- Even Better: What if you can’t expense lunch with a prospect until a record with a prospect and an activity is in the CRM system?

Simplicity levers

- Example: Tracking a meeting that I have in CRM is so tedious. However, I have this cool application that allows me to quickly add a meeting and dictate my notes on my way out of the building (no one needs to know that data goes into CRM!)

- Pros: No more going back to the hotel at night and recording what you did that day.

- Cons: Voice to text is still buggy but at least you’re capturing the data!

- Even Better: Make sure the application has the data needed before the meeting!

Accountability levers

- Example: My manager runs the report that we discuss on our weekly 1:1 report from CRM. If it isn’t in there, it doesn’t exist.Kried 3

- Pros: Reduces the amount of scrambling to put data together for meetings and ensures the data is updated, at least on a weekly basis.

- Cons: Relies on each specific manager to enforce this behavior.

- Even Better: Reinforce this behavior all the way to the top – all company meetings should be run from CRM data.

Do you have any levers that you’ve pulled to make your CRM Program more successful? We would love to hear them!

Topics: CRM Best Practices

ISV Customer Success Story: Campaign Monitor Invests in Dynamics 365 Integration

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

Campaign Monitor is the email marketing and automation platform used by some of today’s fastest growing businesses. Their technology provides their 200,000+ customers, including Chandon, Rip Curl, Topshop, Huffpost, and Virgin, with powerful tools to help drive business results through email.

CRM plays a large role in the Campaign Monitor platform. When real-time customer data from CRM is integrated with Campaign Monitor, email marketers leverage that data to send more targeted campaigns that in turn drive engagement. Campaign Monitor recognized that one of the top CRM platforms their customers use is Microsoft Dynamics 365. To ensure these customers had a seamless way of bringing CRM data into Campaign Monitor, their team decided to build an integration between the two platforms.

Campaign Monitor hired Sonoma Partners to help build an integration between Dynamics 365 and their email marketing platform.

The result of this partnership was a scalable and robust integration between Campaign Monitor and Dynamics 365 that provided their joint customers with the functionality they needed to bring the right customer data into their email marketing campaigns.

Campaign-monitor-quote- (002)

We sat down with Vibhor Chhabra, Head of Product Management at Campaign Monitor, to ask him about the project, investing in Dynamics, and his thoughts on integrating his solution with a a market-leading CRM platform.

Why did you decide to invest in Dynamics 365?

Chhabra: Our goal at Campaign Monitor is, and has always been, to build a platform for more sophisticated email marketing, while maintaining the simplicity of our product, and expanding globally. More and more of our customers want all of their subscriber data in Campaign Monitor. To bring in customer data the moment they interact with your brand is a powerful thing. You can use this data to engage in real-time interactions and market according to their behavior. By sending targeted emails based on user activity in CRM, you can ensure your messages are personalized and therefore more effective.

Beyond fulfilling a customer need, we also believe in investing in partnerships. We found the investment in Dynamics 365 to be a great opportunity to grow our partnership with Microsoft. Microsoft is a leader in CRM, and we are a leader in email marketing – it seemed fitting to join forces to better serve our joint customer base.

Why did you choose Sonoma Partners, and what was your experience in working with us?

Chhabra: I had heard great things in the market about Sonoma Partners and their advanced expertise with CRM and Dynamics 365. It became an obvious choice and one that truly served us well.

I enjoyed my experience in working with Sonoma Partners. I thought they had a very clear and professional process. Sonoma Partners came in with a plan and executed accordingly. With quite a few customers already requesting the integration, we had to significantly push up our development timeline. Sonoma Partners readily accepted the challenge and delivered. We’ve already received great feedback on the integration, and I’m very pleased with the result.

What were some of the tough decisions you had to make throughout the course of the project?

Chhabra: Balancing the functionality we needed in this integration with the delivery timeline was bound to be challenging. Is it better to get your customers something early that’s a bit simpler, or to make them wait for something more feature rich? Ultimately, we released an initial version that had a one-way sync between the platforms to get our customers up and running immediately/quickly. Shortly thereafter, we released a second version that operated with a two-way sync between the platforms. This allowed us to balance the desired functionality and delivery time.


What’s next for Campaign Monitor?

Chhabra: There is a lot on the horizon for Campaign Monitor as we continue to invest in our platform and to serve our customers above and beyond their expectations. I think this Dynamics 365 integration is just one example of how we continue – and will continue – to invest in meeting the needs of our users.

Our thanks to Vibhor for sitting down with us to discuss the project! If you’re looking to build an integration between your application and a market-leading CRM platform or to learn more about our ISV Enablement practice, contact us.

Topics: ISV for CRM Microsoft Dynamics 365

Designing Dynamics Security? Don’t Forget About Relationship Behavior

Today's blog post was written by Brian Morlock, Principal QA at Sonoma Partners.

Recently, I was testing out system access for a specific security role. This security role was setup so that a user should only have user-level permissions to the Opportunity entity, meaning that they should only be able to view and edit Opportunity records that that they own or records that have been explicitly shared with them.

Bm 1
Click the image to expand.

When I logged into CRM with a test user account who had this security role, I was surprised to find that they could see and edit some (not all) Opportunity records that were owned by other system users. 95% of the time, this would indicate that the test user is a member of a team and that team is setup with a security role that is providing the user elevated access to the Opportunity entity. When I checked the test user’s teams, I found that the test user was not a part of any teams. I also confirmed that I was looking at Opportunity records that hadn’t been explicitly shared with the test user.

At this point, it became clear that there must be some sort of data structure in place that was providing this test user access to these Opportunity records.

The commonality I discovered was that these Opportunities were associated to a Parent Account record where the test user was the owner of the Account. Aha! The test user was getting access to the Opportunity records based on their access to Account records. From a business perspective, especially for this business, this made sense, but how can this be considered when designing the security for CRM?

Answer: Cascading Parental Relationships

Bm 2
Click the image to expand.

When I viewed the relationship properties between Accounts and Opportunities in my CRM environment, I could see that the Account had a ‘Parental’ relationship to Opportunity and the Reparent setting was set to ‘Cascade All’. The key here is the Reparent setting of ‘Cascade All’. The reparent action is essentially saying, if a user is the owner of an Account, then they will automatically be granted access to any child Opportunities of that Account as if they were the actual owner of those child Opportunities.

In the example above, even though my test user was not the owner of the Opportunity, they were provided read, write, append, append to, share and assign permissions to the Opportunity simply because they were the owner of the Opportunity’s Parent Account, which is granted to them via the Reparent action of the Account to Opportunity relationship properties. Note, however, that the user will still not have permissions to delete the Opportunity, because as dictated by the security role, they do not have permission to delete Opportunity records even if they are the owner of the Opportunity record.

With the Relationship Behavior set to ‘Parental’, the Reparent action is defaulted to ‘Cascade All’ and cannot be changed. If the nature of a business dictates that the system users shouldn’t be granted permissions to an Opportunity simply because they are the owner of the Parent Account, then the Relationship Behavior can be changed to “Configurable Cascading” which allows the system administrator more flexibility in configuring the Reparent action, along with other behavior actions.

Bm 3
Click the image to expand.

Cascade All – grants ownership to all child entity records associated to the parent entity record

Cascade Active – grants ownership to only active child entity records associated to the parent entity record

Cascade User-Owner – not applicable for the Reparent action. This setting looks to apply an action to all child records that are owned by a user. The Reparent action is looking to apply ownership to child records, which the user already has. This is more applicable to the other behavior actions like Assign.

Cascade None – does not grant ownership to any of the child entity records; does nothing

Keep these Relationship Behavior options in mind if you have a complex security setup or you need to limit user access in very specific ways. They may just provide the final tweak you are looking for to create the perfect security model.

Topics: Microsoft Dynamics 365

Lights, Camera, Action: Sonoma Partners CRM Training Videos

Today's blog post and video content were created by Kristian Altuve, Business Analyst at Sonoma Partners.

Learning is not an easy process, and we all absorb and retain information in different ways. Some of us like to figure things out on our own through trial and error while others like to watch someone do it first, then practice after.

In my experience as a trainer of end users on new CRM systems, I’ve learned a variety of teaching methods.

Onsite training is always helpful to gauge audience reactions and tailor the session to meet all learning styles. I demonstrate how to efficiently navigate the system and coach users through hands-on practice. Webinars are also a popular channel for training. But learning doesn't stop there. After initial training, users may rely on their peers or software documentation to get up-to-speed. This is also why training documentation is an important deliverable when training end users.

Kristian Altuve, Business Analyst at Sonoma Partners

But let's take a look at a real scenario from a few months ago. My project manager and I were planning a training approach for a client rolling out a new CRM system to hundreds of users. How can we best support the business and the learning needs of their users? How about a video? With some spare time, I created a general video, "Getting Started with CRM," and presented it to our client. Their reaction was so enthusiastic that we completed an entire library of training videos for the various tasks users will perform in their day-to-day business. The final delivery for the training portion of this engagement was a series of webinars supplemented by quick start guides and training videos.

A few benefits of custom training videos for your end users:

  • Improves knowledge retention and information recall.
  • Accommodates different learning styles
  • Access On-demand, bite-sized learning, when your users need it.

You can check out our promotional video on custom training below: 

If you'd like to learn more about Sonoma Partners or CRM training, contact us.

Topics: CRM Best Practices

New Dynamics 365 for Field Sellers Demo Videos

Today's blog post and its video content were created by Bryson Engelen, Sales Engineer at Sonoma Partners.

We've put together two video demos of Dynamics 365 for Field Sellers in Manufacturing and Distribution. One is about ten minutes, and one is about thirty minutes. 

We know from plenty of experience that Manufacturing and Distribution Field Sellers are commonly on the road most of the week, heavily relationship-focused, and typically not tech-savvy (sometimes sealing deals with a handshake and shipping product before finance and legal can draw up a contract). This can severely limit visibility for management and lead to avoidable losses, which makes CRM appealing to the boss. But the value statement of CRM to a sales rep has to be very different.

The main benefits of CRM for Manufacturing and Distribution Field Sellers are sales performance metrics and dashboards, the ability to track customer relationships, visibility into ERP data, and getting all this on a mobile phone. CRM integration with an ERP provides a much cleaner access point to the ERP data that sales staff use daily such as commission splits, order histories, invoices, repairs, returns, and the customer's credit so when entering an order or looking at a customer, the rep can see the credit limit, overages, and past due invoices of the customer and place the order without finance blocking the sale down the line because the customer is past due. Of course, one of the core purposes of a CRM system is to present the full picture of a given account and to monitor interactions. Additionally, CRM tools can automatically identify related products for upselling and cross-selling.

Dynamics 365 can provide a great mobile experience for Manufacturing and Distribution Field Sellers by giving them a complete picture of current pursuits, closed orders, invoices, quality issues, sample and display requests, and more on an account.  Right from your phone you can have access to the owners, buyers, distributors and other people on an account, see financial data, create quick account snapshot reports, record notes, log requests, and create service tickets.  In these two videos, we demo how a Field Seller could use Outlook and D365 together on a mobile phone, leverage Power BI for analytics, in addition to manufacturing-specific account management, opportunity tracking, and more.  Below is an outline of the things covered in the video as well as the videos themselves.

  • Outlook Mobile App integrated with Dynamics 365:
    • Tracking Outlook Emails to Dynamics 365
    • Viewing Contact Details from Dynamics 365 in the Outlook Mobile App
    • Creating New Records (like Opportunities) in Dynamics 365 from the Outlook Mobile App
  • Account Overview in Dynamics 365 Mobile App
    • Recording Calls into the Account
    • ERP Data for the Account
    • Activities, Notes, Contacts, Sales Team, OneNote, Opportunities
    • Account Summary Report in in Dynamics 365 Mobile App emailed to Manager
  • Mobile Dashboard with Pipeline, Accounts, Etc. in Dynamics 365 Mobile App
  • Relationship Assistant in Dynamics 365 Mobile App – What’s Most Important to Me Today?
  • Opportunity Management in Dynamics 365 Mobile App
    • Following a Business Process
    • Activities, Products, Competitors and More
  • Power BI Mobile App
    • Overall State of Business Dashboard
    • Q&A: Ask the Robot a Question and Get and Answer
    • Predictive Questions and Insights from Power BI Robot
    • Texting an Annotated Report to a Colleague
  • Outlook Integration on the Desktop
    • Display CRM Data Against Emails
    • Replies include CRM Items like Email Templates, Marketing Brochures, Emails, and Open Tracking
  • Dynamics 365 on Desktop Browser
    • Dashboards with Slice and Dice
    • Account 360 with Orders, Cases, Opportunities, Work Orders, Equipment Tracking, Invoices, Charts, Forecasting by Units or Dollars, Sold Product
    • Account Insights – Data from External Sources bringing in News, Contacts, Industry Research
    • Opportunities – Following a Process, Approval Branching for Discounts, Document Tracking, Collaboration (Warehouse, Finance, etc.)
    • Generating Quotes and Sending via Docusign
  • Reporting
    • Dashboards with Excel-like Filters and Slice and Dice
    • Dynamic Excel Exports and Updates on a PowerPoint or from Recurring Outlook Appointment

If you’re a manufacturer with Field Service needs, don’t forget our Field Service demo video here:

Happy watching! Please contact us if you have any questions.

Topics: CRM for Manufacturing Microsoft Dynamics 365

How to Be Awesome at Sonoma Part 7: Be Fun

This post continues our “How to Be Awesome” series, highlighting exemplary Sonomans who live out the different elements of our “How to Be Awesome” list.


From people who act like pros, deliver quality work, communicate well, just do it, foster a positive environment, and manage themselves, we are in no shortage of awesomeness at Sonoma Partners. The next element of our “How to Be Awesome” list to highlight is be fun.

Yes, it’s work…but we can still have some laughs along the way. We have a team of great people, and we look to hire others who are fun to work with. Take the time to attend company events, eat lunch with others, and get to know your coworkers.

Here are some Sonomans who are fun to work with and how they do it:

Doug_croppedDoug Fighter – Principal Consultant

“Doug knows how to interject humor into meetings. He has appropriate timing to focus on productivity when necessary, but it can also help clients and Sonomans crack a smile when necessary.” - A fellow Sonoman

What advice do you have for others to “be fun”?

“Project work is full of highs and lows and the lows can be very stressful and deflating. It’s most important in those times that you find some moments of levity to remind the team that we’re in it together and we should do our best to find the fun.” - Doug Fighter

Pam Powell – Senior AnalystPam_powell_

“Pam Powell will always add a laugh to a meeting that is very dry or no one will speak. I'm grateful that she goes off mute even if it's just to respond that she can hear me. She is funny and lightens situations when appropriate.” - A fellow Sonoman

What does “be fun” mean to you?

“’Being fun’ is laughing with the team, which means not only fellow Sonomans but also clients. We spend such a large portion of our waking hours at work; it’d be a shame not to enjoy them!” - Pam Powell

Kayla_cropped-1Kayla Silverstein – Marketing Specialist

“For being here only just over a year, Kayla has really engrained herself in Sonoma. She makes an effort to know everyone, is at every event, and often around the office. She's extremely personable and is always good for a few laughs.” - A fellow Sonoman

What advice do you have for others to “be fun”?

“I think my advice for others is to be aware of your surroundings. Being fun can mean a lot of things, but above all, it’s about being a good person and a pleasant person to be around. I try and notice if someone is sitting alone at lunch and join them or include someone for drinks after work if it seems they’re having a stressful week. I believe it’s all about doing your part to create a positive work environment.” - Kayla Silverstein

Rachel Sullivan – Principal ConsultantRachel_cropped-1

“This is for sure Rachel. I always see her interacting with a variety of Sonomans, and she always comes to work with a smile and positive attitude.” – A fellow Sonoman

Why is being fun an important part of the How to Be Awesome list at Sonoma?

“At Sonoma, we look to be the best at what we do. To do this, we work in teams and learn a lot from each other. Being fun is part of what makes a team work and improve together.” - Rachel Sullivan

Kristian_croppedKristian Altuve – Business Analyst

“He is absolutely hysterical just being himself. He is so genuine and a pleasure to work with.” - A fellow Sonoman

What does “be fun” mean to you?

“Fun is a state of mind, and it takes humility to get there. I think the first step is giving ourselves the permission to “be fun.” Once we do that, the space for creativity and foolishness opens up.” - Kristian Altuve

Interested in joining our awesome team of Sonomans? Check out our open positions here.

Topics: Careers at Sonoma

Cover the Bases of a Successful CRM Deployment

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

We’ve seen customer relationship management (CRM) help organizations improve sales teams’ productivity, increase revenue, and optimize their business processes. Are you looking to invest in a tool that can transform your sales organization?

Here are a few tips to help you cover the bases of a successful CRM deployment.

Hit 1st, 2nd, 3rd, and make the dash to home to get a better sense of what you should be considering when investing in a new – or updating an existing – CRM system.

1. The Platform

Are you interested in a platform that can benefit all areas of your business? We suggest turning to the key market leaders, Microsoft and Salesforce. As you evaluate platforms don’t get distracted by impressive lists of feature/functions. At the end of the day, Microsoft and Salesforce are powerful tools that can be customized to meet your organization’s unique needs. Instead of conducting the evaluation based on features, spend your time looking at the systems your organization already uses. What integrations do you need to connect different aspects of your business? Which platform is best positioned to make these integrations as seamless as possible?


Pro-tip: We highly discourage you from building your own platform, a.k.a. a Homegrown CRM system. Microsoft and Salesforce are market-leaders for a reason. They come with next-level enhancements, support blogs, customer forums, frequent updates, and so much more. Save yourself the headache of having to make adjustments and conduct maintenance all by your lonesome. Rely on your teammates at Microsoft or Salesforce instead.

2. Executive Buy-In

 The success of your CRM lies in the hands of your leadership. Getting executive buy-in at the beginning of your CRM journey is crucial to garnering meaningful end user adoption. The leaders at your organization need to actively use CRM and support change management and user adoption programs in order to make a serious and lasting impact on your users.

3. Scalability

Customer relationship management is not just a deployment, or a project. It’s a never-ending, ongoing program, and your system needs to grow as you do. As you optimize your business processes, your solution needs to adjust and evolve. It’s critical to view the initial deployment as just one piece of the bigger picture you need to get the 360-degree view of your clients that you want.

4. The Partner

Slide into home with an implementation partner that can help you achieve your CRM goals. When selecting an implementation partner, it’s important to make sure they understand your business. Which industries do they specialize in? Do you resonate with their case studies? If you’re interesting in getting a general feel for the organization, try to attend an in-person event or demo.

Different partners have different methods for implementation. What model does this particular organization follow? Do they have a strategy for change management and user adoption? Set yourself up for success by doing your research prior to investing in a partner who can truly make – or break – your implementation.

A poorly implemented system can go stale quickly when users are not committed, or motivated, to logging information within the system. With a failed partnership, you’ll find yourself entering the selection process all over again, and no reason to “fly the W” just yet.

Are you interested in getting started on a homerun of a deployment? We’d love to help! Fill out this brief form to contact us.

Topics: CRM Best Practices