Courseiva

CCNA Extend Customer Service Questions

54 questions · Extend Customer Service · All types, answers revealed

1
MCQmedium

You are tasked with providing agents with a real-time view of customer sentiment during a chat session. Which feature should you implement?

A.Customer Insights predictive scoring.
B.Real-time Sentiment Analysis via Omnichannel settings.
C.Custom Power Automate sentiment detection flow.
D.Azure Cognitive Services text-to-speech module.
AnswerB

Real-time Sentiment Analysis is the native capability designed specifically for this purpose. It analyzes chat text in real-time, displaying a sentiment score and icon in the agent's interface, allowing them to instantly adapt their approach to the specific emotional state of the customer during the session.

Why this answer

The Sentiment Analysis feature in Omnichannel for Customer Service provides real-time monitoring of customer emotions. By enabling this in the workspace settings, agents receive visual feedback on the customer's sentiment. This context is invaluable for agents to adjust their tone and resolution strategy, which directly impacts customer satisfaction scores and prevents escalations by allowing agents to intervene proactively when a customer becomes frustrated.

Exam trap

Candidates often confuse 'Sentiment Analysis' with 'Customer Insights' or 'AI Builder' models. You must specifically enable the Omnichannel-native feature to provide the real-time agent view.

2
MCQhard

You are using the Customer Service workspace and need to create a custom channel integration. Which technology allows you to pass data from an external chat widget to Omnichannel for Customer Service and create a session?

A.Azure Service Bus
B.Power Automate
C.Microsoft Dataverse Web API
D.Channel Integration Framework (CIF)
AnswerD

The Channel Integration Framework (CIF) is specifically designed to integrate third-party communication widgets with Dynamics 365 Customer Service. It provides a set of JavaScript APIs that allow the external widget to interact with the Customer Service workspace, including creating sessions, passing context data, and handling events. This is the correct technology for this scenario.

Why this answer

The Channel Integration Framework (CIF) is the designated technology for integrating external chat widgets with Dynamics 365 Customer Service. It provides the necessary APIs to create sessions, pass context data, and handle events within the Customer Service workspace. The other technologies are not designed for this real-time widget integration.

Exam trap

The trap here is confusing the Dataverse Web API, which handles data operations, with CIF, which handles real-time communication and session management for external channels.

3
MCQmedium

Which type of web resource should you use to display a custom interface that requires heavy interaction with the current session's data?

A.JSON file.
B.HTML web resource.
C.Text file.
D.XML configuration file.
AnswerB

HTML web resources are the primary supported way to embed custom UI content. By using HTML, CSS, and JavaScript, you can create a fully interactive interface that interacts with the session context and updates dynamically based on the data being viewed, providing a truly customized experience for the support agent.

Why this answer

HTML web resources are the standard for custom UI development within the workspace. They allow for the integration of custom CSS and JavaScript to create tailored experiences that interact directly with the current record. This is a critical skill for consultants, as it allows them to create specialized layouts or data visualization tools that are not possible with out-of-the-box form configuration options.

Exam trap

Candidates often choose PCF controls or canvas apps for simple session data interactions when an HTML web resource is specifically suited for custom legacy or tailored UI needs.

4
MCQmedium

You are migrating a legacy chat configuration to Unified Routing. Which component must you recreate to ensure chat conversations are routed correctly?

A.Workstream.
B.Queue.
C.Agent Presence configuration.
D.Entity routing rules.
AnswerA

Workstreams are the central construct for managing incoming work in Unified Routing. They define the channel type, the routing rules, and the capacity settings. During migration, you must map your existing legacy queues and rules into the workstream structure to enable the new, unified routing engine's features.

Why this answer

Migrating to Unified Routing requires the creation of a 'Workstream'. A workstream is the foundation for all routing in the modern Customer Service admin center. It encapsulates the channel settings, the routing rules, and the work distribution logic.

Without a workstream, the system cannot process incoming interactions, making it the most critical component to recreate when moving away from legacy routing methods in Dynamics 365.

Exam trap

Many candidates confuse the Workstream with Queues or Channels. While those are related, the Workstream is the unique, mandatory container in Unified Routing that bridges channels to routing logic.

5
MCQmedium

You are a functional consultant configuring a custom channel for a company's Customer Service environment. The company wants to embed a chat widget on their public website so that visitors can initiate conversations that flow into Omnichannel for Customer Service. You have already created the chat widget in the Omnichannel Administration app and obtained the embed code. What must you do next to ensure the widget appears and functions correctly on the website?

A.Publish the widget from the Omnichannel Administration app to the company's Power Apps portal.
B.Create a new web resource in Dynamics 365 and reference it from the Case form.
C.Configure a new channel in the Omnichannel Administration app and set the widget as the default.
D.Add the widget's embed code to the website's HTML, ensuring the omnichannel chat script is loaded.
AnswerD

Placing the generated embed code into the website's HTML is the standard method to surface the chat widget. The embed code includes the necessary script references and configuration to load the Omnichannel live chat widget. Once deployed, the widget connects to the Omnichannel service, allowing website visitors to start conversations that are routed to agents. This step is essential after creating the widget in the Omnichannel Administration app.

Why this answer

The correct action is to insert the generated embed code into the website's HTML. This is the only step that actually makes the chat widget visible to website visitors and connects it to Omnichannel for Customer Service. The other options involve internal Dynamics 365 customizations or incorrect deployment methods that do not achieve the goal of embedding chat on a public website.

Exam trap

The trap here is assuming that creating or configuring the widget within Dynamics 365 automatically deploys it to the external website, when in fact manual embed code insertion is required.

6
Multi-Selectmedium

You are building a custom Power Virtual Agents bot for Customer Service. You need to trigger a Power Automate flow that updates a case record based on user input. Which two actions must you perform to enable the bot to call the flow? (Choose two.)

Select 2 answers
A.Add the Power Virtual Agents connector to the flow and configure the 'Send a message' action.
B.Register the flow as a custom connector in the Power Platform admin center.
C.In the bot, add a 'Call an action' node and select the flow.
D.Ensure the flow uses the 'Respond to Power Virtual Agents' action to return values to the bot.
E.Create a flow with the 'When a Power Virtual Agents message is received' trigger.
AnswersC, D

In Power Virtual Agents, you can call a Power Automate flow from a topic by adding a 'Call an action' node. This node allows you to select a flow that has been made available to the bot. The flow must be created and then added to the bot's actions. This is the correct way to invoke a flow from the bot.

Why this answer

To enable a Power Virtual Agents bot to call a Power Automate flow, you must add a 'Call an action' node in the bot topic and select the flow. Additionally, the flow must include a 'Respond to Power Virtual Agents' action to return data to the bot. These two steps are essential for the integration to work.

Exam trap

The trap here is assuming that the flow needs a special trigger or that it must be registered as a connector, when in fact it is simply called from the bot.

7
MCQhard

You are building a custom view for the agent dashboard. You need to ensure the view displays only cases assigned to the current user's team. Which filter criteria should you use?

A.Owner = Current User
B.Owner (Team) = Current User's Teams
C.Created By = Current User
D.Modified By = Current User
AnswerB

This filter correctly identifies the team relationship. By using the 'Current User's Teams' criteria, the system dynamically evaluates the agent's team memberships and filters the record list to show only cases assigned to those specific teams, providing a relevant and accurate view of team-based work.

Why this answer

Utilizing the 'Current User's Teams' filter in the view designer ensures that the dashboard remains dynamic and personalized for each agent. This is crucial for collaborative environments where agents belong to multiple support teams. By filtering on the team relationship, you provide the agent with a targeted list of work items, reducing cognitive load and ensuring that relevant cases are always front and center for quick action.

