To be able to start customizing the system in Dynamics 365, you must first create a Publisher and then a Solution.
Publisher is a Company Profile, whereas Solution is the work area, which you can later package and import in different environment. A publisher is responsible for creating and maintaining a solution.
You can create a solution in classic environment, i.e. Settings > Solutions.
OR you can use the new environment which is discussed below:
A company has a large customer base and dedicated support system.
Presently, any support engineer can pick up a case and resolve it. But the challenge is with High Priority Cases. High Priority Cases are taking more time to resolve because currently they are not assigned to highly specialized team.
This is resulting in poor customer experience and directly impacting revenue.
Proposed Solution:
The company has decided to create a dedicated team to handle high priority cases for quick resolution and ultimately increase customer satisfaction.
So, whenever a new case is created with High Priority or case priority changes to High, it must be assigned to High Priority Team.
Perform the following steps:
Go to Settings > Security > Teams
Create a Team say “High Priority Cases” team and add users to it. Members in this team will handle all high priority cases. (Optional)
Note: Setup the appropriate
Go to Settings > Processes.
Click New.
Specify the following fields and click Ok.
Process Name: Assign High Priority Cases to High Priority Team
Category: Workflow
Entity: Case
Run this workflow in the background (recommended): Yes
Type: New Blank Process
Check the Workflow header settings and change the Scope to “Organization”. Note: If you define the scope as “User” then you need to set the Owner under Administration tab.
We would like to run this workflow when Record Field Change, so select that option. Select the fields and click Ok.
Note: Also select “Record is created”.
Now define the following conditions and set properties:
Activate the Process.
Create a Case with Normal Priority and check the Owner.
Change the Priority to High and then check the Owner.
In case there is any error or you want to check the process. Open the workflow, click Process Sessions.
As per the company’s policy, every customer and their contacts must get their KYC (Know Your Customer) done every six months.
It is easy to update Account’s Address, but it takes a lot of time when users need to update Account’s Primary Contact Addresses as well (which is same as Account’s Address).
There are 100K+ customers and on an average, it takes about a minute to update address of one contact. This also reduces the efficiency of the users.
Solution:
On updating an Account’s Address, their Primary Contact’s Address must be updated automatically without performing any manual process.
This would save a lot of time and users can focus on productive work.
Perform the following steps:
Go to Settings > Processes.
Click New.
Specify the following fields and click Ok.
Process Name: Update Contact’s Address When Account’s Address is Updated
Category: Workflow
Entity: Account
Run this workflow in the background (recommended): Yes
Type: New Blank Process
Check the Workflow header settings and change the Scope to “Organization”. Note: If you define the scope as “User” then you need to set the Owner under Administration tab.
We would like to run this workflow when Record Field Change, so select that option.
Select the fields and click Ok.
Now define the following conditions and set properties:
Activate the Process.
Now open an Account which has Primary Contact and change the address on the Account. For example we changed details in “Street 2”.
Since it’s a background process so there will be slight delay. After which you can see that the desired tasks are created automatically based on the trigger.
Open the Primary Contact and check if the record there is updated based on our settings.
In a large organization, it’s getting difficult to manage leads follow-ups because of the high volume.
The organization is using D365.
Most of the salespeople forget to follow-up with leads on time and hence the leads-to-customer conversion is going down every single day.
Ultimately, the organization is losing business every day.
Suggested Solution:
Whenever a new lead is created, D365 should automatically create two follow-up reminders and assign to the responsible salesperson.
Perform the following steps:
Go to Settings > Processes.
Click New.
Specify the following fields and click Ok.
Process Name: Create 2 Follow-up Tasks on Lead Creation
Category: Workflow
Entity: Lead
Run this workflow in the background (recommended): Yes
Type: New Blank Process
Check the Workflow header settings and change the Scope to “Organization”. Note: If you define the scope as “User” then you need to set the Owner under Administration tab.
Now define the following conditions and set properties:
Activate the Process.
Go ahead and create a new Lead.
Since it’s a background process so there will be slight delay. After which you can see that the desired tasks are created automatically based on the trigger.
Note: It is now recommended to use Microsoft Flow instead of background workflow.
In the screenshot above you can see the background workflow. Let us discuss each option in detail:
Process Name
It is the name of the workflow.
Try giving a meaningful name, so that you can identify and make changes later. For example, a name that suggests why you created the workflow and what it does.
Activate As
You have an option to activate this workflow as a Process (which can work independently) or Process Template (to reuse).
Available to Run
Run this workflow in the background (default).
In case of background process, this option is always selected and cannot be edited.
As an on-demand process.
With this option selected, the workflow will be available for users to run it on demand, i.e. users can trigger the process.
As a child process.
With this option selected, this workflow can also be called by other workflows.
Workflow Job Retention
Automatically delete completed workflow job.
You can select this option to save disk space. Whenever you run a workflow, it runs a job in the background. In case you have selected this option, the system then deletes that job once it is completed.
Entity
Specify for which entity this workflow will run.
Category
Workflow are part of processes in D365
Scope
Scope of the workflow (with ownership)
This defines till which level this workflow can be executed. This is dependent on Ownership, which you can defile under “Administration” tab.
User
The workflow will run only on records that the user owns.
Business Unit
The workflow will run only on all records that are available in a Business Unit.
Parent: Child Business Unit
The workflow will run on all records that are available in the parent Business Unit and its child Business Units.
Organization
The workflow will run for all the users available in the organization.
Start When
When the workflow must execute
Record is created
Record status changes
Record is assigned
Record field change
Record is created
Real-Time Workflow (Synchronous)
Available to Run
Run this workflow in the background (disabled)
As an on-demand
As a child process
Workflow Log Retention
Keep logs for workflow jobs that encounter errors.
If a workflow job fails, you might want to keep the logs to examine later.
Options for Automatic Processes
Scope
Same options as background workflow.
Start When
Record is Created (After only)
Record Status Changes (Before and After)
Record is Assigned (Before and After)
Record is Deleted (Before only)
Execute as
The owner of the workflow
The user who made changes to the record
Workflow Components
These are the operations that you can perform when you are executing a workflow:
Stage
Allows you to organize workflow so it is easy to manage.
Check Condition
Allows you to check conditions on field’s value (of entities) – If then Else.
Conditional Branch
Works with the “Check Condition” as If-then and otherwise If-then.
Default Action
Default action works always as Otherwise (without a condition).
Create Record
Created a record of an entity.
Update Record
Update a record of an entity.
Assign Record
Assign a record to User or Team.
Send Email
Send an e-mail.
Start Child Workflow
Start a child workflow.
Perform Action
Allows you to invoke actions. These are types of process without writing a code.
Change Status
Allows you to changes status of the entity record.
Stop Workflow
Stops the workflow as either Cancelled or Succeeded.
You can add graphics to a view and establish the logic used to select graphic based on column value using JavaScript. In the following example we will customize “All Opportunities” view and display icons alongside “Rating” column.
Select Icons
Select the icons that you would like to use. In this example we have selected 32×32 PNG icons for Rating options: Hot, Warm and Cold.
Image Web Resources
Create 3 Web Resources for these images, for example: new_Hot, new_Warm and new_Cold.
Save and Publish.
Create JavaScript Web Resource
Next we create a JavaScript Web Resource, for example: “new_OpportunityStatus_JavaScript”.
In this example, we have a separate JavaScript Web Resource for each column that we want to show an icon on.
function displayIconTooltip(rowData, userLCID) {
var str = JSON.parse(rowData);
var col_data = str.opportunityratingcode_Value;
var imgName = “”;
var tooltip = “{” + col_data +”}”;
switch (col_data) {
case 1:
imgName = “new_Hot”;
tooltip = “Hot”;
break;
case 2:
imgName = “new_Warm”;
tooltip = “Warm”;
break;
case 3:
imgName = “new_Cold”;
tooltip = “Cold”;
break;
default:
imgName = “opportunityratingcode”;
tooltip = “Unknown”;
break;
}
var resultarray = [imgName, tooltip];
return resultarray;
}
Link JavaScript to a Column in View
In this example, we open the “All Opportunities” view and for “Rating” column click Change Properties.
In this example we provide the following information:
Web Resource: new_OpportunityStatus_JavaScript
Function: displayIconTooltip
Optionally Select a width for this column, say 150px and click OK. Save and Publish the changes.
Go to Sales Hub in Dynamics 365 and for Opportunities open “All Opportunities” view to see the change.
This in continuation to Episode 11 and Episode 12, where we had discussed how to create a Quote and a Project, respectively. If you are reading this episode directly, I would recommend you to have a look at those episodes first.
Creating Project Contact (Statement of Work)
Open the quote, which we had created in Episode 11.
Go to Quote Lines tab and check the details.
Check if the Project is assigned to the Project-based lines. For example, in this case you can assign the same Project, created in Episode 12, to the Fixed Price line.
Check details under each tab and once you are satisfied, on the Quote, click Close as Won.
This will create and open the Project Contract, in Draft state. Note that the Project Contract is similar to Order in Sales, however, the form is different.
Check all the details, which have been copied from the Quote.
You can still make changes to the Draft Project Contract.
In case you did not provide the Invoicing Schedule (for contract lines) at Quote level, the do it now, because this is the last stage where you can define the invoicing schedule.
Once you are satisfied with the Project Contract, click Confirm. This will Activate the Project Contract and the Status Reason will be set to Confirmed.
If you have installed the Add-in, you will see a tab Project Service. Open the tab.
Click Connect to connect to your D365 environment. If you are connecting for the first time it will ask for your credentials.
Once you provide the credentials and have successfully connected, you will notice that the Connect button is greyed out and other buttons (Publish, Read, etc.) are activated.
Click Read, PSA Project.
From the list of available project, select the project to read. Click Link project plan to Project Service Automation, if you want to manage schedule from MS Project.
No , you can manage the schedule in MS Project and use its various functions. Once you have made the changes you can click Publish, you sync the changes in D365 Project.
Note that the Schedule in D365 will be read-only in that case. This is because the link that has been established between D365 project and MS Project.
You cans use Unlink option in MS Project to remove the link and then you will be able to edit in D365.
Select the user to assign Project Online Essential License. After assigning the license, click Save Changes.
Click Home, Install Office.
For Project, change the Version (32 or 64-bit) as per your system requirement. Click Install to download the software. This will download the setup file.
Run the Setup file to install MS Project on your system.
Microsoft Dynamics 365 Project Service Automation Add-in for Microsoft Project
Check the System Requirements and Installation Instructions
Download (32 bit or 64 bit), and Install.
After installing the Add-in when you open MS Project, you will see a Project Services tab, this settings under this tab will be used to connect to Dynamics 365 Project Schedule.
If you have been following the blog post, by now you would be familiar with creating an opportunity and quotation.
Now let’s see how you can create project and define schedule or work break down structure.
Whenever you are creating a quotation and you have different quote lines, for example, one line is for project implementation, second is for expenses, third could be for support services and fourth could be for training.
In Dynamics 365 for PSA you have an option to define project for each line. This means, if you have four project base quote lines then you can define four different projects Or you can choose to define only one project based on the requirements.
You can also use predefined Project Templates, based on which you can create Projects. You have an option to reuse the templates, so that you don’t have to recreate the schedule (WBS) and have resources defined again.
NOTE: In previous versions of Dynamics 365, Schedule was known as Work Breakdown Structure (WBS).
Project Template
In Dynamics 365, on the navigation menu, click Project Templates.
Click New Template and specify the following fields:
Name
Description
Contracting Unit.
Click Save.
Go to the Schedule tab and perform the following actions:
Click Add, to add a new task.
You can use Indent or Outdent actions to create a hierarchy.
You can use Delete to delete an existing task.
You can also Move Up or Move Down tasks.
Specify the Predecessor, to define the prerequisite of each task.
You can specify Effort by specifying or editing the following columns. Change in any of these columns will result a change in other two columns:
Specify Effort in hours.
Specify Start Date and End Date
Specify Duration in days
In the Resource column click add to either select an existing resource of click Create to create a new resource (generic). You will have to assign a role to the resource. You can assign more than one resource for each task, i.e. the resources you would need in order to complete the task.
In the Summary tab, you will notice that the Estimated Labor Cost is generated based on resource assignment and effort.
Create Project (using Project Template) For Quote Line
Open the quote, “business Central Implementation for Adventure Works” in this example (see Episode 11).
On the Quote Lines, edit the Project Based Line, “Business Central Implementation Services” in this example.
In the Project field, click New Project.
In the quick create form, specify the following fields and click Save and Close:
Name Description
Is Template = No
Project Manager (automatically selected)
Project Template
Contracting Unit
Estimated Start Date
This will create the Project. Now click on the Project to open it.
In the Schedule tab, you will notice that the project is created and Schedule is generated based on the template. The dates are populated based on the actual start date we provided and the resourcing is available as well.
In the Team tab, you can see the resource part of the team, however, right now a Generic Resource is selected as this is still in planning stage. When the Project is commenced, actual Bookable Resource will be selected.
In the Estimates tab, you can see the estimates:
You can group the data by Category, Role, Resource.
You can see the Time-Phase by Cost (i.e. the cost you r company will incur) or Sale (i.e. what you will be charging customer).
You can see the Time-Scale by Day, Week, Month, Year.
You can make price changes and use Update Prices to refresh the data.
In the Summary tab, you will see that the Estimates are populated automatically.