Overview
The TechnoMile Growth Suite is built natively on the Microsoft Dynamics 365 platform, transforming the most advanced CRM into a Growth ready platform. The suite enables you to customize and manage a Solution including its Tables, Forms, Fields, etc. providing flexibility, management capability, and configurability to its users.
This document explains step-by-step how you can customize TechnoMile Growth Suite on the Microsoft Dynamics 365 platform, along with creating your own Solution.
Audience
Microsoft Dynamics Administrators
IT Support
Prerequisites
Please contact TechnoMile Support or email support@technomile.com for the following information prior to starting your configuration:
MS Dynamics 365 CE License package
Create a Solution in Power Apps
Login to your Microsoft Dynamics instance
Open App Launcher and click Power Apps.
Alternatively, you can also open make.powerapps.com URL in a new tab to create a Solution.
Click Environment and select an Environment that you wish to customize/configure.

Go to Solutions and click New solution.

Enter mandatory* field details such as Display name, Name, Version, etc.
NOTE
Once data is entered in the Display name field, the Name field value is auto-populated however, it can be edited.

To add a Publisher, perform the following steps.
Click the drop-down arrow in the Publisher field and select Publisher.
NOTE
You can also create a new by Publisher clicking the plus icon
A new window opens.Enter mandatory* field details such as Display Name, Name, Prefix, etc. and click Save and Close.
Note that once data is entered in the Display Name field, the Name field value is auto-populated however, it can be edited.
The Currently creating a new publisher message displays, click Done.

Select the newly created Publisher in the Publisher field and click Create.
Solution is created.
Add a New Table/Entity to Solution
Click the newly created Solution Display.

Click New and select Table.

NOTE
A Table in Power Platform is same as an Entity in earlier versions.
Enter mandatory* field details such as Display name and click Create.
NOTE
Once data is entered in the Display name field, the Plural display name and Name field values are auto-populated however, these can be edited.
Table/Entity is added to Solution.Add an Auto-generated Field in Table
Click the newly added Table/Entity Display name.

Click Name.
NOTE
You can select any Display name field to edit its details.

Select Data type such as Autonumber, Required as Optional, and Autonumber type as String prefixed number.
Enter Prefix and click Done.
Name field is auto-generated.Click Save Table.

Add a Field/Column to Table Entity
Click Add column.

Enter mandatory* field details such as Display name as Account.
NOTE
Once data is entered in the Display name field, the Name field value is auto-populated however, it can be edited.

Select Data type as Lookup, Related table as Account, and Required as Optional.

NOTE
The drop-down list in the Data type field gives you a number of options to choose from such as Text, Autonumber, Lookup, etc.

Select the Searchable checkbox and click Done.

IMPORTANT
Ensure that you enable the Searchable checkbox as it will allow you to view this data/record in search results.
Click Save Table.

Field/Column is added to Table/Entity.
Viewing Relationships
Go to the Relationships tab.

NOTE
Whenever you define a Lookup relationship in a Table/Entity, a Many-to-one Relationship Type is automatically created on the Relationships tab, as highlighted in the image below.

Add Table Column Views
Go to the Views tab and click Add view.
Create a view page opens.Enter fields details such as Name and Description and click Create.

Enter text Account in the search bar and drag & drop the Account table column in the View’s preview.
NOTE
You can also clear the Show only unused table columns checkbox selection to view all columns, including those that are already added to the View’s preview.
To add more columns, you can perform the same steps as shown above. 
Once you have added the columns, click Sort by… and select a column such as Name to sort the Table.
To sort more columns, you can perform the same steps as shown above. 
To add rows and conditions to filters, click Edit filters...

Click Add and select Add row.

Select a column such as Account and conditional operator as Contains data.
To add more rows and conditions, you can perform the same steps as shown above. 
Select the checkboxes for the conditions that you want to group together and click the More commands icon…

Select Make group.

Select condition as either And or Or for a filter and click Ok.

Click Save and then click Publish.

Click Back.
Table Column View is created.Add a Form to Table/Entity
Go to the Forms tab.

Select an existing Form Name that has Form type as Main.

Go to the General section in tree view and enter mandatory* field details such as Label and Name.
Select the Expand this tab by default checkbox.

In the right pane, click Formatting and select Layout as 2 columns.
Note that you can select up to 3 columns as Layout.
Click the Table columns icon and select All in the search bar.
NOTE
To apply more filters to your search other than All, you can also select Default or Custom in the search bar.

Drag & drop the Account field onto the Form’s preview.

Click New section and enter its mandatory* field details such as Label and Name.
To add more fields onto the Form’s preview, you can perform the same steps as shown above. 
Click Save.

To create a new tab, click the Component icon, select 2-column tab, and go to the New Tab.

