Questions
Questions
You create a suite of Power Platform-based order management canvas apps for a bakery that
has five retail stores. Each store uses a tablet device to manage inventory and process orders.
You need to make the following changes to the original order tracking app:
When an online order for delivery is received, send the order to the bakery that is located
closest to the order destination.
✑ When an online order for pickup is received, require store staff to enter an estimated time in
an app. Staff must prepare the order and then use the app to notify the customer when the
order is ready.
✑ Allow the store manager to personalize the companyג€™s corporate weekly newsletter and
add store-specific specials.
You must minimize the amount of custom code and configuration required to implement the
solution.
What should you use? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
Hot Area:
Correct
Answer:
1
Box 1: Power Automate flow -
Do you want to get the user's location whose location is closest to the current device, then use key is to
use Bing Map connector.
The Bing Map connector is available in the following products and regions:
2
Question # 2
A company has an application that provides API access. You plan to connect to the API from a
canvas app by using a custom connector.
You need to request information from the API developers so that you can create the custom
connector.
Which two types of files can you use? Each correct answer presents a complete solution.
NOTE: Each correct selection is worth one point.
• A. YAML
• B. WSDL
• C. OpenAPI definition
• D. Postman collection
Question # 3
You plan to create a canvas app to manage large sets of records. Users will filter and sort the
data.
You must implement delegation in the canvas app to mitigate potential performance issues.
You need to recommend data sources for the app.
Which two data sources should you recommend? Each correct answer presents a complete
solution.
NOTE: Each correct selection is worth one point.
• A. SQL Server
• B. Common Data Service
• C. Azure Data Factory
• D. Azure Table Storage
When you are creating reports from large data sources (perhaps millions of records), you want to
minimize network traffic.
Working with large data sets requires using data sources and formulas that can be delegated. It's the
only way to keep your app performing well and ensure users can access all the information they need.
Delegation is supported for certain tabular data sources only.
These tabular data sources are the most popular, and they support delegation:
✑ Common Data Service
✑ SharePoint
3
✑ SQL Server
Reference:
https://docs.microsoft.com/en-us/powerapps/maker/canvas-apps/delegation-overview
Question # 4
Correct
Answer:
Box 1: Out-of-the-box
4
Reference:
https://docs.microsoft.com/en-us/dynamics365/field-service/mobile-power-app-system-barcode-
scanning https://docs.microsoft.com/en-us/power-automate/replace-workflows-with-flows
Question # 5
Correct
Answer:
5
If your organization is already using document management with Microsoft Dynamics CRM List
Component, you must switch to server-based SharePoint integration.
If your organization has not deployed document management, when a System Administrator logs in an
alert message will be displayed to enable server-based
SharePoint integration.
https://docs.microsoft.com/en-us/power-platform/admin/set-up-server-side-synchronization-of-email-
appointments-contacts-and-tasks
https://docs.microsoft.com/en-us/power-platform/admin/set-up-dynamics-365-online-to-use-
sharepoint-online#configure-customer-engagement-apps-for-sharepoint-document-management
Question # 6
A company plans to create an order processing app. When orders are created, the app will
perform complex business logic and integrate with several external systems.
Orders that have a large number of line items may take up to six minutes to complete.
Processing for each order must be completed in one operation to avoid leaving records in an
incomplete state.
You need to recommend a solution for the company.
What should you recommend?
Correct Answer: C
Workflows and Plugins have a 2 min timeout. This can be implemented using webhook and
Azure function where the Azure function uses batch operations Web API which enables
transactional operations and can run more than 2 mins.
https://docs.microsoft.com/en-us/powerapps/developer/data-platform/webapi/execute-batch-
operations-using-web-api
Incorrect Answers:
B: Real-time Workflows roll back all changes if it fails. As the Workflow is going through the
process itself, if it fails, it will roll back all of the prior steps taken.
A: With Background Workflows, actions will not roll back if it fails. All changes are up-to-date
until the failure occurs. The workflow will stop at this point due to the failure.
Reference:
https://ledgeviewpartners.com/blog/what-are-the-differences-between-real-time-and-
background-workflows-in-microsoft-dynamics-365-crm/
Question # 7
6
You work for a not-for-profit agency that manages business processes by using Power Platform custom
entities.
Volunteer registration and onboarding are manual processes that include multiple related entities.
You need to implement a portal solution that replaces the manual processes.
Which modules should you use? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
Hot Area:
Correct Answer:
7
✑ Starter portal: If you select an environment that contains Microsoft Dataverse, you can create a
Dataverse starter portal. The Dataverse starter portal comes with the sample data for you to quickly get
started. It also has the following built-in sample pages:
Question # 8
A. Content snippet
B. Web page
C. Web template
D. Page template
E. Portal settings
https://docs.microsoft.com/en-us/learn/modules/liquid-template-language/1-introduction
8
Question # 9
DRAG DROP -
A company uses Common Data Service (CDS) and manages their engineers using a model-
driven app.
You create a new reusable custom component named Component1 by using the Power Apps
component framework (PCF).
You need to package Component1 for deployment into the model-driven app.
Which three commands should you run in sequence? To answer, move the appropriate actions
from the list of actions to the answer area and arrange them in the correct order.
Select and Place:
Correct
Answer:
9
Step 1: pac solution init --publisher-name <publisher> --publisher-prefix <prefix>
Create a new solutions project using the following command. The solution project is used for bundling
the code component into a solution zip file that is used for importing into Dataverse. pac solution init --
publisher-name developer --publisher-prefix dev
Step 2: pac solution add-reference --path <control-path>
Once the new solution project is created, refer the Solutions folder to the location where the created
sample component is located. You can add the reference using the command shown below. This
reference informs the solution project about which code components should be added during the build.
You can add references to multiple components in a single solution project. pac solution add-reference -
-path c:\downloads\mysamplecomponent
Step 3: msbuild /t:build /restore
To generate a zip file from the solution project, go into your solution project directory and build the
project using the following command. This command uses
MSBuild to build the solution project by pulling down the NuGet dependencies as part of the restore.
Use the /restore only for the first time when the solution project is built. For every build after that, you
can run the command msbuild. msbuild /t:build /restore
Reference:
https://docs.microsoft.com/en-us/powerapps/developer/component-framework/import-custom-
controls
Question # 10
10
A. Create a N:N relationship from Contact to the Region entity.
B. Create a 1:N relationship from the ContactRegion intersect entity and Region.
C. Create an intersect entity named ContactRegion and create 1:N relationships to Contact and
Region.
D. On the main form for ContactRegion, add lookup fields for Contact and Region, and a date field
for the visit date.
G. On the main form for ContactRegion, add a sub-grid to view country information.
H. Create an intersect entity named ContactRegion and create N:1 relationships to Contact and
Region.
Question # 11
A company uses Common Data Service rollup fields to calculate insurance exposure and risk profiles
for customers.
Users report that the system does not update values for the rollup fields when new insurance policies
are written.
You need to recalculate the value of the rollup fields immediately after a policy is created.
What should you do?
A. Create new fields on the customer entity for insurance exposure and risk. Write a workflow
process that is triggered when a new policy record is created to calculate the sum of values from
policy records.
B. Update the Mass Calculate Rollup Field job to trigger when a new policy record is created.
C. Create a business rule that forces the refresh of the rollup field when the customer record is
updated.
D. Create new fields on the customer entity for insurance exposure and risk. Write a plug-in that is
triggered whenever a new policy record is created.
Correct Answer: C
As a system administrator, you can modify the rollup job recurrence pattern, postpone, pause, or resume
the rollup job.
To pause, postpone, resume, or modify the recurrence pattern, you must view the system jobs. More
information View Rollup jobs
On the nav bar, choose Actions and select the action you want.
For the Calculate Rollup Field job, the available selections are: Modify Recurrence, Resume, Postpone,
and Pause.
For the Mass Calculate Rollup Field job, the available selections are: Resume, Postpone, and Pause.
11
Note: Calculate Rollup Field is a recurring job that does incremental calculations of all rollup columns in
the existing rows for a specified table. There is only one
Calculate Rollup Field job per table. The incremental calculations mean that the Calculate Rollup Field
job processes the rows that were created, updated, or deleted after the last Mass Calculate Rollup Field
job finished execution. The default maximum recurrence setting is one hour. The job is automatically
created when the first rollup column on a table is created and deleted when the last rollup column is
deleted.
Incorrect Answers:
B: Mass Calculate Rollup Field is a recurring job, created per a rollup column. It runs once, after you
created or updated a rollup column. The job recalculates the specified rollup column value in all existing
rows that contain this column. By default, the job will run 12 hours after you created or updated a
column. After the job completes, it is automatically scheduled to run in the distant future,
approximately, in 10 years. If the column is modified, the job resets to run again in 12 hours after the
update. The 12-hour delay is needed to assure that the Mass Calculate Rollup Field runs during the non-
operational hours of the environment.
Reference:
https://docs.microsoft.com/en-us/powerapps/maker/data-platform/define-rollup-fields
Question # 12
A university implements Dynamics 365 Sales. Several departments use opportunity records to bid for
funding for projects within their own departments. You configure the system to ensure that each
department can only work on their own records.
Employees in multiple departments often need to work together on an opportunity. Employees report
that they are not able to see opportunities from other departments.
You need to ensure that employees from more than one department can work on the same opportunities
when necessary.
Solution: Use position hierarchy security and define the two departments as positions.
Does the solution meet the goal?
A. Yes
B. No
Correct Answer: A
Two security models can be used for hierarchies, the Manager hierarchy and the Position hierarchy. The
Position hierarchy allows data access across business units. If you are a financial organization, you
may prefer the Manager hierarchy model, to prevent managersג€™ accessing data outside of their
business units.
However, if you are a part of a customer service organization and want the managers to access service
cases handled in different business units, the Position hierarchy may work better for you.
Note: The hierarchy security model is an extension to the existing security models that use business
units, security roles, sharing, and teams. It can be used in conjunction with all other existing security
models. The hierarchy security offers a more granular access to records for an organization and helps
to bring the maintenance costs down.
Reference:
https://docs.microsoft.com/en-us/power-platform/admin/hierarchy-security
12
Question # 13
A university implements Dynamics 365 Sales. Several departments use opportunity records to bid for
funding for projects within their own departments. You configure the system to ensure that each
department can only work on their own records.
Employees in multiple departments often need to work together on an opportunity. Employees report
that they are not able to see opportunities from other departments.
You need to ensure that employees from more than one department can work on the same opportunities
when necessary.
Solution: Create a security role that has organization-level access to opportunities. Give this security
role to all members of the two departments who need access.
Does the solution meet the goal?
A. Yes
B. No
Correct Answer: B
Instead use position hierarchy security and define the two departments as positions.
Reference:
https://docs.microsoft.com/en-us/power-platform/admin/hierarchy-security
Question # 14
A university implements Dynamics 365 Sales. Several departments use opportunity records to bid for
funding for projects within their own departments. You configure the system to ensure that each
department can only work on their own records.
Employees in multiple departments often need to work together on an opportunity. Employees report
that they are not able to see opportunities from other departments.
You need to ensure that employees from more than one department can work on the same opportunities
when necessary.
Solution: Use access team templates and give access to members in the two departments.
Does the solution meet the goal?
A. Yes
B. No
Correct Answer: B
Instead use position hierarchy security and define the two departments as positions.
Reference:
https://docs.microsoft.com/en-us/power-platform/admin/hierarchy-security
Question # 15
An international organization has a series of client-server applications that manage red light cameras
and traffic violations across a wide geographic region. The daily volume of traffic violations is very high
and growing.
You plan to use Microsoft Power Platform apps to manage the following types of data:
✑ Existing vehicle licensing data must be imported into Common Data Service and easily queried.
13
✑ Red light camera images must be stored in a repository for later analysis.
✑ Information about traffic violations must be stored and related to vehicle details.
You need to select data storage mechanisms for the new apps.
Which data storage mechanisms should you use? To answer, drag the appropriate data storage
mechanisms to the correct data types. Each storage mechanism may be used once, more than once, or
not at all. You may need to drag the split bar between panes or scroll to view content.
NOTE: Each correct selection is worth one point.
Select and Place:
Correct
Answer:
Question # 16
A financial institution that has a Dynamics 365 Sales environment requires that the account balance
field from the account entity be visible to specific users only.
You need to set up the field security for the account balance field.
Which three actions should you perform? Each correct answer presents part of the solution.
NOTE: Each correct selection is worth one point.
B. Set the field permission Allow Read to Yes and add the users to the members section
C. Create a security role and add the specific users to the role
14
E. Create a field security profile
Question # 17
15
Hot Area:
16
Correct
Answer:
17
capabilities of the language. The FetchXML language supports similar query capabilities as query
expressions.
Incorrect Answers:
The Data Export Service exposes a REST-based API that is divided into two groups: a set of Metadata
operations for exploring Dataverse organizational structure, relationships, and connection information;
and a set of Profiles operations for configuring and managing each data replication.
Box 4: /crm/exporter/{id}/activatedata
profiles/{id}/activatedata
Activate profile for data replication only.
Note: profiles/{id}/activate -
Activate a profile, which starts replication of both the associated table definitions and data.
Question # 18
18
Hot Area:
Correct
Answer:
19
Question # 19
DRAG DROP -
A company has Common Data Service (CDS) environments for development, test, and production.
You have a model-driven app that consists of two solutions. The solutions include settings and
reference data. You plan to move the solutions, app settings, and reference data from a development
environment to a production environment.
You export each solution from the development environment as a zip file.
You run the Configuration Manager to export the settings and reference data as zip files.
You need to prepare the app and its settings for deployment.
Which four actions should you perform in sequence? To answer, move the appropriate actions from the
list of actions to the answer area and arrange them in the correct order.
NOTE: More than one order of answer choices is correct. You will receive credit for any of the correct
orders you select.
Select and Place:
Correct
Answer:
20
Step 1: Create a Dynamics 365 Package project in Visual Studio
Reference:
https://docs.microsoft.com/en-us/power-platform/alm/package-deployer-tool
Question # 20
HOTSPOT -
You have a model-driven app that uses the Common Data Service (CDS). You create three custom
entities that are in many-to-one parental relationships with the
Account entity.
You run a real-time workflow that assigns an account you own to another user. You receive the error
message as shown in the Error Message exhibit. (Click the
Error Message tab.)
21
You check the security roles for the user as shown in the Manage User Roles exhibit. (Click the Manage
User Roles tab.) You also check the privileges for that role as shown in the Common Data Service User
Security Role exhibit. (Click the Security Role tab.)
22
You need to prevent the error from recurring.
For each of the following statements, select Yes if the statement is true. Otherwise, select No.
NOTE: Each correct selection is worth one point.
Hot Area:
Correct
Answer:
23
Box 1: No -
There is a read error.
Box 2: No -
Note: The Environment Maker role can create resources within an environment including apps,
connections, custom connectors, gateways, and flows using Power
Automate.
Box 3: Yes -
The System Customizer role is like the System Administrator role which enables non-system
administrators to customize Dynamics 365. A Customizer is a user who customizes entities, attributes,
and relationships.
Box 4: Yes
Question # 21
DRAG DROP -
A company is creating a new system based on Common Data Service.
You need to select the features that meet the company’s requirement.
Which options should you use? To answer, drag the appropriate options to the correct requirements.
Each option may be used once, more than once, or not at all.
You may need to drag the split bar between panes or scroll to view content.
NOTE: Each correct selection is worth one point.
24
Select and Place:
Correct
Answer:
Reference:
https://docs.microsoft.com/en-us/powerapps/maker/common-data-service/create-edit-entity-
relationships
Question # 22
A school district wants to standardize student information and student performance records. Students
in the district are assigned to a specific school. Students are evaluated using class records.
When students move between schools in the middle of a school year, the studentג€™s current class
history must be available to the administrators at the new school.
You need to configure Microsoft Dataverse tables to connect the class history records to their
respective class records.
How should you configure the table? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
25
Hot Area:
Correct
Answer:
26
Box 2: Many-to-one -
Box 3: Parental -
The N:1 (many-to-one) relationship type exists in the user interface because the designer shows you a
view grouped by tables. 1:N relationships actually exist between tables and refer to each table as either
a Primary/Current table or Related table. The related table, sometimes called the child table, has a
lookup column that allows storing a reference to a row from the primary table, sometimes called the
parent table. A N:1 relationship is just a 1:N relationship viewed from the related table.
Reference:
https://docs.microsoft.com/en-us/powerapps/developer/data-platform/user-team-entities
https://docs.microsoft.com/en-us/powerapps/maker/data-platform/create-edit-entity-
relationships#types-of-table-relationships
Question # 23
HOTSPOT -
You are developing an app for a sales team to record contact details in their Common Data Service
database.
The app must handle loss of network and save the data to Common Data Service when reconnected.
The main screen of the app has a form to collect contact data and a button. The OnSelect property for
the button has the following expression:
For each of the following statements, select Yes if the statement is true. Otherwise, select No.
NOTE: Each correct selection is worth one point.
27
Hot Area:
Correct
Answer:
Box 1: No - There is no code written to sync COLLECTION data when connection is re-established.
Box 2: No – A ClearCollect is being used here and at any point in time would only contain only one
record(which was the last record inserted into the collection when the button was clicked)
Box 3: No - A Patch function with defaults rather creates a new record and doesn't update existing
record, if it were updating, a Lookup function will be in place of defaults.
Box 4: Yes - Irrespective of whether there is a connection or not, data is saved in the Collection.
References:
https://docs.microsoft.com/en-us/powerapps/maker/canvas-apps/offline-apps
Question # 24
28
You are creating a new page for a Power Apps portal.
You need to display data from Microsoft Dataverse on the page.
What should you use?
A. Liquid
B. CSS
C. iFrame
D. Bootstrap
Correct Answer: A
Liquid is an open-source template language that is integrated natively into Microsoft Power Apps
portals. It acts as a bridge between Dataverse and the HTML or text output that is sent to the browser.
Liquid can be used to add dynamic content to pages and to create a variety of custom templates.
Additionally, Liquid provides access only to the data and operations that are explicitly allowed by the
portals.
Reference:
https://docs.microsoft.com/en-us/learn/modules/liquid-template-language/
Question # 25
DRAG DROP -
You are creating a canvas app for a company. A security role has been created for sales representatives
and a second security role has been created for sales managers.
The canvas app has the following requirements:
✑ Sales managers must be able to view the records of the salespeople in their business unit.
✑ Sales managers must be the only people who can view sales probability data in opportunity records.
✑ Sales representatives and new hires assigned to the same territory share access to sales records.
You need to assign permissions for the app.
Which security options should you use? To answer, drag the appropriate security options to the correct
scenarios. Each security option may be used once, more than once, or not at all. You may need to drag
the split bar between panes or scroll to view content.
NOTE: Each correct selection is worth one point.
Select and Place:
29
Correct
Answer:
Question # 26
HOTSPOT -
You open a canvas app in edit mode. A warning message displays as shown in the graphic.
30
Use the drop-down menus to select the answer choice that answers each question based on the
information presented in the graphic.
NOTE: Each correct selection is worth one point.
31
Hot Area:
Correct
Answer:
32
Box 1: Navigate to Connections and add a new connection
Error message: This app is using a connector for the Common Data Service will not be supported past
Oct 1, 2020.
To convert your app that uses the Common Data Service 365 connector, you'll need to remove and add
the connections to your data sources.
Box 2: Gallery1 -
Reference:
https://docs.microsoft.com/en-us/powerapps/maker/canvas-apps/use-native-cds-connector
Question # 27
33
D. On the associated view of the account.
Question # 28
An organization uses Dynamics 365 Sales. You plan to add a custom button to the app ribbon.
You need to ensure that the button displays only when conditions specified by business rules are met.
Which two code segments can you use? Each correct answer presents a complete solution.
NOTE: Each correct selection is worth one point.
A. gridContext.refresh();
B. formContext.ui.refreshRibbon(refreshAll);
C. formContext.data.refresh(save).then(successCallback, errorCallback);
D. formContext.ui.refreshRibbon();
E. formContext.getControl(arg).refresh();
Correct Answer: BD
B: formContext.ui.refreshRibbon(refreshAll);
Causes the ribbon to re-evaluate data that controls what is displayed in it.
Indicates whether all the ribbon command bars on the current page are refreshed. If you specify false,
only the page-level ribbon command bar is refreshed. If you do not specify this parameter, by default
false is passed.
Remarks: This function is typicaly used when a ribbon (RibbonDiffXml) depends on a value in the form.
After your code changes a value that is used by a rule, use this method to force the ribbon to re-evaluate
the data in the form so that the rule can be applied.
D: If role is there - just refresh the ribbon to see the button if (isButtonEnabled) {
formContext.ui.refreshRibbon();
}
},
Reference:
https://docs.microsoft.com/en-us/powerapps/developer/model-driven-
apps/clientapi/reference/formcontext-ui/refreshribbon
https://community.dynamics.com/crm/f/microsoft-dynamics-crm-forum/302049/show-hide-button-
bases-on-different-criteria/871674
Question # 29
HOTSPOT -
A fine arts school uses a custom canvas application based on the Common Data Service (CDS)
34
platform.
Artists experience errors on their Artist canvas app and delays when switching pages.
You need to identify the root causes of these issues.
Which troubleshooting methods should you use? To answer, select the appropriate options in the
answer area.
NOTE: Each correct selection is worth one point.
Hot Area:
Correct
Answer:
35
Incorrect Answers:
With Solution checker, you can inspect your code against a set of best practice development rules
specific to customizing and extending the CDS for Apps platform. Get access to rich detailed reports
listing issues identified, severity, locations, and sometimes the line code, with linkage to detailed
prescriptive guidance on how to fix the problem.
PowerApp Checker checks your solution for any usage of code that was deprecated or any performance
or security issues in the code. It checks the plugin code as well as web resources.
Box 2: Service Performance in Power Apps Analytic
Regarding Microsoft Power Apps Canvas Driven Apps: for reviewing performance bottlenecks and API
calls, admins can leverage the Service Performance report for connection health. Admins can gain
insights into the least and best performing services, the mean response time and success rate for
connectors and the 50th,
75th and 95th percentile markers for response time. Each of these can be filtered down by service or
connector, device, player version and regionally.
References:
https://docs.microsoft.com/en-us/dynamics365/customerengagement/on-
premises/customize/validate-app
https://community.dynamics.com/crm/b/crminthefield/posts/monitoring-the-power-platform-canvas-
driven-apps---power-apps-analytics
Question # 30
A create a model-driven app. You run Solution checker. The tool displays the following error:
Solution checker fails to export solutions with model-driven app components.
You need to resolve the issue.
What should you do?
B. Assign the Environment Maker security role to the Power Apps Checker application user
Correct Answer: B
To resolve this issue, grant the Environment Maker security role to the Power Apps Checker application
user.
Note: Solution checker fails to export solutions with model-driven app components
If a solution contains a model-driven app, Solution Checker might fail to export the solution for analysis.
This error is caused by role-based security for sharing of apps. If the Power Apps Checker application
user does not have appropriate access to model-driven apps, any solutions containing them will fail to
36
export with solution checker.
Reference:
https://docs.microsoft.com/en-us/powerapps/maker/data-platform/common-issues-resolutions-
solution-checker#solution-checker-fails-to-export-solutions-with- model-driven-app-components
Question # 31
DRAG DROP -
Technicians for a company use a model-driven app on their phones to record information about service
visits. Users do not have permissions to the Power Apps maker portal to create or update apps.
Technicians report issues with the model-driven app. You are unable to reproduce the issues in a
development environment.
You need to provide instructions to the technicians to gather more details about the errors.
Which four actions should you recommend be performed in sequence? To answer, move the appropriate
actions from the list of actions to the answer area and arrange them in the correct order.
Select and Place:
Correct
Answer:
37
Step 1: Open the app in a browser on the phone.
Step 2: Add the following text to end of the URL for the app: "&monitor=true"
You can start a Monitor session from a model-driven app. To do this, append &monitor=true to the end
of the URL in the browser. This displays the Monitor command on the model-driven app global
command bar. Select Monitor to open a monitoring session in a new tab.
Step 3: Perform the steps to generate the errors and download the results from Monitor.
Step 4: Open the application in a browser on a laptop computer when they return to the office
References:
https://powerapps.microsoft.com/en-us/blog/monitor-now-supports-model-driven-apps/
Question # 32
You deploy a Power Platform plug-in to a production environment. The plug-in code contains detailed
tracing information. You are a member of the Environment
Maker security role for the environment.
Users report unexpected results when they interact with confidential data by using the plug-in. You
confirm that the plug-in works without errors in a development environment.
You need to investigate the root cause of the plug-in errors.
What should you do?
A. Send a PUT request to enable plug-in tracing for the production environment.
C. Install Plug-in profiler in the production environment by using the Plug-in Registration tool.
D. Reproduce and capture the errors, then debug from Visual Studio.
Correct Answer: C
Plug-in profiler is a solution that you can install on your environment that enables you to capture the
execution context of a plug-in and then use that data to re- play the event within Visual Studio while
debugging.
There are two tools available from which to run the Plug-in Profiler: The Plug-in Registration Tool and
Power Platform Tools for Visual Studio.
38
Reference:
https://docs.microsoft.com/en-us/powerapps/developer/data-platform/tutorial-debug-plug-in
Question # 33
You create a Power Virtual Agents chatbot in an environment named Environment1. A colleague creates
a Power Automate flow in the default solution in the default environment.
The chatbot in Environment1 does not recognize the flow in the default environment.
You need to ensure the chatbot can access the flow.
Which two actions should you perform? Each correct answer presents part of the solution.
NOTE: Each correct selection is worth one point.
B. Send a copy of the Power Automate flow from the default environment.
D. Export the solution from the default environment and import the solution into Environment1.
Question # 34
A customer wants to design a complex business process flow that includes six custom entities and four
stages for each entity. One of the stages will have 15 steps.
You need to explain the flaw in this design to the customer.
What is the flaw in this design?
D. The minimum number of stages for an entity has not been met.
E. The minimum number of steps for a stage has not been met.
Correct Answer: A
Maximum number of processes, stages, and steps:
To ensure acceptable performance and the usability of the user interface, there are some limitations
39
you need to be aware of when you plan to use business process flows:
✑ Multi-entity processes can contain no more than five entities.
✑ There can be no more than 10 activated business process flow processes per entity.
✑ Each process can contain no more than 30 stages.
Reference:
https://docs.microsoft.com/en-us/power-automate/business-process-flows-overview
Question # 35
DRAG DROP -
An organization has a Dynamics 365 Sales environment. In the development environment, you create a
business rule named BusinessRule1 on the Account entity. You deploy BusinessRule1 to production as
part of a managed solution.
You need to remove BusinessRule1 from the production environment.
Which three actions should you perform in sequence? To answer, move the appropriate actions from the
list of actions to the answer area and arrange them in the correct order.
Select and Place:
Correct
Answer:
40
Step 1: In the development environment, navigate to Solutions.
The only supported way of transferring customizations from one CRM organization to another has been
through Solutions.
With Solution Management came the concept of Managed and Unmanaged Solutions.
Step 2: Export the solution as managed and import it in the production environment.
Managed is a way to protect your IP (Intellectual Property) with an easy concept of install and uninstall.
Step 3: Select the solution that has BusinessRule1, navigate to the appropriate entity, and delete the
rule.
Reference:
https://www.inogic.com/blog/2016/01/solution-management-with-dynamics-crm-2016/
Question # 36
HOTSPOT -
You are a Power Apps app maker with administrative rights to Microsoft 365.
You create a canvas app that will be used by employees at your company. You plan to allow users to
embed the app in Microsoft Teams. During testing, the following issues are reported:
✑ The app runs slowly when it runs in Microsoft Teams.
✑ Test users cannot add the personal app within Microsoft Teams.
You need to resolve the issues.
What should you do? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
41
Hot Area:
Correct
Answer:
42
Reference:
https://docs.microsoft.com/en-us/powerapps/teams/embed-teams-app
https://docs.microsoft.com/en-us/microsoftteams/teams-app-permission-policies
Question # 37
DRAG DROP -
You are developing a Power Platform solution.
You must add a custom control slider to a specific step in a business process flow.
You need to add the custom control.
Which four actions should you perform in sequence? To answer, move the appropriate actions from the
list of actions to the answer area and arrange them in the correct order.
Select and Place:
43
Correct
Answer:
Here are the steps you must follow to add custom controls to a business process flow:
Step 1: Configure custom controls on a related entity.
Step 2: Generate and exporting the business process flow form.
Step 3: Copy custom control configurations to the FormXML for the business process flow.
Step 4: Import customizations into the Microsoft Dataverse environment.
Note:
1. Configure custom controls on a related table form.
2. Generate and exporting the business process flow form.
3. Copy custom control configurations to the business process flow form from the related table form.
4. Import the customizations back into Microsoft Dataverse.
Reference:
https://docs.microsoft.com/en-us/power-automate/custom-controls-business-process-flows
Question # 38
HOTSPOT -
A company is creating a new system based on Dynamics 365 Sales.
The company has the following requirements for their claim process:
✑ Approval process must be the same for all claim applications.
✑ Claim applications must go through approvers at each stage.
✑ Fields must be shown or hidden, based on the requirements in the approval process.
You need to design the data model for the claim process using out-of-the-box components whenever
possible.
Which features should you implement? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
44
Hot Area:
Correct
Answer:
45
By integrating your approvals feature with Power Automate, you can implement features such as these:
✑ Automatically generate and send request-for-approval emails to approvers.
✑ Include active approve and reject buttons in request-for-approval emails.
✑ Easy customization of the approval steps, using a framework that most administrators will be able to
understand and adjust for themselves.
Question # 39
You have a Common Data Service entity and a model-driven app. The model-driven app integrates with
an external system.
You plan to run business logic each time the model-driven app creates a record. Running business logic
must not negatively affect model-driven app users.
You need to implement the business logic.
What should you use?
B. Synchronous workflow
Correct Answer: C
The asynchronous service executes long-running operations independent of the main Microsoft
Dataverse core operation. This results in improved overall system performance and improved
scalability.
Reference:
https://docs.microsoft.com/en-us/powerapps/developer/common-data-service/asynchronous-service
Question # 40
46
Hot Area:
Correct
Answer:
47
Reference:
https://powerusers.microsoft.com/t5/Building-Flows/How-to-determine-status-code-for-a-condition/td-
p/355653
https://blogs.msmvps.com/windsor/2019/04/25/microsoft-flow-error-handling/
Question # 41
You need to use the Dynamics 365 Sales Web API to retrieve metadata information.
How should you complete the Web API queries? To answer, select the appropriate options in the answer
area.
NOTE: Each correct selection is worth one point.
Hot Area:
Correct
Answer:
48
Entity: LogicalName -
Querying the EntityMetadata entity type:
GET [Organization URI]/api/data/v9.0/EntityDefinitions(LogicalName='account')
Attribute: LogicalName -
Retrieving attributes:
GET [Organization URI]/api/data/v9.0/EntityDefinitions(LogicalName='account')/Attributes(
Relationship: SchemaName -
Querying relationship metadata:
Entity relationships can also be queried using the RelationshipDefinitions entity set. You can use a query
like the following to get the SchemaName property for every relationship.
GET [Organization URI]/api/data/v9.0/RelationshipDefinitions?$select=SchemaName
49
Querying Global OptionSets:
GET /api/data/v9.0/GlobalOptionSetDefinitions(Name='metric_goaltype')
Note: Retrieving items by name is generally easier because you probably already have some reference
to the metadata item name in your code. The following table lists the alternate key properties for
retrieving metadata items by name.
Reference:
https://docs.microsoft.com/en-us/powerapps/developer/data-platform/webapi/query-metadata-web-
api
Question # 42
You are creating a custom connector in Power Apps to connect to a third-party application.
The definition in the connector must be set so that it is not visible to the end user.
You need to select the appropriate visibility parameter.
Which parameter should you use?
• A. important
• B. none
• C. internal
• D. advanced
Correct Answer: C
Leave the Visibility property set to none. This property for operations and parameters in a logic
app or flow has the following options:
✑ none: displayed normally in the logic app or flow
✑ advanced: hidden under an additional menu
✑ internal: hidden from the user
✑ important: always shown to the user first
Reference:
https://docs.microsoft.com/en-us/connectors/custom-connectors/define-blank
Question # 43
A model-driven app has the following JavaScript code. The code is attached to the OnChange
event of the Phone (telephone1) field on the Account entity.
50
For each of the following statements, select Yes if the statement is true. Otherwise, select No.
NOTE: Each correct selection is worth one point.
Hot Area:
Correct
Answer:
51
Box 1: Yes -
Xrm.WebApi.updateRecord updates a table record.
Syntax:
Xrm.WebApi.updateRecord(entityLogicalName, id, data).then(successCallback, errorCallback);
Box 2: Yes -
Box 3: No -
No action would be taken.
Reference:
https://docs.microsoft.com/en-us/powerapps/developer/model-driven-
apps/clientapi/reference/xrm-webapi/updaterecord
Question # 44
A JavaScript function on a Contact form alerts users to what they need to type, as shown in the
JavaScript Code exhibit. (Click the JavaScript Code tab.)
52
The Business Phone field has the OnChange event handler defined as shown in the Event
Handler exhibit. (Click the Event Handler tab.)
53
Users report that there is incorrect wording on the Contact page, as shown in the Contact
exhibit. (Click the Contact tab.)
54
You need to determine what happens when a user modifies the business phone of a contact
record.
For each of the following statements, select Yes if the statement is true. Otherwise, select No.
NOTE: Each correct selection is worth one point.
55
Hot Area:
Correct
Answer:
Box 1: Yes -
setNotification displays an error message for the control to indicate that data isnג€™t valid. When this
method is used, a red "X" icon appears next to the control. On
Dynamics 365 mobile clients, tapping on the icon will display the message.
Syntax: formContext.getControl(arg).setNotification(message,uniqueId);
Box 2: No -
Box 3: Yes -
setFormNotification displays form level notifications. You can display any number of notifications and
they will be displayed until they are removed using clearFormNotification.
Syntax: formContext.ui.setFormNotification(message, level, uniqueId);
56
Box 4: No -
Reference:
https://docs.microsoft.com/en-us/powerapps/developer/model-driven-
apps/clientapi/reference/formcontext-ui/setformnotification
https://docs.microsoft.com/en-us/powerapps/developer/model-driven-
apps/clientapi/reference/controls/setnotification
Question # 45
A client requires that the system send an email from a button on their customer contact form.
You need to call the action from JavaScript.
Which two functions achieve this result? Each correct answer presents a complete solution.
NOTE: Each correct selection is worth one point.
• A. Xrm.WebApi.online.executeMultiple()
• B. Xrm.WebApi.online.updateRecord()
• C. Xrm.WebApi.online.createRecord()
• D. Xrm.WebApi.online.execute()
Correct Answer: AD
Xrm.WebApi.online.executeMultiple executes a collection of action, function, or CRUD operations.
Xrm.WebApi.online.execute executes a single action, function, or CRUD operation.
Reference:
https://docs.microsoft.com/en-us/powerapps/developer/model-driven-apps/clientapi/reference/xrm-
webapi/online/executemultiple
https://docs.microsoft.com/en-us/powerapps/developer/model-driven-apps/clientapi/reference/xrm-
webapi/online/execute
Question # 46
A company has two development instances, two test instances, two staging instances, and one
production instance.
The test team reports connection issues with the test and staging instances.
You need to identify which of the instances the testing team currently has access.
Which two URLs can you use? Each correct answer presents a complete solution.
NOTE: Each correct selection is worth one point.
• A. https://globaldisco.crm.dynamics.com/api/discovery/v9.1/instances
• B. https://myorg.api.crm.dynamics.com/api/data/v9.1/
• C. https://dev.crm.dynamics.com/api/discovery/v9.1/instances
• D. https://disco.crm.dynamics.com/api/discovery/v9.1/
• E. https://dev.crm.dynamics.com/api/discovery/v9.1/instances(UniqueName=’myorg’)
57
Correct Answer: AE
Organization information is stored in the Instance entity of the Discovery service. To see the kind of
information contained in that entity, send an HTTP GET request to the service for one of your instances.
GET https://dev.{servername}/api/discovery/v9.1/Instances(UniqueName='myorg')
Example: Get the details of a specific instance. If you leave out the GUID, all instances that the
authenticated user has access to are returned.
GET https://dev.{servername}/api/discovery/v9.1/Instances
Question # 47
• A. In the JavaScript web resource, add the missing web resource as a dependency.
• B. Add &ribbondebug=true to the app URL and run the Command Checker tool.
• C. From the Ribbon Workbench, add the missing JavaScript web resource as a
CustomRule in EnableRules.
Correct Answer: C
When configuring ribbon elements, you can define specific rules to control when the ribbon elements
are enabled.
Custom Rule uses the <CustomRule> element. Use this kind of rule to call a function in a Script (JScript)
web resource that returns a Promise (Unified Interface) or boolean (Unified Interface and web client).
Reference:
https://docs.microsoft.com/en-us/powerapps/developer/model-driven-apps/define-ribbon-enable-rules
Question # 48
A multinational company requires that all phone numbers be standardized as country code +
area code + phone number.
The application design team decides that a custom Power Apps component framework (PCF)
control should be used to prompt users for an area code and to correctly format the phone
number.
You need to get the list of valid area codes when a contact record is opened and before the
user enters a new phone number.
You need to get the list of valid area codes when a contact record is opened and before the
user enters a new phone number.
In which function should you call webAPI.retrieveMultipleRecords?
• A. updateView
58
• B. notifyOutputChanged
• C. getOutputs
Correct Answer: A
The updateView method will be called when any value in the property bag has changed. This includes
field values, data-sets, global values such as container height and width, offline status, component
metadata values such as label, visible, etc.
Incorrect Answers:
notifyOutputChanged is a callback method to alert the framework that the control has new outputs
ready to be retrieved asynchronously. getOutputs is called by the framework prior to a component
receiving the new data. Returns an object based on nomenclature defined in manifest, expecting
objects[s] for the property marked as bound.
Reference:
https://www.inogic.com/blog/2021/01/what-is-popupservice-in-powerapps-component-framework/
Question # 49
You are examining code written by another developer that is not functioning correctly. There
are no other JavaScript or business rules in use on the form.
This code is properly registered to the OnChange event of the telephone1 field on an account
entity form. The main operation is to update the primary contactג€™s phone number when the
account phone number changes. The primary contact field is a lookup. (Line numbers are
included for reference only.)
For each of the following statements, select Yes if the statement is true. Otherwise, select No.
NOTE: Each correct selection is worth one point.
59
Hot Area:
Correct
Answer:
Box 1: Yes -
getFormTyp gets the form type for the record.
Form type 2 is Update.
Note: Syntax: formContext.ui.getFormType();
Return Value -
Type: Number -
Description: Form type. Returns one of the following values
RETURN VALUE -
60
Box 2: Yes -
primaryContact on line 11 will be null resulting in javascript error on line 12 (primaryContact[0]
=> Cannot read properties of null)
Box 3: Yes -
It will display even if the update fails.
Reference:
https://docs.microsoft.com/en-us/powerapps/developer/model-driven-
apps/clientapi/reference/formcontext-ui/getformtype
https://docs.microsoft.com/en-us/powerapps/developer/model-driven-
apps/clientapi/reference/xrm-webapi/updaterecord
Question # 50
You have the following JavaScript function: (Line numbers are included for reference only.)
The Annual Revenue view column is configured to call the function as shown in the Column
Properties exhibit. (Click the Change Column Properties tab.)
61
Users report that the icons that appear in the Active Accounts view are incorrect, as shown in
the Active Accounts View exhibit. (Click the Active Accounts View tab.)
62
You need to determine why the incorrect icons are being displayed.
For each of the following statements, select Yes if the statement is true. Otherwise, select No.
Hot Area:
Correct
Answer:
63
Box 1: No -
parseFloat will return 'NaN' if it's not a number (null and undefined are NaNs).
Box 2: No -
Box 3: Yes -
Session.userLCID is the Locale ID for the ASP application.
Reference:
https://support.microsoft.com/en-us/help/229690/how-to-set-the-asp-locale-id-per-the-
browser-s-language-settings
Question # 51
You develop the following JavaScript code for a web resource that will be used in a model-
driven app.
64
For each of the following statements, select Yes if the statement is true. Otherwise, select No.
NOTE: Each correct selection is worth one point.
Hot Area:
Correct
Answer:
Box 1: Yes -
65
Problem patterns: Web-use-async -
There are multiple ways to interact with the server or request resources. Common approaches
that allow for synchronous communications include the following
(These scenarios should be avoided.):
✑ Usage of the XMLHttpRequest object passing in false for the value of the async parameter
for the open function call var requestXhr = new XMLHttpRequest();
// Explicitly setting the async parameter to false or supplying a variable with a value of false
will force this as a synchronous call. requestXhr.open('GET', '/test/test.txt', false);
Box 2: No -
=== - Strict Equality Comparison is already used in the code.
Box 3: No -
No debugger statement in the code, so web-remove-debug-script (avoid including debug script
in non-development environments) does not apply.
Reference:
https://docs.microsoft.com/sr-cyrl-rs/powerapps/developer/model-driven-apps/best-
practices/business-logic/interact-http-https-resources-asynchronously
https://developer.mozilla.org/en-
US/docs/Web/JavaScript/Reference/Operators/Strict_equality
Question # 52
You develop
66