Sonoma Partners Microsoft CRM and Salesforce Blog

Activity Feeds Are Made of This

Today's blog post was written by Ross Talbot, Principal Developer at Sonoma Partners.

Collaboration within your organization is vital to your success. Your teams may have different focuses, but they still want cross-selling visibility. The key is ensuring that information reaches the appropriate people in your organization to better serve your customers. In this series, we will focus on a few options for collaboration within Microsoft Dynamics CRM. 

We start with Activity Feeds because they are built into Dynamics CRM. Introduced in Dynamics CRM 2011 in an update after its initial launch, Activity Feeds are enabled when you create a new instance of Dynamics CRM. 

The first place you encounter the posts are the social dashboards in CRM such as the Sales Activity Social Dashboard or Marketing Social Dashboard. You can see the feed similarly in the “What’s New” area in the CRM sitemap. This feed view will show post records that are regarding your user record, your user is @mentioned in and posts regarding or @mentioning records that you follow in CRM.

Activity 1

You can also see the feed filtered down to records that are regarding or @mention a specific record by looking at the social pane on the record’s form.

Activity feed 2

Posts are denoted as either system generated or user posts.  User posts are manually created by users or by code on behalf of users (such as in a plugin). System generated posts are created from the activity feed configuration under the Settings->System area of the sitemap. 

Activity feed 2c

Here we can see which entities have been configured for Activity Feed posts. 

Activity feed 2d

We can take a look at all rules in the CRM organization via the Activity Feed Rules as well, however we will typically be looking at rules related to a specific entity.  In our case, let’s take a look at Opportunity.  Here we see that there are already 10 related rules on opportunity.  We see that a post will be generated when a new opportunity is created for a contact. 

Activity feed 2e

The text for a system generated is not something that can be altered, so if there is anything specific to the content of a record (more than the primary attribute of the record and links to the related record) this would require a workflow or plugin to dynamically set the text of the post instead of leveraging these native rules. As we create new opportunities and cases, we see the system generated posts created below.

Activity feed 2f

Users can now comment as replies to these system posts or add new posts for a record if there is more to be said regarding status, information that others may have, or just cheering a repeat customer.

Activity feed 2g

Activity feed 2h

Security regarding Activity Feeds is set in security roles as on or off (organization wide or none selected). Users are either allowed to view posts or not, and this is not context specific to the records related to the posts. User follows on the related records will affect visibility of these posts in the What’s New areas on dashboards, however, so users can target specific records that they want to see for the related activity posts. 

Activity feed 2i

In summary, Activity Feeds are useful for light collaboration within your CRM system. With a little configuration, you can see system generated messages that help alert the team to new opportunities, service requests, customers, or team wins. You can leverage user posts to help conversations along and have conversations within your CRM system regarding opportunities, support cases, or even shared contacts. If you are looking for ways to bring more collaboration into your CRM world, the easiest place to start is a tool that already exists in your system. If you travel that world and the seven seas and you’re still looking for something that fits your need, stay tuned for our looks at additional collaboration tools that integrate with CRM.

Topics: Microsoft Dynamics CRM

CRM Online 2016: Exporting a Data Import Template Error

Today's blog post was written by Keith Mescha, Principal Architect at Sonoma Partners.

Recently, I was working with a client to setup some test users in a sandbox for integration testing around assigning users to records in CRM. They were struggling with how to get this subset of users into the sandbox without having to go through the provisioning and 0365 process of creating the users in CRM. 

My advice was to just use an import template for the user entity and import the users you want for testing. The users will get created in the org as "disabled" and not consume a CRM license. They would then be able to test the integration and ensure it was working as intended.

Not too long after providing this advice, my client replied that they could not download the template due to the error, “A duplicate column heading exists.” The error didn't say what was duplicated, and they couldn't even get to the downloaded template to see, so they were not sure what to do next.

Keith 1a

Keith 2a

I had a hunch, so I started to look at the customizations for the particular entity. To my surprise, after a bit of digging I noticed that we had three fields on the user entity in CRM all with the display name “Manager.”

Keith 3a

I could only assume that this was the issue as it uses the display name for the column headers in the import template, so I changed two of them temporarily and republished the customizations.

Keith 4