Exam trap

Candidates frequently select 'Owner = Current User' rather than checking team relationships, failing to realize the requirement is specifically for cases assigned to the user's team.

8
MCQhard

A Dynamics 365 Customer Service organization uses Unified Routing. A developer needs to extend routing by calling an external AI service to determine the priority of incoming cases before they are routed to queues. The solution must minimize custom code and be maintainable within the Power Platform. What should the consultant implement?

A.Create a real-time workflow that triggers on case creation and calls the external AI service using a custom workflow activity.
B.Write a plug-in registered on the Case entity's Create message that calls the external AI service and updates the case priority.
C.Configure an assignment rule that uses a custom JavaScript web resource to call the AI service and set the priority.
D.Create a custom routing rule with a Power Automate flow that calls the external AI service and sets a routing attribute.
AnswerD

Unified Routing supports custom routing rules that can invoke Power Automate flows. By using a flow, you can call the external AI service via an HTTP action or custom connector, then return a value that sets a routing attribute such as priority. This approach uses low-code tools, is maintainable, and integrates directly into the routing decision process without writing plug-ins or custom code.

Why this answer

Unified Routing allows custom routing rules that can call Power Automate flows. This is the recommended low-code extensibility point for integrating external services into the routing decision. The flow can call the AI service and return a value that sets a routing attribute, which the routing engine then uses to determine the queue and priority.

This keeps the solution maintainable and within the Power Platform.

Exam trap

The trap here is assuming that plug-ins or workflows are needed to integrate external logic into routing, when Unified Routing provides a native low-code extension point through Power Automate flows in custom routing rules.

9
MCQmedium

You are configuring a custom messaging channel in Omnichannel for Customer Service. The channel must display a pre-chat survey that collects the customer's email address and product interest before the conversation starts. Which component should you configure to achieve this?

A.Workstream
B.Chat widget
C.Routing rule set
D.Channel integration framework
AnswerB

The chat widget is the client-side component that customers interact with. It includes settings for pre-chat surveys, where you can add questions to collect information such as email address and product interest. These responses can be used for routing and context. Configuring the survey in the chat widget ensures the data is captured before the conversation is initiated.

Why this answer

The chat widget in Omnichannel for Customer Service includes a pre-chat survey configuration. You can define questions to gather information such as email and product interest. These responses are available as context variables and can be used for routing.

The workstream and routing rules then use this data to direct the conversation appropriately.

Exam trap

The trap here is confusing the component that collects data (chat widget) with the component that uses it for routing (workstream or routing rules).

10
MCQhard

You are extending a Dynamics 365 Customer Service environment by creating a custom channel integration using the Direct Line Bot Framework. You need to ensure that when a customer sends a message, the bot can retrieve the customer's case history from Dynamics 365 and include it in the response. Which component must you configure to allow the bot to access Dynamics 365 data securely?

A.A Power Virtual Agents bot that is natively integrated with Dynamics 365, using the built-in authentication without additional configuration.
B.An Azure AD application registration with appropriate API permissions to Dynamics 365, and configure the bot to authenticate using its client ID and secret.
C.A custom connector in Power Automate that uses the Dynamics 365 connector with OAuth 2.0 authentication.
D.A Dynamics 365 connection string stored in the bot's configuration file, using SQL authentication.
AnswerB

To allow the bot to access Dynamics 365 data securely, you must register an application in Azure AD, grant it API permissions to Dynamics 365 (such as user impersonation or application user), and configure the bot to authenticate using the application's client ID and secret. This enables the bot to obtain an access token and call the Dynamics 365 Web API. This is the standard secure method for server-to-server integration.

Why this answer

The bot must authenticate to Dynamics 365 using an Azure AD application registration with appropriate API permissions. This allows the bot to obtain an access token and call the Dynamics 365 Web API to retrieve case history. Other options either do not provide direct access, use unsupported authentication, or assume automatic access without configuration.

Exam trap

The trap here is assuming that a Power Automate custom connector or a Power Virtual Agents bot inherently provides secure, direct access to Dynamics 365 data without explicit Azure AD application registration and permissions.

11
MCQmedium

You are a Dynamics 365 Customer Service functional consultant for Contoso, which uses Omnichannel for Customer Service. Contoso wants to display a custom control on the Case form that shows a customer's recent order history from an external system. The control must update automatically when the case's customer field changes, without requiring a full form reload. Which approach should you use?

A.Add a custom web resource (HTML/JS) to the form and use the formContext to listen for the customer field change event.
B.Create a Power Automate flow that triggers on case creation and writes order history into a note on the case.
C.Use a Business Rule to call an external REST API and populate a field with order history.
D.Configure a Virtual Entity that maps to the external order system and add it as a subgrid on the Case form.
AnswerA

This is correct because a custom web resource can be embedded on the Case form and use formContext to subscribe to the OnChange event of the customer field. When the field changes, the script can call an external API and update the control's content dynamically without reloading the entire form. This is the standard extensibility approach for dynamic, in-form custom UI.

Why this answer

A custom web resource on the Case form can listen for the OnChange event of the customer field using formContext and then call an external API to update the displayed order history. This provides the dynamic, no-reload behavior required. Other options either do not support external calls, do not trigger on field change, or do not provide an interactive control.

Exam trap

The trap here is assuming that Business Rules or Power Automate flows can directly update form controls in real time based on field changes.

12
MCQeasy

You are configuring Omnichannel for Customer Service for a company that wants to automatically route chat conversations to agents based on the customer's product interest. The product interest is captured by a pre-chat survey question. Which component should you use to route the conversation to the appropriate queue?

A.Queue
B.Workstream
C.Chat widget
D.Routing rule
AnswerD

Routing rules in Omnichannel are used to evaluate conditions, such as pre-chat survey responses, and route conversations to specific queues. You can create a rule that checks the product interest question and directs the conversation to the appropriate queue. This is the correct component for conditional routing based on survey data.

Why this answer

Routing rules in Omnichannel for Customer Service evaluate conditions such as pre-chat survey responses and route conversations to the appropriate queue. They are the decision-making component that enables conditional routing based on customer input. Workstreams define the channel and routing type, queues receive conversations, and the chat widget collects input, but none of these make the routing decision.

Exam trap

The trap here is confusing the workstream, which defines the routing framework, with the routing rule that actually evaluates conditions and directs the conversation.

13
MCQmedium

Which component allows you to extend the Customer Service workspace by adding a custom dashboard that updates in real-time for supervisors?

A.Custom entity view.
B.Power BI Embedded dashboard.
C.Dataverse chart control.
D.System workflow dashboard.
AnswerB

Power BI embedded dashboards support real-time data refreshing, which is ideal for supervisor monitoring. By integrating these into the workspace, you provide a dynamic view of team metrics, allowing supervisors to respond immediately to changes in volume or performance without needing to switch between different applications to access reports.

Why this answer

Extending the workspace for supervisor visibility requires utilizing Power BI real-time streaming datasets or native embedded dashboards. This is vital for operational management, as supervisors must monitor queue performance and agent status to make real-time decisions. By embedding these dashboards, consultants provide the necessary visibility to maintain service levels and address bottlenecks in the support workflow effectively.

Exam trap

Candidates often suggest 'Custom Dashboards' without mentioning Power BI. Standard Dynamics dashboards lack the real-time, complex streaming capabilities required for supervisor-level monitoring in high-volume support environments.

14
MCQmedium

You are a functional consultant for a company using Dynamics 365 Customer Service. The support team wants a custom action on the Case form that, when clicked, creates a follow-up Phone Call activity and links it to the case, while pre-populating the subject with the case title. The action must be available to agents without leaving the case record. Which approach should you recommend?