Enter mandatory* field details such as Label and Name.
To add fields onto the Form’s preview, you can perform the same steps as shown above. Click Publish.

Click Back.

Click the recently created Solution and then click Publish all customizations.
Main Form is created.
Create a Model-driven app in a Solution
Click New, select App, and then select Model-driven app.
Create a New App page opens. Enter mandatory* field details such as Name.
NOTE
Once data is entered in the Name field, the Unique Name field value is auto-populated however, it can be edited.
Select the Use existing solution to create the App checkbox and click Next.
Create app from existing solution page opens.
Select a Solution in the drop-down list from which you want to create an App and click Done.
App Designer page opens. Design Site Map
Click the Open the Site Map Designer edit icon.

Click the Edit this title icon against New Area and enter text as per your requirements.

Similarly, click the Edit this title icon against New Group and enter text as per your requirements.

Click the Edit this title icon against New Subarea.
Properties tab opens in the right pane. Select Type such as Entity and Entity as Analytics.
NOTE
The Type field provides a variety of options to select from such as Dashboard, Entity, Web Resource, and URL. You can select any option as per your requirements.

Click Add and select Subarea.
To add another Subarea, perform the same steps as shown above and select Entity as Accounts. 
Click Add and select another Subarea.

Select Type as URL.
Enter field details such as URL and Title.

Click Save And Close.

Scroll down to Entity View and click Forms against Account.
Clear the All checkbox selection and select the Main Forms checkboxes such as Account, Growth Account, etc.

Similarly, you can click Views against Account.
Clear the All checkbox selection and select the Main Forms checkboxes such as Accounts I Follow, Active Accounts, etc.
Similarly, you can perform the same steps as shown above for the Analytics component in Entity View. Click Save.

Click Publish.

Go back to Power Apps and click Done.
Model-driven app is created in your Solution.IMPORTANT
Ensure that you click Save after each customization is completed.
Open App Launcher.

Click Dynamics 365.
Dynamics 365 Home page opens. Enter text My app name in the search bar and click the My app name link in search results.
Customized App displays. 
Add a Business Process Flow (BPF) to Solution
Go back to the recently created Solution, click New, and select Cloud flow.

Click My flows.

Go to the Business process flows tab.

Click New.

Enter mandatory* field details such as Flow name and Name, Choose a table, and click Create.
For example, we have chosen Account table under Choose a table. Note that you can choose any custom table as per your requirements.
NOTE
Once data is entered in the Flow name field, the Name field value is auto-populated however, it can be edited.
While choosing a table, ensure that you select a Table/Entity that you want to add the Business Process on.
Add a Stage
In the right pane, enter field details such as Display Name as Qualify, select Category as Qualify, and click Apply.

Click Add and select Add Stage.

Click the plus icon.

Similarly, in the right pane, enter field details such as Display Name as Develop, select Category as Develop, and click Apply.

Alternatively, to add a new Stage, you can also click a Stage name.
Click Copy and then click Paste.
Click the plus icon.

Similarly, in the right pane, enter field details such as Display Name as Propose, select Category as Propose, and click Apply.
To add another Stage, perform the same steps as shown above and enter field details such as Display Name as Closed and select Category as Close.
All Stages are created.IMPORTANT
Ensure that you click Apply after each customization is completed.
Add Steps to a Stage
In Qualify stage, click Details and then click Data Step #1.
In the right pane, enter field details such as Step Name as Account Name, select Data Field as Account Name, and click Apply.
NOTE
You can also select the Required checkbox for a Data Step as per your requirements.

Similarly, in Develop stage, click Details and then click Data Step #1.
In the right pane, enter field details such as Step Name as TM Account Name, select Data Field as TM Account Name, and click Apply.

To add more Data Steps, click Add and select Add Data Step.

Click the plus icon under Data Step #1.

Click Data Step #2.
In the right pane, enter field details such as Step Name as TM Agency Type, select Data Field as TM Agency Type, and click Apply.

Similarly, perform the same steps as shown above for Propose and Closed stages.
In Propose stage, enter field details such as Step Name as Current FY Transactions and select Data Field as TM Current FY Transactions.
In Closed stage, enter field details such as Step Name as Total Funds Awarded and select Data Field as Total Funds Awarded.
Again, in Closed stage, enter field details such as Step Name as Total Contract Value and select Data Field as Total Contracts.
NOTE
Ensure that you select the Required checkbox for both Fields and Data Steps in the Closed stage.
Click Save and then click Validate.

Click Activate.

Process Activate Confirmation message displays, click Activate.

Go back to Power Apps and click Done.

Click Add existing and select Process.

Enter text Business process flow name in the search bar, select a Business process flow, and click Add.
Business process flow is added to your Solution. 
Add Business Process Flow in Model-driven app
Click All and select Model-driven app.