With that change, they were able to download the template just fine. The error was pretty descriptive, but they could not figure out what the issue was. Of course, a customization best practice is to not have three  fields with the same name. Additionally, after discussing with the customization team on this project, we quickly realized that we had created a custom field when there was a native field that did the same thing, so we removed our custom lookup back to user for the manager field.

If you have CRM customization or integration needs, reach out to us and let’s see how we can help.

Topics: Microsoft Dynamics CRM Online

CPQ for Manufacturers and Distributors

Today's blog post was written by Nathen Drees, Senior Developer at Sonoma Partners.

Cpq manu

Quoting is a difficult process. It takes a lot of time, energy, and attention to detail to do it correctly. It is made doubly difficult when you are attempting to do many quotes a day in a transactional setting, reducing the amount of time you have to think about each quote and the amount of effort you want to spend digging through the various systems to find the correct prices. It is further complicated by the fact that often times the client has negotiated special pricing on certain items, and often this information is in yet another system disconnected from the quoting tool or isn’t in any tool at all.

When we sit down with our manufacturing clients to talk through pain points in their sales cycles, we inevitably arrive at quoting.

It is not uncommon for us to see sales reps quoting out of Excel or having to dig through ERP, Account Management, and perhaps even other Excel docs to be able to put quotes together, all while under pressure to deliver more quotes to clients. The net effect is that it is not uncommon for quotes to be incomplete or inaccurate on both list prices and customer negotiated prices, or simply discounted beyond profitability in the attempt to close the deal and generate a new order.

Often times, when we start investigating this with the sales team, we sense a hesitance to talk about the problem. Everyone at the business knows that quoting is difficult and that the current process is imperfect, but nobody knows what to do about it. Management wants visibility into margins and quote volumes; sales reps don’t want to dig through multiple systems or documents to put a quote together. Everyone wants the quotes to be created quickly and accurately the first time, reducing the need to create updated quotes due to simple mistakes.

If this sounds familiar to you, then fear not: you’re not alone. We have seen this situation many times and have helped our clients build an integrated solution inside the CRM based off of CPQ functionality. In doing so, we give both management and the sales team tools to allow quick creation of accurate quotes, reporting on margins and quote volumes, enforcing sales methodologies and pricing structures, and automatically applying negotiated prices and discounts for the customer to the quote. The net effect is that your sales team can create more quotes, accurate the first time, increasing sales and reducing stress for everyone involved.

C is for Configuration

C configure 1

When talking about creating a quote, a common requirement that comes up is the need to enforce rules around which products can be sold when and in what configurations. When talking about configuration, we most often see the following requests:

  • Exclusive products (You cannot sell Product A with Product B and vice versa)
  • Required products (Product A must always be sold with Product B)
  • Quantity values (You can only buy Product A in units of 5)
  • Relative Quantities (You must buy 1 Product A for every 5 Product B)
  • Cross-sell products (Suggest and optionally add Product B when adding Product A)

This list is by no means exhaustive, and we have developers and CPQ experts on staff to build any configuration you need.

P is for Pricing

P 2

Pricing is the heart of the quote, and usually also the most complicated part. It’s not uncommon to have multiple factors play in to the price of a single line item on a quote. To ensure accurate pricing, we have experience assisting our clients in:

  • Integrating with an ERP, ensuring product pricing and availability is always up-to-date and available for the sales team to use without leaving CRM
  • Configuring discounting schedules, allowing for the automatic discounting of products based on criteria such as meeting a quantity threshold
  • Configuring pricing methodologies, allowing pricing to be viewed in terms of list pricing, cost + margin pricing, block pricing, and custom pricing
  • Automatically applying previously negotiated product prices and discount scheduled for a customer, freeing the sales team from having to manually apply it

In addition to ensuring accuracy of the quote price, we also can assist with:

  • Approval processes based on multiple factors, to ensure no quote is presented to a client unless it meets the sales requirements of your team
  • Margin calculations and reporting, to allow management to forecast profitability
  • Quote auditing, to allow management to track the sales team’s activities

Q is for Quote

At the end of the day, the sales team needs to present a formal quote to the customer. We can assist with creating branded quote templates that are automatically filled with the correct data and emailed to the client, all without leaving CRM.

Let Us Help You

If you are looking to improve your quoting process, let us help. We bring with us industry-wide experience and have in-house experts on CPQ. We can help you work through the decisions needed to successfully build and deploy a CPQ solution on top of CRM, empowering your sales team to make smarter, more accurate quotes the first time, every time.