A.Create a JavaScript web resource that uses the Xrm.WebApi.retrieveRecord method to read the case and then Xrm.Navigation.openForm to open a new phonecall form with parameters.
B.Configure a Power Automate cloud flow that triggers when a case is updated, and add a button to the form that manually triggers the flow using the Flow widget.
C.Create a custom action (process) that creates a Phone Call record, sets its regarding field to the case, and sets the subject using the case title. Add a command bar button that calls this action.
D.Add a subgrid of Phone Call activities to the Case form and instruct agents to create a new phone call from the subgrid, manually setting the subject to the case title.
AnswerC

A custom action (a real-time workflow) can be invoked from the command bar and can create a Phone Call, set its regarding field to the case, and populate the subject from the case title. This approach is server-side, reliable, and does not require the agent to leave the case form. It also respects security roles and can be reused in other contexts, such as from a business process flow or a web resource.

Why this answer

A custom action (real-time workflow) invoked from the command bar is the correct approach because it runs server-side, can create a Phone Call record, set the regarding field to the case, and populate the subject from the case title. It provides a one-click experience for agents without leaving the case form. Other options either require manual steps, do not automatically link the activity, or trigger on unintended events.

Exam trap

The trap here is assuming that a client-side JavaScript approach or a Power Automate flow can create and link the activity with the same reliability and simplicity as a custom action invoked from the command bar.

15
MCQmedium

You are configuring Omnichannel for Customer Service. The contact center manager wants to ensure that when a customer starts a chat, the system automatically identifies the customer by their phone number or email address, and if the customer is not found, creates a new contact record. Which feature should you configure to achieve this?

A.Unified Routing rules
B.Workstream configuration
C.Context variables
D.Customer identification rules
AnswerD

Customer identification rules in Omnichannel for Customer Service automatically identify customers based on attributes like phone number or email. If no match is found, you can configure the system to create a new contact record. This is exactly the feature designed for this requirement.

Why this answer

Customer identification rules are part of Omnichannel for Customer Service and allow you to define how to match incoming chat or messaging customers to existing contact records using fields like phone number, email, or custom attributes. If no match is found, you can configure the rule to create a new contact. This automates the identification process and reduces agent effort.

Exam trap

The trap here is confusing customer identification rules with Unified Routing rules, assuming that routing rules handle customer lookup and creation.

16
MCQeasy

You are a functional consultant for a customer service team using Dynamics 365 Customer Service. The team wants to allow agents to quickly view a customer's recent orders from an external ERP system directly within the Customer Service workspace. The external system exposes an OData endpoint. You need to implement this with minimal custom development. What should you do?

A.Use a Power Automate flow to periodically sync orders into a custom entity and display that entity in the workspace.
B.Create an HTML web resource that embeds the OData feed and add it as a tab in the Customer Service workspace.
C.Develop a custom PCF control that calls the OData endpoint and displays orders on the Account form.
D.Create a virtual entity that maps to the external OData endpoint and add it to the Customer Service workspace.
AnswerD

Virtual entities allow integration with external data sources without data replication. By creating a virtual entity with an OData provider, you can surface external ERP data as if it were native. Adding it to the workspace enables agents to view recent orders. This requires minimal custom development, typically just configuration of the data source and entity.

Why this answer

Virtual entities in Dynamics 365 allow you to integrate external data from OData sources without replicating it. By configuring a virtual entity, you can expose the ERP orders as a table that agents can view in the Customer Service workspace. This requires minimal code, mainly configuration, and provides real-time data access.

Other options involve more custom development or data duplication.

Exam trap

The trap here is assuming that custom code or data sync is required to view external data, when virtual entities provide a no-code/low-code integration option.

17
MCQhard

You are configuring a custom channel in Omnichannel for Customer Service. The channel must route incoming conversations to specific queues based on the customer's preferred language. You have created a workstream and added a routing rule set. Which component must you configure to ensure that the language attribute from the incoming message is used for routing?

A.Context variables
B.Workstream
C.Channel integration framework
D.Queue
AnswerA

Context variables are used to store and pass data within a conversation. To route based on language, you must define a context variable that captures the language from the incoming message. This variable can then be used in routing rules to direct the conversation to the appropriate queue. Without a context variable, the routing engine has no data to evaluate for language-based routing.

Why this answer

To route based on language, you need to capture the language from the incoming message and make it available to the routing engine. Context variables are the mechanism for storing and passing such data. They can be defined in the workstream and used in routing rule conditions.

The other components do not directly provide the language data needed for routing decisions.

Exam trap

The trap here is confusing the workstream, which holds routing rules, with the context variables that provide the actual data for those rules.

18
MCQmedium

You are extending a Dynamics 365 Customer Service environment. A custom entity 'Equipment' must be searchable from the Customer Service Hub global search and from the interactive experience timeline's search box. You have enabled the entity for search and added it to the searchable entities list. However, agents report that records are not appearing. Which configuration must you verify to ensure the custom entity is indexed for search?

A.Ensure the entity is enabled for Unified Routing and that the routing configuration includes the entity.
B.Ensure the entity is included in the Customer Service Hub's default solution and that the solution is exported and imported.
C.Ensure the entity is included in the Quick Find view and that the Quick Find view contains the columns to be searched.
D.Ensure the entity is added to the Customer Service Hub's site map and that the site map area is published.
AnswerC

For a custom entity to be searchable in Customer Service Hub, it must have a Quick Find view configured with the relevant columns. The search index relies on the Quick Find view to know which fields to index. Without this, even if the entity is enabled for search, no data is indexed. This is the missing step in the scenario.

Why this answer

For a custom entity to be searchable in Customer Service Hub, you must configure a Quick Find view that includes the columns to be searched. The search index uses this view to determine which fields to index. Enabling the entity for search and adding it to the searchable entities list is necessary but not sufficient; the Quick Find view must be properly defined and published.

Exam trap

The trap here is assuming that enabling the entity for search and adding it to the searchable entities list is enough, while overlooking the need for a Quick Find view with searchable columns.

19
MCQeasy

A customer service manager wants to add a button to the Case form that opens a custom dialog to collect additional information from agents. The button should only be visible when the case status is 'Active'. Which customization should the consultant use?

A.Add a custom HTML web resource to the form and use JavaScript to show a button.
B.Use a Power Automate flow triggered on the OnSave event to display a dialog.
C.Create a business rule that shows a button when the status is Active.
D.Add a ribbon button using the Ribbon Workbench and configure an enable rule that checks the case status.
AnswerD

The Ribbon Workbench is the standard tool for customizing command bar buttons in model-driven apps. It allows you to add a button and define enable rules that control visibility based on form state, such as the case status. An enable rule can use a JavaScript function or a value rule to check if the status is Active. This meets the requirement without custom code beyond the rule logic.

Why this answer

The command bar in model-driven apps is customized using the Ribbon Workbench. You can add a button and define an enable rule that evaluates the case status, ensuring the button is only visible when the case is Active. This is the supported, declarative approach for adding interactive buttons that trigger custom dialogs or JavaScript functions.

Exam trap

The trap here is assuming that business rules or Power Automate can add buttons to the command bar, when those tools operate on form fields or server-side events, not on the command bar UI.

20
MCQmedium

You need to add a custom button to the command bar in the Customer Service workspace. Which tool should you use?

A.Ribbon Workbench.
B.Command Designer.
C.Direct XML editing.
D.Power Automate.
AnswerB

The Command Designer is the official, low-code tool provided by Microsoft for updating command bars. It allows for the easy addition of buttons with associated Power Fx logic, making it the standard and most efficient way to extend the workspace interface while ensuring the changes remain supported and easy to manage.

Why this answer