Click the recently created Model-driven app.
App Designer page opens.Click Business Process flows.
In the right pane, clear the All checkbox selection and select your newly created Business process flow checkbox.
Once you have selected the newly created BPF checkbox, note that the same component is added onto the Entity View as highlighted in the image below. Click Save.

Click Publish.

Go back to Power Apps and click Done.

Configure Business Process Flow Settings
To navigate to your app in Dynamics 365, perform the same steps as shown here.
Go to Accounts and click to open a record.

Click the More commands for accounts icon and select Process.

Click Switch Process.

Select the recently created Business process flow and click OK.
Business process flow is now visible on your Account record page. 
Update Entity Record by Power Automate/Flow
Open App Launcher and click Power Apps.

Go to Solutions and click a Solution that you wish to customize/configure.

Click New and select Cloud flow.
New Cloud flow window opens. Click Untitled and enter a Name for the Cloud flow.


Click Common Data Service (that is the current environment).

Click When a row is added, modified or deleted.

Select Change type as Update, Table name as Accounts, Scope as Organization, and click New Step.

Click Condition.

Click Choose a value and enter text Account Record Type in the Search dynamic content box.


Select Account Record Type.

Click Choose a value and enter the number 2.


Click Add an action.

Click Common Data Service.

Scroll down and click Update a row.

Select Table name as Accounts and click the text box against Row ID.


Enter text Account in the Search dynamic content box and click Account.

Click Show advanced options.

Scroll down and enter text 50000 against Annual Revenue.

Click Save.

Go back to an Account record with Account Record Type as State/Local Government, ensure that the Annual Revenue field is blank, and click Save.
Annual Revenue field is auto-populated with value 50000 that was set as per the Test Update Record flow added earlier. 
Create a Business Rule
Go back to Solutions and click Account.

Go to the Business rules tab and click Add business rule.
New business rule window opens. Click the arrow icon to expand and view the Business rule name and Description fields.

Enter field details such as Business rule name and Description.

Click Add and select Add Condition.

Click to select the Condition box.

Enter field details such as Display Name, Entity, Source, etc. and click New to add another Condition.

Enter field details such as Source, Field, Operator, etc.

Click Add and select Add Show Error Message.

Click to select the Show Error Message box.

Enter field details such as Display Name, Entity, Field, etc. and click Apply.
Validation successful! message displays. Click Save.

Click Validate.
Validation successful! message displays again. Click Activate.
Process Activation Confirmation message displays. Click Activate.
Business rule will be activated once the progress bar turns green.
Note that you can also select where this Business rule needs to be activated by selecting a value in the Scope field. 
NOTE
The above action can ONLY be performed prior to the activation of a Business rule.
You can view the newly created Business rule by going back to the Solutions page.

Go back to an Account record with Account Record Type as Public Agencies.

Here, enter a value that is less than 50000 in the Annual Revenue field to display an error message as per the newly created Business rule.

Configure Chart on View
Create a View
Go back to Accounts and click the Advanced Find icon.
Advanced Find window opens. Select a field name against Look for, [new] against Use Saved View, and click Select.

Select a field from the drop-down menu, click Equals, and select Contains Data.


Click Edit Columns.
Edit Columns window opens. Click Add Columns.

Select the checkboxes of the columns to be added and click OK.
Columns are added. Click OK again.

Click Edit Properties.

Enter all mandatory* field details such as Name and click Save.
View is saved. Click Saved Views.
Here, you can find the newly created View. 
Add a Chart
Click the arrow icon against My Saved View and select the newly created View.

Click Show Chart.

Click the More Commands icon and select New.

Enter details such as Legend Entries (Series) and Horizontal (Category) Axis Labels and click Pie.

NOTE
Chart Designer field is auto-populated based on the values in the Legend Entries (Series) and Horizontal (Category) Axis Labels fields.
Click Save.

Enter all mandatory* field details such as Name and click Save.
Chart is added. Go back to the newly created View and expand the drop-down menu against Accounts by Industry.
Here, you can find the recently added Chart under My Charts. You can then click a Chart name to view it.


Click a Section of the pie chart to display filtered records.

Select an attribute under Drill down by and then select a Chart type.
Drilled down version of the Chart displays based on the selected Chart type. 
Configure Security Roles
Click an Environment that you wish to customize/configure.

Click Settings.

Click the arrow icon and select Security roles.

Click a Role to open it.
List of Users with Role as Growth Manager opens. 
Click Security roles.

Click New role.
New Security Role page opens. Enter all mandatory* field details such as Role Name.

