Coming up, we look at Dynamics 365 
in the new and evolving
extensibility options for adaptability 
to your business processes.
We're going to cover simple scenarios to extend Dynamics 365 with a visual process designer.
How you can leverage Power Apps 
to easily build custom lOB apps.
And, advance scenarios for developers
 to extend Dynamic 365
with custom workflow activities and Azure functions.
Microsoft Mechanics
I'm joined today by Luis Camino from the
 Dynamics 365 team, welcome.
Thank You Jeremy,
 it's great to be here.
We're continually enhancing Dynamics 365
 to allow for greater extensibility.
But, can you bring us up to date?
Absolutely.
It started with a focus on delivering a 
connected business platform
leveraging purpose-built Dynamic 365 apps
 from sales all the way to operations.
Now it sounds basic.
But, the fact is that the classic
 delineation between CRM
and ERP has created a separation
 in data and in processes.
Dynamics 365
breaks down the separation 
and allows for greater extensibility
Dispense both simple to advance extensibility scenarios
for Power users and developers.
For example, if you're a Power user,
you can use Dynamics 365 to natively configure your company's business processes.
This ultimately creates a new class 
of composite applications
that cannot be built before over two cost-prohibited.
If you're a developer, you can continue 
to build custom business logic
in Dynamics 365.
You can build integrations across 
other line of business apps.
And create custom workflows using 
familiar tools like Visual Studio,
Azure functions, and Logic apps.
Taking extensibilities to new levels.
This gives you a lot more flexibility
and options in terms of how you can configure and extended Dynamics 365 apps.
Whether you focus on optimizing 
your business processes
or adding custom business logic.
Alright let's start with simple extensibility.
Can you give us a little bit of context and show us a working scenario of what it might do.
Yeah, absolutely.
Let's assume I'm a customer
 success manager at my company.
I oversee customer satisfaction from our products,
our customers relationship,
and ultimately I'm responsible
 for my customers success.
To enable that, 
my role requires me to monitor
the customer's usage and satisfaction 
from our solutions or products.
This is an app I built for customer 
success manager's using Power Apps.
The app matches up data from multiple data sources.
I can see in search,
my list of customers from Dynamics 365 for sales.
Which by the way, search functionality is
 an out-of-the-box capability in Power Apps.
Let's go back to one of the customers I managed, Northwind Traders.
I can see customer details such as revenue, forecast, 
as well as year-to-date discounts.
I can see my recent activity.
These are work orders basically coming from 
Dynamics 365 for Field service.
Ok.
And, from here I can see my customer's health, right?
This is my active usage metrics 
and my customer satisfaction metrics,
that I am capturing.
In here, I can see open orders.
These open orders are coming 
from Dyanmics 365 for operations.
We've got a lot of great functionality here.
A very robust app that is really collecting 
data from a lot of sources.
Not only Dyanmics 365 and all the different apps there,
but also things like Office 365.
Was it hard to build?
Because it looks pretty complicated 
in terms of all things you can do with it.
How hard is it to get that up and running?
No, let me show you.
Now there are really two things to show here.
First, how we configure the sales 
process to fit our business needs
So that we could capture
 the customer data we required.
Second, how we matched up multiple data sources
to present a holistic view of the customer
tailored for my role as a customers success manager.
Alright so we'll start with Dynamics 365.
How would I go in there and 
actually configure that process?
Let me show you.
I'm here in the visual process designer.
This is the out-of-box sales process 
from Dynamics 365 for sales.
We can see the different stages and steps
in the sales process.
Not everyone will use the default sales process.
Remember how I've included a 
customer discount year-to-date on the app?
Our sales process provides the
 ability to grant discounts.
We've added a conditional step
to force manager approval for 
discounts greater or equal to 15%.
On this particular stage,
we've added a step to require manager approval.
The sales manager was able to
 easily adapt the company's sales process
by using the visual process designer.
And you could use things like drag and drop
 to add more steps, right?
Absolutely, if I wanted to I could add one or more conditions and stages via drag-and-drop.
So now you've got all the plumbing
and the background information that you need to start plumbing data and piping into Power apps.
How did you actually build that through
 the Power Apps console?
For that, lets  switch to edit mode in my Power App.
The way you connect to these data sources 
is through connections.
You can see the connections available for me to use.
Here is Dynamics 365 for Operations, as an example.
This is where I'm connecting to obtain my open orders.
Once you establish these connections,
you can then use the respective data 
sources to display or edit data.
The app designer experience is like PowerPoint.
I can add screens and controls 
connected to data sources.
I've added a button
to get the customers feedback.
The feedback is captured in another screen,
which we are now calling "Guided Feedback Step 1".
From here, I can quickly navigate from the button
to the screen simply by using the navigate function.
And there you are just pointing to 
screen here in the lower left.
Absolutely, right.
This uses the Common Data Model from
 Power Apps to create a business entity