Modern command bar customization is achieved through the Command Designer. This is an essential skill for consultants who need to surface custom functionality directly where agents work. By using the designer, consultants can add buttons that trigger custom logic, improving workflow efficiency without needing to write custom ribbon XML, which is a legacy and error-prone process that should be avoided in modern environments.

Exam trap

Candidates often choose legacy ribbon customization tools or advanced custom code solutions instead of the modern, native Command Designer built specifically for modern workspaces.

21
MCQmedium

You are configuring a custom channel in Omnichannel for Customer Service. The channel must route incoming conversations to a specific queue based on the customer's language, which is passed as context from the chat widget. You have already created the workstream and queue. What should you do next to ensure language-based routing?

A.Add a custom JavaScript function to the chat widget that directs the conversation to the correct queue.
B.Modify the queue's assignment method to use language-based assignment.
C.Create a routing rule set with a condition on the language context variable and associate it with the workstream.
D.Configure the channel's language setting to match the customer's language.
AnswerC

Routing rule sets evaluate conditions against context variables provided by the channel. By creating a rule set with a condition on the language context variable and associating it with the workstream, you ensure that conversations are routed to the appropriate queue based on the customer's language.

Why this answer

In Omnichannel for Customer Service, routing decisions are made by routing rule sets attached to workstreams. To route based on language, you create a rule set that evaluates the language context variable and routes to the appropriate queue. This leverages the context passed from the chat widget and ensures conversations reach the correct queue.

Exam trap

The trap here is confusing queue assignment methods with routing rules; assignment methods only distribute work among agents within a queue.

22
MCQmedium

You are a functional consultant for a company using Dynamics 365 Customer Service. The company wants to create a custom entity to track customer feedback and associate it with cases. They need to ensure that the feedback entity can be used in the Customer Service Hub and that users can create feedback records directly from a case. What should you do first?

A.Add the custom entity to the Customer Service Hub app.
B.Create a 1:N relationship between the Case entity and the custom feedback entity.
C.Enable the custom entity for Unified Routing.
D.Customize the Case form to include a subgrid for the feedback entity.
AnswerB

Creating a 1:N relationship from Case to the custom feedback entity establishes the association, enabling users to add feedback records from a case. This is the foundational step before adding the entity to the app or customizing forms. It ensures that feedback can be linked to cases and viewed in the case's related records.

Why this answer

To track feedback and associate it with cases, you must first create a relationship between the Case and the custom feedback entity. This relationship enables the association and allows feedback records to be linked to cases. Once the relationship exists, you can add the entity to the Customer Service Hub app and customize the Case form to include a subgrid for feedback.

The relationship is the prerequisite for other configurations.

Exam trap

The trap here is assuming that adding the entity to the app or customizing the form is the first step, but the relationship must be established first.

23
MCQmedium

Refer to the exhibit. You are reviewing the configuration of an automated case resolution follow-up. What is the impact of this configuration?

A.The survey is sent immediately upon resolution.
B.The survey is sent 24 hours after the case is resolved.
C.The case is automatically reopened if no survey is sent.
D.The survey is sent to the manager instead of the customer.
AnswerB

The JSON clearly defines a 24-hour delay ('24h') triggered by the 'Case_Resolved' event. This confirms that the survey is queued for delivery one full day after the case status changes to resolved, which is the intended business process for collecting delayed customer feedback.

Why this answer

The configuration triggers a survey 24 hours after a case is marked as resolved. This delay is essential to give the customer time to evaluate the resolution, increasing the likelihood of receiving an accurate and reflective response. By automating this, the organization ensures a consistent feedback loop, which is vital for measuring customer satisfaction and identifying areas for service improvement without manual intervention.

Exam trap

Candidates often assume automated surveys are sent immediately upon resolution, ignoring the configured wait-time logic designed to allow the customer time to evaluate the service provided.

24
MCQmedium

Refer to the exhibit. You are configuring a routing rule. Based on the provided JSON policy, what will occur when a case with 'customer_segment' set to 'premium' is created?

A.The case is assigned to the default queue.
B.The case is assigned to the premium_support_team queue.
C.The routing engine throws an error.
D.The rule is skipped because criteria are missing.
AnswerB

The JSON policy clearly maps cases meeting the premium criteria to the 'premium_support_team' queue. Since the priority is set to 1, this rule will take precedence, ensuring the routing engine directs the record to the specified target queue immediately upon evaluation of the business logic.

Why this answer

The JSON policy defines a clear routing condition that triggers when the customer segment matches 'premium'. The routing engine evaluates this criteria during the case creation process and automatically directs the case to the queue named 'premium_support_team'. This ensures that high-value customers receive priority service from dedicated support staff, effectively managing workloads and meeting defined service level agreements automatically.

Exam trap

Candidates often overthink the JSON structure. The trap is ignoring the clear mapping condition; the system simply executes the logic defined in the rule's criteria to route the case.

25
MCQmedium

You are implementing a custom action in a Power Automate flow that is triggered from a Customer Service case. The action must update a field on the case record and then post a message to the associated Teams channel. Which step should you include in the flow to update the case record?

A.Use the 'Perform an unbound action' with a custom action name
B.Use the 'Update a record' action for the Case entity
C.Use the 'Create a record' action for the Case entity
D.Use the 'Update a record' action for the Account entity
AnswerB

The 'Update a record' action in the Common Data Service (current environment) connector allows you to modify fields on any entity, including the Case entity. This is the correct way to update a case record from a Power Automate flow, ensuring the change is tracked and triggers any associated business logic.

Why this answer

To update a case record from a Power Automate flow, use the 'Update a record' action targeting the Case entity. This action allows you to specify the case ID and the fields to change. After updating, you can post to Teams using the appropriate Teams connector action.

Exam trap

The trap here is selecting a create action or an unbound action when a simple update to an existing record is required.

26
MCQeasy

When creating a custom control for the Customer Service workspace, which framework should you use to ensure compliance with Microsoft's supportability standards?

A.Direct DOM manipulation using jQuery.
B.Power Apps Component Framework (PCF).
C.Custom HTML web resources with iframes.
D.ASP.NET MVC 5 with C# code-behind.
AnswerB

PCF is the standard, fully supported framework for creating custom controls. It provides a robust API for interacting with Dataverse data and ensures that custom components are performant, accessible, and follow the standard model-driven application lifecycle, which is vital for enterprise-grade customer service deployments.

Why this answer

The Power Apps Component Framework (PCF) is the recommended and supported method for building custom UI controls within Dynamics 365. PCF allows developers to create reusable components that can be used across model-driven apps, providing a consistent look and feel while ensuring high performance. Using PCF is essential for maintainability and ensures that custom controls remain compatible with future platform updates and security patches.

Exam trap

Candidates suggest legacy web resources instead of modern frameworks when asked about supported custom UI controls.

27
MCQhard

You are extending a Customer Service workspace by adding a custom session template. The template must open a specific model-driven app page alongside a customer summary and a timeline. Which component should you configure to define the tabs and their order in the session?

A.Power Apps component framework (PCF) control for session layout
B.Unified Routing rule set with a custom workstream
C.Session template record with associated tab records
D.Custom channel with a pre-chat survey
AnswerC

In Customer Service workspace, a session template defines the layout of a session, including which tabs appear and their sequence. Each tab is represented by a session template tab record that references an app page, entity form, or custom page. This is the correct component to configure the desired agent experience with multiple tabs.

Why this answer

Session templates in Customer Service workspace specify the tabs and their order for a given session type. By creating a session template and adding tab records, you control exactly which pages (such as a model-driven app page, customer summary, and timeline) appear and in what order, providing a tailored agent experience.

Exam trap