NOTE
Business Unit field is auto-populated.
Go to the Core Records tab, click the Entities that are to be granted privileges, and then click Save and Close.
NOTE
You can click an Entity multiple times to change its privileges from None to Organization. You can also change an individual privilege by clicking its respective icon.
Creating role… message displays.
Security Role is created.
Configure Model Apps for Different Security Roles
Click the App Name you are currently working in to select an App (in this case, TechnoMile Growth App).
A new window opens. Click the ellipsis … icon next to Demo Power Platform and select MANAGE ROLES.

Select the Security Roles that would have access to the selected App (in this case, Demo Power Platform) and click Save.
Security Roles are added.
You can also assign a specific URL by clicking App URL Suffix, entering the URL you wish to assign, and clicking Save.
App URL is updated.
Import Data into Dynamics 365
Open the Settings sitemap and click Data Management.

Click Imports.

Click IMPORT DATA.

A popup window opens, click Choose File.

Select the Data_Config.csv file that you had received from TechnoMile, which is saved on your system.
Data_Config.csv file is selected, click Next.

Click Next.

Click Next.

Click the drop-down menu under the Microsoft Dynamics 365 Record Types column and select Config.
Click Next.

Click Next.

Click Next.

Click Submit.

Click Finish.
Data_Config.csv file is imported.
Customize Revenue Calculation Formulae
Open the Settings sitemap and click Customizations.

Click Customize the System

Click Entities.

Scroll down and click Opportunity to expand the hierarchy below it.
Opportunity hierarchy displays, select Fields.

Double-click the Name that has fedcap_factor_revenue_calc and Display Name that has Factored Revenue Calculation.

To modify the Factored Revenue Calculation formula, click Edit and then click Save in the following window.


Similarly, double-click the Name that has fedcap_unfactor_revenue_calc and Display Name that has Unfactored Revenue Calculation.
To modify the Unfactored Revenue Calculation formula, you can perform the same steps as shown in this section.
Factored and Unfactored Revenue Calculation formulae will be customized.
Customize a Form in Power Apps
Go back to Solutions in Power Apps.
Click Default Solution.

Enter text Opportunity in the search bar and click Opportunity against Table Type.

Go to the Forms tab and click Growth Opportunity against Main Form type.
Power Apps Form page opens. Add a Tab & Section
Go to Components.
Drag & drop 2-column tab onto the Form preview.
Enter both Label and Name as General.

NOTE
When you drag & drop a tab from Components onto the Form preview, a New Section is added on the tab, by default.
Click New Section, enter both Label and Name as Summary, and click Save.

Add Fields in Section
Go to Table columns and clear the Show only unused table columns checkbox selection.

Enter text Opportunity Name in the search bar and drag & drop the Opportunity Name field into the Summary section.

Similarly, you can perform the same steps to drag & drop other fields into the section and click Save.

Fields are added.Add a Library & Configure an Event
Go to Form libraries and click Add library.

Enter text Opportunity Customizations.js in the search bar, select Opportunity Customizations.js, and click Add.
Library is added. Go to Tree view and click Growth Opportunity.
Go to the Events tab.

Expand On Load and click Event Handler.

Select Library as fedcap_opportunityCustomization.js.
Enter Function as Customizations.
Select both the Enabled and Pass execution context as first parameter checkboxes and click Done.
Event is configured for Growth Opportunity. Click Save and then click Publish.

Configure Web Resource
Click Switch to classic.

Click to select the Section under General.
Go to the INSERT tab and click Web Resource.

Enter Web resource as fedcap_ScorecardPopUp and Name as UICustomization_General and click OK.

NOTE
Once the Name field value is inserted, then the Label field value is auto-populated accordingly.
Go back to the HOME tab, click Save, and then click Publish.
Publishing customizations… message displays.
Web Resource is configured.
Similarly, you can perform the same steps as shown above to configure a Form for a different entity.
Configure Button on Ribbon Workbench
Click the Settings icon and select Advanced Settings.

Open the Settings sitemap and click Solutions.

Click Ribbon Workbench 2016.
Ribbon Workbench window opens. Select EmployeeRibbon and click OK.

Drag & drop BUTTON into the Form section.

Enter Id as new.fedcap_employee.Save.
Enter Label, Alt, Tool Tip Title, and Tool Tip Description as Save.

Click the plus icon against COMMANDS.

Enter Id as new.fedcap_employee.SaveCommand.

Click Add Action and select Javascript Action.

Enter Library as tm_SaveButtonFunctionality, click the lookup icon, and select tm_SaveButtonFunctionality.

Enter Function Name as CustomizedUISave.

Go to the recently created Save button and select Command as new.fedcap_employee.SaveCommand.

Click Publish.

A confirmation message displays, click OK.
Save button is configured. 
NOTE
You can also configure other ribbon buttons using Workbench. To configure a ribbon button on other entities, perform the same steps as shown above.