Still not sure if we are right for you? Have questions that we didn’t address here? Just want to talk to a human being? Contact us and we’re happy to talk.

Topics: CRM for Manufacturing

Customer Success Story: Wacom Consolidates Global Business with CRM

In order to better equip their customers with the creativity-enabling tools they manufacture, Wacom needed to get a better tool of their own – one with a 360-view of their global customers.

Who is Wacom?

Wacom develops, manufactures, and sells tablet pens and displays to support creative projects such as movies, games, photo imaging, and consumer product design. Their devices are integrated into smartphones and tablets, and, while headquartered in Japan, Wacom has offices around the world.


Going Global

Wacom has always believed in the power of CRM. They felt the need to reinvest in the tool when they realized their current iteration of Microsoft Dynamics CRM wasn’t helping them reach their business goals. Specifically, they believed CRM was preventing them from operating as a single global organization.

First, a bit of history. Up until two years ago, Wacom was a publically traded company with separate regions that operated autonomously. Each viewed themselves as their own entity, using their own methodologies and business practices. Operations differed by region and objectives, and products were inconsistently sold.

It was apparent that this disjointed model was not working in their favor. Wacom decided to replace the loosely connected companies (roughly segmented into their respective regions: U.S., Japan, and Europe) with a single CEO, one CRM system, and a complete commitment to operating as one organization.

Along with the effort to truly invest in going global, Wacom had ambitions growth plants to move into the greater B2C market. Wacom has always created niche products for creative professionals. For a long period of time, they were the gold standard and owned the space. Over the past two years, Wacom has made a big move to become an active player in the B2C space. They recognize the need to move faster and be more innovative in order to compete with like Amazon and Cintiq.

Their current instance of Dynamics CRM was failing them in a few different ways. For one, the platform was rarely taken advantage of to share information across the organization. With regions operating independently – and sometimes “in the dark” – opportunities were lost and product information would be missing. Furthermore, this made introducing a global branding, marketing, or sales initiative nearly impossible with no way to coordinate between regions.

Another big issue for Wacom: duplicate information. Master records were hard to identify. The band aide solution Wacom’s divisions had clung to for so long was to just create more content, rather than first looking for what information was already there.

Lastly, they found inefficiencies in their selling channels. Wacom sells through retailers and distributors, using SAP to manage orders. Because each region has their own laws and compliance regulations, business processes weren’t being adhered to on a global scale.

Wacom decided to move from Microsoft Dynamics CRM On-Premise to Online based on their existing commitment to Microsoft solutions. Wacom found a strategic partner in Sonoma Partners that could help them outline the strengths and weaknesses of their organization and how CRM can help.

Reinvested and Relaunched

Since the relaunch of their CRM platform, Wacom has felt a significant shift towards the globalized organization they set out to become. CRM helps them better know their customers, by identifying what they’re selling, what they’re buying, when they’re making purchases, and better predict future purchases as a result in relation to their manufacturing schedule. The CRM and SAP integration also helps Wacom manufacture more accurately against their forecast.

CRM provides a channel for Wacom to better manage product feedback, properly address customer issues, and enhance future product development. Their service team finally has the tools they need to see the complete history of their existing customers and provide them with the customer care they expect.

Interested in reinvesting in your organization’s CRM system? We’re happy to help.

Topics: CRM for Manufacturing

Dynamics 365 Site Map Designer

Previously we posted about the new Dynamics 365 App Module that was recently released with Dynamics 365.  Part of that module that we skipped over in the initial post is the Site Map Designer.

The Site Map Designer is a visual way to update your sitemap for your app.  The Site Map Designer allows you to update the default site map (which was the site map we’ve known and loved over the years for past versions of CRM), as well as app specific site maps. 

This means that now you could have more than one site map in your deployment depending on how many apps you have.  If you don’t have any apps, then you’ll have the single “Site Map” under Site Map components.  However, if you have at least one app, when you go to add a Site Map to your solution, you’ll see the default/base site map, as well as your app specific site maps.



Launching the Site Map Designer

To kick off the Site Map designer from your app, simply click the arrow pointing up to the right on the Site Map area of the app designer.  You can also kick it off by double clicking on the specific Site Map component in your solution, but depending on the XML in the Site Map, the designer may not be able to load it (see below).