The trap here is confusing routing components, which determine work distribution, with session templates, which define the visual workspace layout.

28
MCQeasy

Which component allows you to define the maximum number of concurrent chats an agent can handle in the Omnichannel environment?

A.Capacity profile.
B.Routing rule set.
C.Presence status.
D.User security role.
AnswerA

Capacity profiles are the standard, intended component for workload management. They allow administrators to define 'units' of work and assign them to agents, ensuring that the system enforces limits on concurrent interactions based on the agent's skill level and the complexity of the specific work being assigned.

Why this answer

Capacity profiles are the primary mechanism for managing agent workload in Dynamics 365 Customer Service. By defining a capacity profile, you can set the maximum number of active conversations an agent can manage simultaneously. This is critical for preventing agent burnout and ensuring that service quality remains high during peak periods, as the routing engine will automatically stop sending new work to agents who have reached their configured capacity limit.

Exam trap

Candidates often confuse user security roles or queues with capacity profiles when trying to limit concurrent agent workloads.

29
MCQeasy

A customer service manager wants to ensure that when a case is resolved, a survey is automatically sent to the customer. The survey must be sent using Dynamics 365 Customer Voice. What should you configure?

A.Create a Power Automate flow that triggers when a case is resolved and sends a Customer Voice survey.
B.Set up a workflow that runs on status change and uses the Customer Voice survey template.
C.Use the Customer Service admin center to enable automatic survey sending on case resolution.
D.Configure a business rule on the Case entity to send a Customer Voice survey when the status changes to Resolved.
AnswerA

Power Automate can trigger on the status change of a case (e.g., when resolved) and use the Dynamics 365 Customer Voice connector to send a survey. This is the standard method to automate survey distribution. It requires no code and integrates seamlessly with Customer Service. The flow can be configured to include case details and personalize the survey.

Why this answer

Power Automate is the correct tool to automate sending a Customer Voice survey when a case is resolved. It provides a trigger for Dynamics 365 case status changes and an action to send a survey via the Customer Voice connector. Other options either cannot perform the action or do not exist.

Exam trap

The trap here is assuming that business rules or workflows can send Customer Voice surveys, when only Power Automate can.

30
MCQhard

You are configuring a custom channel in Omnichannel for Customer Service. The channel must route incoming conversations to a specific queue based on the customer's preferred language, which is stored in a custom field on the Contact entity. You need to ensure the routing rule evaluates this field. What should you do first?

A.Configure the workstream to use the custom field as a context variable and map it to the Contact entity.
B.Add the custom field to the Contact form and publish the customization.
C.Modify the channel's inbound URL to include the language as a query parameter.
D.Create a custom entity to store language preferences and link it to the Contact.
AnswerA

In Omnichannel, routing rules can use context variables that are populated from session or customer data. To use a custom field on the Contact, you must define it as a context variable in the workstream and map it to the corresponding Contact field. This makes the value available to the routing engine for evaluation.

Why this answer

To route based on a custom field on the Contact, you must expose that field to the routing engine by defining it as a context variable in the workstream and mapping it to the Contact entity. This allows the routing rule to evaluate the language preference and route the conversation to the appropriate queue. Without this mapping, the field is not available for routing decisions.

Exam trap

The trap here is assuming that adding a field to the Contact form automatically makes it available for routing, when in fact you must explicitly define and map context variables in the workstream.

31
MCQhard

You are extending Dynamics 365 Customer Service by creating a custom JavaScript function that runs on the Case form's OnSave event. The function must call an external REST API to validate the customer's credit status and, if validation fails, prevent the save and display an error message. Which approach should you use to prevent the save?

A.Set the form's dirty state to false and return false from the OnSave function.
B.Use executionContext.getEventArgs().preventDefault() inside the OnSave handler if validation fails.
C.Use Xrm.Navigation.openAlertDialog to display an error and then call Xrm.Page.data.entity.rollback() to revert changes.
D.Register the function as an OnChange handler for the credit status field and use Xrm.Page.ui.setFormNotification to block the save.
AnswerB

In the OnSave event, you can use executionContext.getEventArgs().preventDefault() to cancel the save operation. This is the supported method to prevent the save when validation fails. The function must be registered as an OnSave handler and receive the execution context. This approach allows you to display an error message and stop the save from proceeding, ensuring data integrity.

Why this answer

The correct approach is to use executionContext.getEventArgs().preventDefault() in the OnSave handler. This method cancels the save operation and allows you to display an error message. Other options do not prevent the save or use unsupported methods that may lead to data being saved despite validation failure.

Exam trap

The trap here is assuming that returning false from the OnSave function or using rollback() will prevent the save, when in fact only preventDefault() on the event arguments can cancel the save operation.

32
MCQeasy

A Customer Service agent reports that they cannot see the 'Knowledge Base Search' control on their case form. What is the most likely cause?

A.The agent lacks a license for the knowledge base.
B.Knowledge Management is not enabled for the Case entity.
C.The agent is using an unsupported browser.
D.The Knowledge Base is empty of articles.
AnswerB

Enabling Knowledge Management is a two-step process: enabling it at the system level and then enabling it for specific entities. If this is not done, the Knowledge Search control cannot function because the underlying relationship between the entity and the knowledge base has not been established.

Why this answer

The most likely cause is that the Knowledge Management settings are not enabled for the specific entity, or the control is not added to the form. Knowledge base integration is a global configuration that must be explicitly enabled for each entity, such as the Case entity, to ensure that the search control functions correctly and provides relevant articles to agents.

Exam trap

Candidates often look for form-level permission issues or security roles first, overlooking that Knowledge Management is a global entity-level setting that must be enabled before the control becomes visible.

33
MCQeasy

A customer service manager wants to enable agents to quickly view a customer's recent orders from an external system while working on a case in Dynamics 365 Customer Service. The external system provides a REST API that returns order data in JSON format. The manager wants the order data to appear in a section on the Case form without navigating away. What should you implement?

A.A Power Automate flow that retrieves orders and creates notes on the case.
B.A custom entity to store order data synced from the external system.
C.An HTML web resource that calls the REST API and displays the order data.
D.A business rule that calls the REST API and populates fields on the Case form.
AnswerC

An HTML web resource can be embedded on the Case form and use JavaScript to call the external REST API, then render the order data in a section. This provides real-time data without navigating away. Web resources are a standard way to extend forms with custom UI and integrate with external services, making this the correct approach.

Why this answer

An HTML web resource is the appropriate choice because it can be embedded on the Case form, call the external REST API using JavaScript, and display the order data in a section. This provides real-time visibility without navigating away. Other options either require data duplication, do not provide real-time display, or are not capable of calling external APIs.

The web resource approach is standard for such integrations.

Exam trap

The trap here is assuming that a Power Automate flow or business rule can directly display external data on the form, but they cannot provide real-time, embedded views.

34
MCQmedium

Refer to the exhibit. You are reviewing the JSON configuration for a routing rule. Based on the provided exhibit, what will happen when a case with 'High' priority arrives?

A.The case is automatically escalated to a manager.
B.The case is assigned to the Emergency_Support_Queue.
C.The system sends an email to the customer.
D.The rule fails because the priority weight is too low.
AnswerB

The JSON explicitly defines the action as 'assign_to_queue' with the target set to 'Emergency_Support_Queue'. This confirms that the logic correctly maps the high-priority case to the specified queue, which is the intended behavior for prioritizing sensitive or time-critical support requests within the system.

Why this answer

The exhibit defines a routing rule that checks if a case's priority attribute equals 'High'. If the condition evaluates to true, the system triggers the 'assign_to_queue' action, routing the item to the 'Emergency_Support_Queue'. This automated approach ensures that high-priority issues are routed to specialized teams immediately, which is crucial for meeting Service Level Agreements (SLAs) and maintaining high customer satisfaction in high-pressure support environments.