with a few fields in just a few clicks.
You can duplicate that just like in PowerPoint
 to be able to replicate the screens?
Yes, so from here I can duplicate the 
screen to expedite my app building process,
maintaining design consistency.
I can also very quickly
rename the screen
to match naming conventions
 used from my prior screen.
This is going to make it a lot easier in terms of having to go through steps two and three.
Just by copying and pasting that first screen,
So you've got a consistent look and feel.
Correct.
So I know you've done some more work on this app.
Why don't you fast-forward a bit to show what screens two and three actually look like?
Yeah, so fast-forward have been in we can now capture
product satisfaction, service satisfaction and customer comments on the new screen.
As we start to collect this information,
we can now use more sophisticated 
tools to measure sentiment,
and re-calculate our customer satisfaction score.
For this will use that Azure function I just 
selected, which I've already written.
And I will show you how to add these two Power Apps.
This is great because you can
 basically go into Azure function,
you can write your own code and that 
will calculate all of that for you.
And, you can pipe all of that data in.
In our case we're going to write a little bit of code for sentiment analysis and that's going to be
piped into your feedback dialogue.
I'll show you how easy it is to add 
any HTTP API to a power app
using my Azure function.
From this screen,
we'll very quickly integrate it to the
 navigate function of this button.
Once I add it to my Power App
you will get intelligence.
In my case I called it, 
update customer sentiment.
Update customer health.
And as you can see,
it even gives me a description
 and the parameter names.
In this case, customer and feedback.
So as you're developing this ,
 that button is doing more than a couple things?
It's Navigating, but it's also going
to call that Azure function,
so that on the next screen so you'll be to see what the updates are to customer satisfaction and usage.
When we input product, service, and comment feedback,
our Azure function can recalculate
 customer satisfaction.
Simply by now going on to the next step.
In this case, step 3.
From here you can see that the 
Azure function was triggered.
There was a recalculation on overall satisfaction
and active usage.
We saw a slight uptake there in
 both the satisfaction and the usage?
Absolutely.
So now we when we hit "Submit",
This is now going to be memorialized into the common data model entity that we created previously.
That's really using Azure machine learning
 to parse what was in step 2,
and really provide updates in step 3
 that we're seeing on the screen.
You mentioned you can also build custom
 business logic as part of Dynamics 365?
Can you walk us through that process?
Correct, let me show  you how within the sales process
we can trigger a credit check step.
This is a completely custom business logic
created as a custom workflow activity by a developer.
Here, I've used visual studio.
Basically, you need to develop it using 
the microsoft.net framework.
I created a class that basically
 inherits from code activity,
the workflow based on class.
Activities that inherit from this code activity class can override the execute method
to produce custom functionality.
So do I still use developer tools to build the custom business process in Dynamics 365?
Or, do I return back to the Visual Process Designer?
Remember our sales process.
We'll add a workflow component 
previously created named "Credit Check".
That's leveraging the custom workflow activity we showed earlier in Visual Studio.
So here we'll simply drag-and-drop the workflow
component into the discount stage.
From here, once we open up the workflow component
we'll set the trigger to be on a stage entry.
And, assign the Credit Check workflow to execute.
And that's it.
That's going to reach him and execute
 the custom code that you had
in order to perform that credit check.
The nice thing here with this particular rule is that,
you're not going to disturb your sales manager effectively with a discount
if your customer can't pay for it.
So that credit check is very handy.
Absolutely, and also this means that before the 
sales manager approves the discount,
the credit check for the customer 
will have to run first, right?
We can also set field data using workflows.
And if we go back to the Power App itself,
we've also integrated that as part of that 
first screen on the Power App, right?
Correct
So here we can see credit rating 
associated to Northwind.
This was updated using all that custom business logic
that we created in Visual Studio in
 the custom workflow activity.
Very cool, so we saw some great example 
whether you're a Power user
and want things simple.
Or, you're developer and can use 
some of the advanced extensibility.
Whether you want to configure or 
customize your business processes
in a simpler advanced.
We are making it a lot easier.
We offer out-of-the-box, 
configurable business processes
the ability to build custom lines 
of business apps and automation.
As well as extensibility options for
 the developer community.
Great, so how do people get started today?
For the latest and upcoming new features,
make sure you visit our recently
 published Dynamics 365 public roadmap site.
Whether you're a develop or a Power user,
you can get more information on
 Power Apps at the link below.
Also, keep watching Microsoft Mechanics 
for the latest in tech updates.
Thank you for watching and bye for now.
Microsoft Mechanics
www.microsoft.com/mechanics