You’ll be presented with a blank canvas with a default Area and Subarea already placed on the canvas for you.  You simply need to rename these using the Titles and Descriptions area, as well as update the ID, Icon, Show Groups, and URL (more details below about each site map components properties that can be edited).


In the Site Map designer, you can click the + icon in the top right corner to add a new component to your site map, or you can drag / drop the component from the right side over to the canvas to add it to your site map. 


The table below shows the components that can be added onto the canvas, along with the properties per component that can be configured.

Component Properties
Area ID
Show Groups (flag)
Group ID
Set as Profile
Sub Area Type (Dashboard, Entity, Web Resource, URL)
Parameter Passing
Offline Availability
Default Dashboard
Privileges (Entity, then All/Create/Read/Write/Delete/Append/AppendTo/Share/Assign)
SKUs (All, OnPremise, SPLA, Live)
Client (All, Outlook, Web, Outlook Laptop Client, Outlook Workstation Client)


If you add an entity to the Site Map that’s not a part of your App artifacts yet, it’ll automatically get added to your App without any forms, views, or charts selected for filtering.

Note that some of the Sub Area options become read only based on the type you select.  For example, if you don’t select Entity as the type, then the Entity dropdown that allows you to select the entity is read only as it only applies to that type of component.



If you wanted to, you can still export the app specific site map, and mess with the XML directly (if you’re courageous).  However, if you do so, be careful because some of the preexisting site map XML is not supported in the site map designer.  For example, I stole the “Settings” and “Training” areas of the main site map for my custom app specific site map, and had to comment out the following in my app specific site map because the designer wouldn’t load with it included.

<!--SubArea Id="nav_plugintrace" ResourceId="Homepage_PluginTraceLog" Icon="/_imgs/area/Plugin_TraceLog_32.png" Entity="plugintracelog" Client="Web" IntroducedVersion="">
  <Privilege Entity="plugintracelog" Privilege="Read" />
<!--SubArea Id="nav_systemjobs" ResourceId="Homepage_SystemJobs" DescriptionResourceId="SystemJobs_SubArea_Description" ToolTipResourseId="SystemJobs_SubArea_ToolTip" Entity="asyncoperation" Url="/tools/business/home_asyncoperation.aspx" AvailableOffline="false" IntroducedVersion="" /-->
<!--Privilege Privilege="LearningPath" /—>

Until I commented those out, I would receive an error such as the following when I tried to go back into the Site Map designer.


However, after I removed all the unsupported XML, I was then able to go into the Site Map designer and see all the Settings and Trainings components in my site map and I had the ability to tweak them using the new Site Map designer way, versus the old manual XML updates way.


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

How to Be Awesome at Sonoma Part 3: Be a Good Communicator


This post is the third in our "How to Be Awesome" series, highlighting exemplary Sonomans who live out the different elements of our "How to Be Awesome" list.

The third item on the “How to Be Awesome” list: be a good communicator. This emphasizes the importance of ensuring your message is clear and unambiguous, whether through verbal or written techniques. To be a good communicator you also understand the difference in levels of communication to various audiences and determining what is most appropriate.

Here is how some Sonomans are excellent communicators:

ElaineElaine Chang – Developer
“Elaine is fantastic about letting you know what questions she has in a very concise, clear manner. They’re always well-thought-out, and she’s done the research to provide different options if we need to make a choice of which direction to go. She’s also great about proactive communication about hitting hours for the week and status of items.”

What does being a good communicator mean to you?
For me, being a good communicator means having the ability to convey information in a clear and succinct manner. I try to provide as much applicable information as possible when both asking and answering questions. I find this cuts down on misunderstandings and misinterpretations.

Dan Leszkowicz – Senior Account Executive Dan
“Dan is a clear, concise communicator internally at Sonoma, but also (and especially) with his clients. He writes excellent, clear emails. When in-person, he speaks well and provides a steady, knowledgeable presence that clients love.”

What tip would you give for being a good communicator?
I learned early-on in my career, that perception is reality.  And communication, regardless of medium, is really all people have, on which to base those perceptions.  Being a good communicator requires having something valuable to contribute, but that’s just table stakes.  The rest – it’s all about good, old-fashioned manners.  Treat your audience how you’d like to be treated, say “please” and “thank you”, and listen more than you speak.