Exam trap

Candidates frequently misinterpret JSON operator flags or assume default fallback queues apply when a priority condition matches, missing the explicit target queue ID specified in the action block.

35
Multi-Selectmedium

You are setting up a Knowledge Base article template. Which TWO features must you configure to ensure articles are professional and searchable?

Select 2 answers
A.Article Templates to enforce a standard structure.
B.Article Categories to improve searchability.
C.Automatic article translation into all languages.
D.Enable 'Anonymous Browsing' for all articles.
E.Custom C# code to generate article IDs.
AnswersA, B

Templates provide a pre-defined layout that ensures every article includes mandatory sections. This consistency makes it easier for agents to scan articles for answers, improving the speed and quality of support provided during customer interactions, which is a core benefit of a well-organized knowledge base.

Why this answer

Configuring Article Templates and defining Article Categories are critical for maintaining a standardized and searchable knowledge base. Templates provide a consistent structure for authors, ensuring all necessary information is included, while categories allow agents to filter and find information quickly. These elements combined make the knowledge base a powerful self-service and support tool, directly reducing the time required to resolve customer issues.

Exam trap

Candidates often select 'Knowledge Management Settings' as the primary configuration. While important, the question asks specifically about article structure and searchability, which are handled by templates and categories.

36
MCQhard

You are extending a Customer Service environment by creating a custom action that will be triggered from a case record. The action must call an external REST API, pass the case ID, and update the case with the response. You have written a plug-in that implements the logic. Where should you register the plug-in step to ensure it executes when the custom action is invoked?

A.On the Retrieve message of the Case entity, post-operation.
B.On the Update message of the Case entity, pre-operation.
C.On the Create message of the Case entity, post-operation.
D.On the custom action message, post-operation.
AnswerD

Custom actions in Dynamics 365 are exposed as messages. To execute a plug-in when a custom action is invoked, you register a step on that custom action's message. Post-operation ensures the plug-in runs after the action's core logic, allowing you to use the action's output parameters and perform additional updates. This is the standard pattern for extending custom actions with plug-ins.

Why this answer

To have a plug-in execute when a custom action is invoked, you must register a step on that custom action's message. Post-operation is appropriate because it runs after the action's main logic, allowing access to output parameters and the ability to update the case. Registering on entity messages like Create, Update, or Retrieve would trigger at incorrect times and not align with the action invocation.

Exam trap

The trap here is confusing custom action messages with standard entity messages, leading to registration on Create or Update instead of the custom action itself.

37
MCQmedium

You are a functional consultant configuring a custom channel in Omnichannel for Customer Service. The channel must display a pre-chat survey that collects the customer's issue category and then, based on the selected category, dynamically show additional questions. Which feature should you use to implement this dynamic behavior in the pre-chat survey?

A.Custom JavaScript that manipulates the DOM of the chat widget
B.Adaptive Cards with conditional visibility rules
C.Pre-chat survey with branching logic using Power Automate
D.Pre-chat survey with question branching based on previous answers
AnswerD

The pre-chat survey in Omnichannel for Customer Service supports branching logic, allowing you to show or hide questions based on responses to earlier questions. This is configured directly in the survey designer. It enables dynamic, personalized data collection before the conversation starts, exactly as required for the scenario.

Why this answer

The pre-chat survey in Omnichannel for Customer Service includes native branching logic. You can configure questions to appear conditionally based on previous answers, enabling dynamic data collection without custom code. This is the supported and maintainable approach for the described requirement.

Exam trap

The trap here is assuming that Power Automate or custom code is needed to create dynamic surveys, when the pre-chat survey already provides built-in branching.

38
MCQhard

You are implementing a custom action in Dynamics 365 Customer Service that must be triggered when a case is escalated. The action must update the case record and also create a task for the escalation team. The action should be reusable across multiple entities. What should you create?

A.A custom action that includes steps to update the case and create a task, and is configured to be global.
B.A plug-in that registers on the escalation message and updates the case.
C.A Power Automate flow that triggers on case escalation and performs the updates.
D.A workflow that runs on the Case entity and creates a task.
AnswerA

A custom action can be defined as global, meaning it is not bound to a specific entity and can be called from any entity or process. It can contain multiple steps, such as updating a record and creating a task. This makes it reusable and suitable for the scenario.

Why this answer

A global custom action is the correct choice because it can be called from any entity and can contain multiple steps, such as updating the case and creating a task. It is reusable and can be triggered from workflows, business rules, or code. This meets the requirement of being reusable across multiple entities.

Exam trap

The trap here is assuming that a workflow or Power Automate flow is the only way to automate tasks, but a global custom action is specifically designed for reusability across entities and can be invoked from various sources.

39
MCQeasy

You are a functional consultant for a company using Dynamics 365 Customer Service. The customer service manager wants to provide agents with a custom button on the Case form that, when clicked, opens a specific knowledge article in a new browser tab. The button should be visible only when the case status is 'Active'. Which method should you use to implement this requirement?

A.Add a custom command button to the Case form ribbon and use a JavaScript web resource to control its visibility and action.
B.Use a Power Automate flow triggered on the case status change to send an email with the knowledge article link.
C.Add a web resource to the form that displays a button using HTML and JavaScript, and embed it as an IFRAME.
D.Create a business rule that sets a field value and use a workflow to open a URL when the field changes.
AnswerA

Custom command buttons on the ribbon can be configured with enable rules and display rules that use JavaScript to evaluate conditions like the case status. The JavaScript can also open a URL in a new tab. This is the standard supported method to add a button with dynamic visibility and custom action on a form.

Why this answer

The ribbon in Dynamics 365 is extensible through the Ribbon Workbench or directly via solution XML. You can add a custom button, define enable and display rules that reference JavaScript web resources to check the case status, and specify a command action that runs JavaScript to open the knowledge article URL. This is the standard, supported method for adding context-sensitive buttons on forms.

Exam trap

The trap here is thinking that business rules or workflows can directly open a browser tab, when they cannot interact with the client's browser.

40
MCQhard

You are a functional consultant for a company using Dynamics 365 Customer Service. The company wants to embed a custom canvas app inside the Case form to display real-time customer data from an external system. The canvas app must receive the case ID as a parameter and pass it to the external system. Which method should you use to pass the case ID to the canvas app?

A.Configure a Power Automate flow that triggers when the Case form loads and passes the case ID to the canvas app via a push notification
B.Use the Param function in the canvas app and pass the case ID via the URL query string
C.Use the Dataverse connector in the canvas app to retrieve the current case record based on the user's context
D.Use a JavaScript web resource to set a global variable that the canvas app reads via the ComponentFramework context
AnswerB

Canvas apps embedded in model-driven forms can receive parameters through the URL. By configuring the canvas app to read a parameter using the Param function, and setting the URL in the form's custom control properties to include the case ID, the app can access it. This is the supported method for passing contextual data to embedded canvas apps.

Why this answer

Embedded canvas apps receive parameters via URL query strings. The Param function in Power Apps reads these values, allowing the app to use the case ID for external calls. This is the documented and supported method for passing context from a model-driven form to an embedded canvas app, ensuring the app can dynamically respond to the current record.

Exam trap

The trap here is assuming that embedded canvas apps can access the parent form's JavaScript variables or context directly, but they are isolated and require parameters via URL.

41
MCQhard

You are extending Dynamics 365 Customer Service by creating a custom entity to track equipment repairs. You need to ensure that when a repair record is created, the associated case is automatically updated with the repair status. The update must happen in real-time and be visible immediately on the case form. What should you implement?

