My Profile

My name is Steven Foster, a Microsoft CRM MVP, working at Intergen as the CRM Product and Marketing Manager. I have over 17 years of CRM experience delivering a multitude of CRM solutions across a number of countries. I hope you find my blog interesting!
I am also an entrepreneur reselling the HappyOrNot customer satisfaction service.

Business Problem: I want to know how long is spent in my business process by stage and by user how can I achieve this with no code?

The solution is actually quite simple if you are the latest release of Dynamics 365. The key to the solution is the fact that Dynamics now maintains the active stage and active start time for instance of a business process flow.

When you create a business process flow, a new entity is created to maintain the instances of the business process flow. So each time you start an opportunity, a business process record is created for the business process that is running that maintains the start time, active stage and status of that process. Thus when you switch process the previous process flow state is maintained.

So with this knowledge you now have a record that records the relationship to the business process and to the record it was initiated from.

Back to the problem. What I need is an entity to store the start and end time for each stage and a workflow that creates the record each time the stage changes. Simple as follows:

Create a new entity, in my case I used an activity entity called Stage Duration. I used an activity entity, as it already has all of the fields that I need to record the stage duration i.e. Regarding, actual start, actual end, and subject. The one field that I did create is Stage duration, which is a decimal and is a calculated field. The calculation works out the difference between Actual End and Actual Start.

Once I have published the entity I now need to create a workflow to fire each time the active stage changes for the business process that I want to monitor.

Create a new process – workflow, select the newly created entity that corresponds to the business process that you want to monitor.

Set the workflow to run on creation and when the active stage field changes.

Now add action to create the stage duration activity, populate the subject with something like Stage: <<Active Stage>>, populate the actual start with the “Active Stage start time”, update the owner to the owner of the related record and set the regarding to the related record.

Now add a wait step to wait until the active stage start time is not equal to the new activity creates actual start time.

Then add the step to update the actual end time to that of the Active stage started on. (this is now the next stage started on time thus the end of the previous stage)

That is it you now have a workflow that triggers at the start of the process and again each time the active stage is changed. That will record the start, end and duration of stage per process stage and user.

Here is the workflow example below:

Now each time I change the process a new activity is created as below:

This allows me to create charts as follows, i.e. by stage average time, and by user by stage average time.

The possibilities are now endless to the types of things I can do i.e. alert if a stage has not changed after a given time period, alert if average time is over norm, create a nice dashboard to show exceptions or enable me to identify focus stages to work on.

If you do not use one of the supported 45 languages found here as your default user format (set in options) then you may encounter this problem.

Problem: When I click on the site map editor from the App Designer, I can not save my changes to the site map.

The simple fix is to change your format of your user to one of the supported 45 languages, then make your site map edits, save and publish, and then revert your format back to your preferred format. You can then open the new App and see your changes.

This simple video walks you through the issue and the fix that will enable you to create amazing new Apps.

So just taking a look at all of the available perform actions in workflows that are provided out of the box and found SetProcess.

SetProcess enables via a workflow to change the current business process of a record. For example, you are working on an opportunity and the decision timeframe is a year, this would most likely have a different sales approach to an opportunity closing in a month. Via a workflow we change the business process automatically.

So how do we do it? It’s easy follow these steps:

Navigate to Settings->Processes

Create a new process of type workflow, give it a name “Change process -long running opportunity” etc

So for my example I create a condition on the Purchase Timeframe, if equal to This year then do action.

I select perform action

I select SetProcess and click on properties. All I need to select is the business process and the record to apply it to.

Save and close

Finally Activate the process, all done.

When I navigate to my opportunity and update the purchase timeframe to This Year, once I refresh the record the business process will change.

I just came across this feature the other day, using a pre-built action to generate a word document via a workflow. There are actually 100s of actions that you can explore in workflows that might actually remove some development.

So how do you generate a word document from a workflow, it’s really simple, just follow these simple steps. In my example I will use the OOB account summary template as an example.

Navigate to Settings->Processes

Create a new process of type workflow, give it a name “Generate Document” etc

For my example I am going to make the workflow On Demand, jus to demonstrate the functionality, but think of these examples:

Creating an opportunity summary at the develop stage of an opportunity

Creating a campaign summary at the end of the campaign

Creating a Case report

At the end of the day this is a workflow so all workflow logic applies

So for my example all I need to do is select Perform Action

Scroll down the many actions and select SetWordTemplate

Leave the Entity as None

Click on Set Properties

Select the template from the dropdown list

Select Account

NOTE: if you are using a custom entity, the entity is required to be enabled for Business Process Flows to be able to be added

Save and Close

Activate

That’s it, simple. Now when you go to an account record and select to run an on demand workflow, the Generate document will display.

The document is stored as a note attachment against the record.

At the moment this solution does not attach to SharePoint, but I am sure clever people could expand this capability!

A great new feature in Dynamics 365 is the ability to make a view editable without the need for code, 3rd party solutions with security that is applied out of the box.

Editable grids work in the web and mobile clients, and work across main entity views, sub grids and associated views. When you configure editable grids on the main entity, you enable editable grids for the main entity forms. To enable on sub grids you need to open up the specific form and edit the properties of the sub grid to add the editable grid control.

Editable grids support:

In-grid editing of records at the entity or sub-grid level

Web and mobile clients

Navigation using a keyboard or mouse

Grouping and Sorting (Able to group by/sort by any column on current view)

Filtering

Moving and resizing columns

Pagination

Lookup configuration

Calculated fields and Rollup fields

Business rules

Hierarchical view

Enabling or disabling of cells based on security role

The Editable Grids control is available for Dynamics CRM Online and Dynamics CRM On-Premises.