RachelRachel Sullivan – Senior Consultant
“Rachel always lets Sonomans and customers know what she’s working on for them and when they can expect the next step. I’m currently working with her on a customer project, and she has been a pleasure to work with. She has done an excellent job of leading the customer through the process quickly and precisely, and she always communicates the process and timeline in a clear manner. The documentation she has created for the engagement has been very professional.”

Why is being a good communicator important at Sonoma?
Rachel: I think being a good communicator is important at Sonoma and every day because it creates an environment where everyone is on the same page. When people are aligned in what needs to get done and when, it helps the team work towards one goal together instead of as individuals.

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

Topics: Careers at Sonoma

Dynamics 365 App Module



As with any release, the release of Dynamics 365 yesterday has introduced a bunch of new features.  Head over to the CRM Roadmap site, or the CRM What’s New site to see first hand the features that have recently gone live.  You can also see what’s in preview, in development, previously released, or indefinitely postponed.


App Module

With this release, a new concept has been introduced to Dynamics 365 for Sales (formerly Dynamics CRM).  This concept is the ability to have multiple Apps within the product.  First off, note that this feature is in preview only mode for this release. 

What is an app? Well in its simplest form, this is a collection of related entities, dashboards, and business process flows that will allow you to streamline and tailor Dynamics 365 for Sales so that your end users in different business areas can see only the pieces of the product that matter to them.  It also allows you to filter sub components of what you add – for example, your users only see a specific view of an entity you’ve added.

You could perform portions of this functionality with the older versions of Dynamics CRM.  For example, you could have only specific forms or dashboards display for users in specific security roles.  However, everything in your solution was in a single site map and you had to manage it as such, which forced configurators to always remember that the application they’re designing and building is visible to all users, unless they update the specific dashboards and forms to be visible only to users in a specific security role (by default they’re visible to all).

However, with the introduction of Apps for Dynamics 365 for Sales, configurators can now more easily put components that they want specific users to have visibility to into a specific app for those users.  This means that when you have new users rolling onto CRM, you can easily create a new security role for them, and then start putting the components of the system into their own app that only they’ll have visibility to.  Also you can filter what sub components of those artifacts you want visible in your app – this functionality doesn’t exist in previous versions of the product.

Also of note is that your apps will have a unique URL should you want to provide that to users to navigate to directly.  The URL will be in the format of <crmurl>/apps/AppName.


App Creation and Basics

When you create a new App (done from the solution since apps are solution aware), you’ll need to provide a few pieces of information.  Note that the Application URL will be the name used at the end of the URL for the application specific URL mentioned above.  This (along with the Unique Name) cannot be changed once you click Done on this initial app creation page.  The Name, Description, and Use Default Image can be modified after creation.


After providing the basic information above, you’ll be taken into the designer area of the app.  From here you’re able to add the following components to your app.

  • Site Map – this is required and will is discussed in more detail in this blog post
  • Dashboards – you can filter what dashboards display in your app
  • Business Process Flows – you can filter what business process flows appear on entities for your app
  • Entities – you can filter what forms, views and charts appear on the entities for your app

After you add each of these components, you’ll have different properties to set for each.   For entities, you’ll be able to select which Forms, Views, and Charts are available in your app.  After you start adding components, your app will start to accrue a list of other dependent components that.  For example if you select a form that has a view from another entity used in a sub grid, you’ll need to make sure that view is in the target environment you’re deploying your app to or the deployment will fail.  If it doesn’t exist, simply make sure to add that component to the solution prior to deployment.

Note:  If you do not select any forms, views, or charts for an entity in your app, that entity will still display in your app but all forms, views, and charts will be displayed for it.  Even though you’ll get a warning when validating your app (see validation details below), the app will still work and show you all components of that entity without filtering some of them out.



With Dashboards and Business Process Flows, you simply have the option to select which of those you want to include in your app.  Note, when you do this, if there are entities that are required for the dashboard or business process flow that you add, they’ll automatically be added to your app.  However they’ll be added but no sub components of them will be added (forms, views, or charts) which will throw warnings during validation (as discussed above).  We'll review validation in more detail in the next section. 

These entities will be added but are not needed in your app.  They’re only needed if you want to further filter out the forms, views and charts that are visible to end users.  If you don’t want to filter them out and want to keep your app clean, you can simply click on the entity name and then click on the trash can / remove icon on the top of the page to remove it from your app.  Doing so will provide you a confirmation dialog prior to removing the entity.