A.An asynchronous plugin registered on the Create message of the repair entity that updates the case record.
B.A Power Automate flow that triggers on the creation of a repair record and updates the case.
C.A synchronous plugin registered on the Create message of the repair entity that updates the case record.
D.A business rule on the repair entity that updates the case record.
AnswerC

A synchronous plugin runs in real-time within the same transaction as the Create operation. It can update the case record immediately, ensuring that the change is visible on the case form without delay. This meets the requirement for real-time visibility. Synchronous plugins are executed before the platform returns the response to the user, so the update is instantaneous.

Why this answer

A synchronous plugin is the only option that executes in real-time within the same transaction, ensuring the case is updated immediately. Asynchronous plugins and Power Automate flows introduce delays, and business rules cannot update related entities. Therefore, the synchronous plugin is the correct choice.

Exam trap

The trap here is assuming that Power Automate or asynchronous plugins can provide real-time updates, when only synchronous plugins run within the transaction.

42
MCQmedium

A Customer Service manager wants a custom button on the Case form that, when clicked, calls an external REST API to retrieve a customer's outstanding balance and displays it in a notification. The button must be available in both the web app and the Customer Service workspace, and no full-page reload should occur. The organization uses the Unified Interface only. Which approach should you recommend?

A.Add a JavaScript web resource to the Case form's OnLoad event that uses XMLHttpRequest to call the API.
B.Create a ribbon workbench customization that adds a button to the Case form's command bar and associates a JavaScript web resource with the button's command.
C.Configure a business rule on the Case entity that calls the external API when the form is saved.
D.Create a Power Automate cloud flow triggered by a button and embed it using an IFRAME on the Case form.
AnswerB

Command bar (ribbon) customizations let you add a button to the Case form that runs a JavaScript function on click. The script can call the external REST API and use the form's notification API to display the balance. This works in both the web app and Customer Service workspace because both use the Unified Interface ribbon, and no page reload occurs.

Why this answer

A command bar button customized with a JavaScript web resource is the supported way to add a clickable action to a Unified Interface form that can call an external API and show a notification. It works in both the web client and Customer Service workspace without a page reload. OnLoad scripts, business rules, and embedded flows do not provide the required button-triggered behavior.

Exam trap

The trap here is assuming that any JavaScript on the form can run on a button click, when only command bar customizations define clickable commands that execute script.

43
MCQmedium

A Customer Service manager requires a custom report that aggregates data from external sources and displays it within the Case form. Which integration pattern should you use to ensure real-time data visibility?

A.Power Automate to sync data every hour.
B.Virtual Tables.
C.Azure Data Factory pipeline.
D.Custom Plugin triggered on Case load.
AnswerB

Virtual Tables enable real-time data access by querying the external source directly via an OData provider. This eliminates data replication requirements and ensures that the information displayed in the Case form is always current, providing agents with accurate data without unnecessary storage overhead or synchronization delays.

Why this answer

Virtual Tables are the recommended solution for integrating external data without storing it in Dataverse. They allow the system to treat external data as if it were a native entity, providing a seamless user experience while maintaining the single source of truth in the external system and ensuring high-performance data retrieval for real-time reporting needs.

Exam trap

Candidates often suggest complex data replication or synchronization jobs, failing to realize that Virtual Tables provide a native, real-time way to display external data without storage.

44
MCQhard

Refer to the exhibit. You are troubleshooting a routing issue in Unified Routing. Conversations from French-speaking customers are not reaching the French_Support_Queue. Given the JSON configuration, what is the most likely cause for this failure?

A.The capacity profile is not attached to the workstream.
B.A classification rule is missing to populate the context variable.
C.The queue has no active agents assigned to it.
D.The routing rule has a syntax error in the JSON structure.
AnswerB

The routing rule depends on the 'customer_language' variable being populated. If no classification rule exists to analyze the incoming message and set this variable, the routing engine cannot evaluate the condition. Consequently, the routing logic fails to trigger, and the message remains unrouted or goes to a default.

Why this answer

The exhibit shows a routing rule configured for a specific language condition. If conversations are not reaching the queue, the issue is typically that the 'customer_language' attribute has not been populated by a classification rule. Without a classification rule to map the incoming message data to the 'customer_language' context variable, the routing engine evaluates the condition as false, preventing the record from being routed to the French queue.

Exam trap

Candidates frequently assume routing rules automatically evaluate raw message text without realizing that a separate classification rule is required to first populate the context variable.

45
MCQhard

Refer to the exhibit. You are implementing a custom plugin to handle case routing. Which method should you use to register this logic within the Dynamics 365 environment?

A.Use the Power Apps portal to upload the code file.
B.Register the assembly using the Plugin Registration Tool.
C.Add the code directly to a JavaScript web resource.
D.Configure an Azure Function in the Power Platform Admin Center.
AnswerB

The Plugin Registration Tool is the standard, supported utility for deploying custom C# code to Dataverse. It allows you to specify the event, entity, and execution stage, ensuring the routing logic triggers reliably and follows the platform's execution model for high-performance server-side operations.

Why this answer

Custom plugin logic must be registered using the Plugin Registration Tool (PRT). The PRT allows you to associate your compiled assembly with specific stages of the Dataverse execution pipeline, such as the pre-operation or post-operation stage. This is a critical step because improper registration can lead to performance degradation or infinite loops, which could cripple the entire Customer Service system if not managed correctly.

Exam trap

Candidates mistakenly assume plugins can be deployed via simple file upload or standard solution import without the specific registration process required to link them to the Dataverse execution pipeline.

46
MCQeasy

A customer service manager wants to allow agents to create a follow-up task directly from a case record without leaving the case form. The task should be linked to the case and assigned to the same agent. Which out-of-the-box feature should you configure?

A.A workflow that creates a task record when the case is created.
B.A custom button that opens the Task entity form and pre-fills the regarding field.
C.The Timeline control on the case form with the Task activity type enabled.
D.A business process flow that includes a task step.
AnswerC

The Timeline control on the case form allows agents to create and associate activities such as tasks, phone calls, and appointments directly from the case. When the Task activity type is enabled, agents can select it, fill in details, and the task is automatically linked to the case and can be assigned to the agent.

Why this answer

The Timeline control on the case form is the standard way for agents to create and associate activities, including tasks, with a case. When the Task activity type is enabled in the Timeline configuration, agents can quickly add a task, which is automatically linked to the case via the regarding field. This satisfies the requirement without custom development.

Exam trap

The trap here is overlooking the Timeline control's built-in activity creation capability and assuming a custom button or workflow is needed.

47
MCQhard

You are using the Customer Service workspace and need to create a custom channel integration. Which technology allows you to pass data from a custom channel provider to the Dynamics 365 agent interface?

A.Power Pages Web API
B.Channel Integration Framework (CIF) API
C.Dataverse Web API
D.Custom Connector
AnswerB

The CIF API is specifically built for this purpose. It enables seamless communication between the custom communication widget (hosted as an iframe) and the Dynamics 365 workspace, allowing developers to trigger actions, search for records, and pass context data during incoming interactions.

Why this answer

The Channel Integration Framework (CIF) provides a robust JavaScript API that allows external systems to communicate with the Dynamics 365 environment. By utilizing the CIF library methods, such as 'notifyEvent' or 'setContext', developers can pass real-time data from a third-party telephony or chat provider directly into the agent workspace, enabling context-aware interactions and improved productivity during customer engagements.

Exam trap

Candidates often confuse the broader Unified Service Desk options with modern workspace technologies, mistakenly choosing server-side plugins or standard web resources instead of the specific Channel Integration Framework (CIF) API for client-side passing.

48
MCQmedium

You are customizing the agent dashboard. What is the best way to add a dynamic filter that allows agents to filter their active cases by 'High' priority?

A.Write a JavaScript function to filter the view.
B.Create a system view with the filter and add to the dashboard.
C.Use a custom Power BI report embedded in the dashboard.
D.Configure an external SQL query via a Web Resource.
AnswerB

System views are the standard and supported way to provide pre-filtered data to users. Adding a system view to a dashboard allows for a clean, professional, and efficient user experience, as it utilizes built-in platform capabilities to manage data display and filtering without any code.

Why this answer

The best way to add a dynamic filter is to create a Personal View or a System View with the appropriate filter conditions and then surface it on the dashboard. This allows agents to quickly toggle between different categories of work without needing to manually re-configure filters every time. This improves agent efficiency by providing immediate access to the most urgent tasks in their queue.

Exam trap

Candidates frequently try to build custom HTML web resources for simple filtering needs, ignoring the built-in capability of system views which are more performant and easier to maintain.

49
Multi-Selecthard

You are extending the Customer Service workspace by creating a custom session template. You need to ensure that the template includes a productivity tool that displays customer information from an external system and allows agents to interact with it. Which two actions must you perform? (Choose two.)

Select 2 answers
A.Configure a productivity tool in the session template.
B.Add the web resource to the Case form.
C.Create a web resource that integrates with the external system.
D.Register the web resource in the Unified Interface configuration.
E.Add a custom control to the session template.
AnswersA, C

Productivity tools are components that can be added to session templates to provide additional functionality, such as displaying external data. By configuring a productivity tool, you can embed a web resource or custom page that shows customer information and allows interaction. This is a correct action.

Why this answer

To include a productivity tool in a session template that displays external data, you must configure the productivity tool in the session template and create a web resource that integrates with the external system. The web resource is then referenced by the productivity tool. Other actions, such as adding to the Case form or registering in Unified Interface configuration, are not correct steps for this requirement.

Exam trap

The trap here is assuming that web resources are added directly to session templates; instead, you configure a productivity tool that hosts the web resource.

50
MCQhard

You are extending Dynamics 365 Customer Service by building a custom Power Apps component framework (PCF) control that will be used on the Account form to display a customer's recent cases. The control must fetch data from the Case entity using the Web API and display it in a grid. You need to ensure the control can retrieve the data and handle pagination. Which method should you use to fetch the data?

A.context.webAPI.retrieveMultipleRecords
B.Xrm.WebApi.retrieveMultipleRecords
C.context.webAPI.retrieveRecord
D.context.webAPI.createRecord
AnswerA

The context.webAPI.retrieveMultipleRecords method allows the PCF control to query multiple records from Dataverse using the Web API. It supports filtering, sorting, and pagination through the fetchXml or options parameter. This is the correct method to retrieve a list of cases for an account and handle pagination by specifying the page size and page number.

Why this answer

To fetch multiple case records for an account and handle pagination in a PCF control, you should use context.webAPI.retrieveMultipleRecords. This method supports querying multiple records with options for pagination, filtering, and sorting. Other methods either retrieve a single record, are not available in PCF, or are for creating records.

The correct method ensures efficient data retrieval and display in a grid.

Exam trap

The trap here is using Xrm.WebApi, which is familiar from form scripts but not available in PCF controls; PCF requires context.webAPI.

51
MCQmedium

You are a functional consultant for a company using Dynamics 365 Customer Service. The service team needs a custom control on the Case form that displays a list of similar resolved cases, allowing agents to quickly reference past resolutions. The control must be reusable across multiple entities and support configuration without writing code. Which type of Power Apps component framework (PCF) control should you create?

A.A canvas app embedded in the form
B.A dataset PCF control
C.A field PCF control
D.A web resource HTML control
AnswerB

A dataset PCF control is designed to work with tabular data, such as a list of records, and can be bound to a view or a subgrid on a form. It supports configuration through the form designer without code, and can be reused across entities. This matches the requirement to display similar resolved cases and be reusable and configurable.

Why this answer

A dataset PCF control is specifically designed to display and interact with tabular data, such as a list of records, within a model-driven form. It can be bound to a view or subgrid and configured through the form designer, making it reusable across entities without code. This aligns with the requirement to show similar resolved cases and be easily configurable.

Exam trap

The trap here is confusing the scope of field controls with dataset controls; field controls only affect a single column, not a list of records.

52
MCQeasy

What is the primary benefit of using macros in the Customer Service workspace?

A.To replace the need for agent training.
B.To automate repetitive multi-step processes.
C.To provide real-time AI suggestions.
D.To manage system security and access.
AnswerB

Macros allow agents to execute a sequence of actions—such as sending an email, updating a case status, and adding a note—with a single click. This significantly reduces the time spent on manual data entry and repetitive tasks, allowing agents to process more cases efficiently and consistently every single day.

Why this answer

Macros automate repetitive tasks, which is the most effective way to improve agent productivity and reduce human error. Understanding the role of macros allows consultants to identify high-volume, low-complexity tasks that should be automated. This directly impacts key metrics like handle time and ensures that agents can focus their limited time on high-value interactions that require human empathy and complex problem-solving abilities.

Exam trap

Candidates sometimes confuse macros with business process flows or automated routing rules, misinterpreting their primary role in streamlining user interface interactions.

53
MCQeasy

Which tool should you use to check for potential performance issues in your custom Customer Service plugins?

A.The Solution Health Hub.
B.The Plugin Trace Log.
C.Browser Developer Tools.
D.The Power Platform Admin Center Usage Reports.
AnswerB

The Plugin Trace Log is the built-in mechanism for capturing diagnostic information from plugins. It records detailed execution data, including exceptions and custom messages, allowing developers to precisely pinpoint where and why a plugin is underperforming, which is crucial for maintaining a responsive service application.

Why this answer

The Plugin Trace Log is the primary tool for debugging and monitoring plugin performance. By enabling logging in the Dataverse settings, you can capture detailed information about each plugin execution, including timings and errors. This is essential for identifying bottlenecks in your server-side logic, which directly impacts the responsiveness of the case management system and ensures that agents have a smooth experience while working with cases.

Exam trap

Candidates often look for general system logs or event viewers, not realizing that the Plugin Trace Log is the specific, dedicated feature for capturing execution details for developers.

54
MCQmedium

You are configuring a custom messaging channel in Omnichannel for Customer Service. The channel will use a third-party provider that sends messages via a REST API. You need to ensure that incoming messages are routed to the correct queue based on the customer's product interest, which is included in the message payload. What should you configure to extract the product interest and use it for routing?

A.Use a Power Automate flow triggered on message receipt to update the case with the product interest, then rely on a classic workflow to route.
B.Create a custom plug-in that intercepts the incoming message and sets a routing attribute on the conversation.
C.Configure a sentiment analysis rule that routes based on the detected product interest in the message text.
D.Create a workstream with a routing rule set that uses a custom context variable mapped to the product interest field.
AnswerD

In Omnichannel, routing rules can evaluate context variables. By defining a custom context variable that captures the product interest from the incoming message payload, you can create a routing rule set that routes to different queues based on its value. This is the intended method for dynamic routing based on message data. It requires configuring the channel to map the payload field to the context variable.

Why this answer

To route based on data in the message payload, you should define a custom context variable that captures the product interest and then use it in a routing rule set within the workstream. This leverages the built-in Omnichannel routing capabilities and ensures real-time routing. The other options either misuse features, add unnecessary complexity, or rely on unsupported customization.

Exam trap

The trap here is assuming that sentiment analysis or plug-ins are needed for data extraction, when the native context variable mechanism is designed exactly for this purpose.

Ready to test yourself?

Try a timed practice session using only Extend Customer Service questions.