In addition to removing an entity from the app, you can also click on the Edit button that will open up the entity in an entity specific solution window.  Finally, the Add button will let you quickly add another artifact or entity asset to the app.




As stated above, once you start adding components to your solution, you’ll app will start to take on dependencies which means that if they’re not in the target environment you’re deploying your app to, your solution import will fail.

For example if you select a form that has a view from another entity used in a sub grid, you’ll need to make sure that view is in the target environment you’re deploying to.  If it doesn’t exist, simply make sure to add that component to the solution prior to deployment.

To validate your app, simply click on the “Validate” button at the top right of the app.  You’ll get a summary at the top that you’ll be able to expand and see more details of what errors and/or warnings the validation identified.  You’ll also see on the visual designer the components highlighted that are causing the dependencies.  Finally, if you click on the “Required” tab on the right pane, you’ll be able to see a list view of the dependencies for the components added to your app, and those components are already added to your app will be checked off.





App Deployment

As stated before, an App is solution aware which means that you can put the app into a solution when you’re ready to promote it from Dev to QA to Production.  Remember that if you have new components you created for your app (such as an app specific site map), those components also need to be included in your solution or the deployment will fail.


Also note that while you’re working on your apps, you don’t need to go through the Apps solution component to be able to resume development on the app.  You’re also able to see your published apps and apps being edited by going to Settings –> Application –> My Apps.  The default app that contains all your configuration and site map prior to the new app concept will be the only published app out of the box.  This app cannot be edited through the app designer and needs to be edited the old way through solutions.


When the app is unpublished, you’ll be able to click on the ellipses and select Publish or Open in App Designer. 



Once you have your custom app published, you’ll be able to Manage Roles to indicate what security roles should have access to view the app.  By default, only the System Administrator and System Customizer roles have access to view the app so don’t be worried that you’re only able to get to this screen after the app is published (which means if all roles had access to the app there would be a period of time between publishing and removing roles, that some users may have access to the app – that’s not the case).



Using the App

After the application and site map have been completed and published, you access your new app via the app switcher which is the breadcrumb just to the right of the O365 tiles icon.  You can quickly jump between all the apps you’ve developed via this app switcher.   You also have the ability to “Pin This App” which will pin the app to the Home area.


Clicking the top Home icon will take you to which is a new home for all of your Dynamics 365 business apps.  As mentioned above, your pinned apps will appear in a separate section on this page.


Note that when testing out the new Apps functionality, I ran across what seemed like a couple defects with the Home area.

  • The Home area doesn’t seem to load when using IE11, but will load fine with Chrome
  • After clicking in the Home area, when I went back up to the App Switcher, only my pinned apps appeared for me to select.  In my example below, you’ll see that I no longer see the “Dynamics 365 – custom” app that I saw in my screenshot above.  Once I navigated to an app, it reappeared for me.


If you click on “My Apps” in the App Switcher, you’re able to see all apps, and also search for apps should you have a lot in your list.  You’ll also see in this list any other CRM organization you have access in your O365 deployment allowing you to quickly jump to those orgs from your current org.

In the main menu under “Home” you’ll see just the current Dynamics 365 organization apps.  Additionally, you’ll see a light blue vertical bar to the left of the apps for the current org you're in.


When in your app, you’ll only see the dashboards, entities, forms, views, charts, and business process flows that you included in the design of your app.



Final Thoughts

Apps are another great feature for this continually evolving product.  We’re excited to see where this concept goes in the upcoming releases (what other components they allow you to configure to be app specific), and are as always excited for all the new features being released with Dynamics 365.

Stay tuned for more new Dynamics 365 feature reviews.

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

Amazon Alexa and Dynamics CRM

Here at Sonoma Partners we’re always looking for ways to use the latest and greatest technologies with CRM.  With voice dictation services becoming more and more prominent, we decided to put Amazon’s Alexa service to the test.  Using an Echo device, we were able to develop and test an Alexa Skill that can interact with Dynamics CRM using node.js.  The process was surprisingly easy as Amazon provides native OAuth configuration so we were able to connect to CRM’s Web API with little effort.

We recorded the whole process of building an Alexa Skill, check it out below!

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