Dynamics 365: Interview QnA

  1. What are different type of Views available in Dynamics 365?
    1. System Views-
      1. These are the views that are available to any user who can access the entity. They are managed by system administrators or system customizers. The only way to block specific users from seeing system views is by removing their access to the entire entity.
      2. Just because a user can see and select a System View from the list does not mean that they can see all of the records in that view. They can only see records within views that they have access to see. This is true of both System Views and My Views. For example, if you have business unit security setup and it is based on Territories or Regions, a user who can only see accounts within certain states will only see those records when they select a view showing All Active Accounts. Whereas a system administrator in the Parent business unit, who has the highest level of security, can see all records across all Territories/Regions when accessing the same view.
    2. Personal Views-
      1. These are the views that a user has saved through an Advanced Find. They are personal views that only the owner of the view can see, unless they share it with other users and/or teams. The system administrator can manage the users' access level to Personal Views by updating the Saved View entity in security roles.
  2. Can we convert System views to Personal Views and vice versa?
    1. You can easily copy a System View to a Personal View, but you cannot copy a Personal Views to a System View. The view "My Active Accounts Custom" in below screenshot is a Personal View while rest of the views are System Views. In order to save any System View as a Personal View, you need to apply additional filter upon the existing System View. Then click on the down arrow icon of the views drop down. Here you will find an option "Save as new view".
    2. Only the owner of the Personal View can see the personal view until they are shared. Even a System Administrator cannot see their personal saved views until they are shared. This can cause issues because once a user is disabled, their saved views where they are the Owner, are disabled as well.
  3. What is a Plugin?
    1. Plugin refers to a custom logic that would modify the behavior of the CRM. Plugins are registered in platforms related to CRM against events that correspond to create, delete, update or change. It also requires programming language with the concepts of CRM and SDK.
  4. What is a Workflow?
    1. Workflows are basically a collection of actions which are carried out with the help of certain rules laid down. It facilitates the atomization of information and tasks passes from one user to other.
  5. What are the various types of solutions in Dynamics CRM?
    1. There are mainly 2 types of solutions in Dynamics CRM-
      1. Managed
      2. Unmanaged
  6. What do you mean by a Managed Solution?
    1. Managed solutions are a kind of complete package that can be distributed and install in respective CRM organizations. Managed solutions cannot be altered.
  7. What do you mean by an Unmanaged Solution?
    1. An unmanaged solution can be defined as a collection of customizations that are unmanaged in nature. However, the customizations cannot be rolled back if any unmanaged solution is imported into CRM. One can export a solution as a managed solution which can be distributed.
  8. What is a task flow and how it can be used?
    1. A task flow is a type of Business Process Flow which can be designed in Dynamics 365 for Phones or Dynamics 365 for Tablets based upon the common tasks a user performs. When users tap the New task in their mobile app, it will take them through from Start to Finish so that they don't forget any important step.
  9. What is the use of Xrm.mobile.offline?
    1. Xrm.mobile.offline is a namespace used to perform CRUD operations for records in Dynamics 365 for Phones and Dynamics 365 for Tablets while working in offline mode. These client APIs will work only if you are in the offline mode and for entities that are enable for mobile offline synchronization.
  10. Does WebApi called using JavaScript would work form outlook in offline mode?
    1. It will work in Dynamics 365 only and not in 2016 SP1 or before. The context.getClientUrl function automatically redirects requests to the local version of the service when Dynamics 365 for Outlook is offline.
  11. What is Data Export service and what is its scope?
    1. Data Export is an add-on service made available as a Dynamics 365 online solution that adds the ability to replicate Dynamics 365 online data to a Microsoft Azure SQL Database store. The supported destinations are Microsoft Azure SQL Server & Microsoft Azure SQL Database. Data Export service intelligently synchronizes the entire Dynamics 365 schema and data initially and thereafter synchronized on a continuous basis or the delta changes in the Microsoft Dynamics 365 online.
  12. How do we know the owner of a managed solution?
    1. Every managed solution is linked with a publisher. Publisher is linked with the owner. This way, we can know about the owner of a managed solution.
  13. What is "Append" and "Append To" privilege in Dynamics 365?
    1. Both these privileges work together. "Append To" privilege allows other entities to get attached with the current entity. "Append" privilege allows the current entity to attach the records with other entity having "Append To" privilege. Let's understand with an example:
      1. We have 2 entities: 
        1. Entity-Primary
        2. Entity-Secondary.
      2. Now, I want to attach the records of Entity-Secondary to the records of Entity-Primary. For this, I must have "Append To" rights on Entity-Primary and "Append" upon Entity-Secondary. Then I need to create 1:N relationship between Entity-Primary and Entity-Secondary. After then, we can be able to attach Entity-Secondary records to Entity-Primary records.
  14. What is the difference between "Assign" and "Share"?
    1. Assign- Allows the user to change the owner of the record to another user or team.
    2. Share- Allows the user to share an existing record. It doesn't remove the ownership of current owner. When sharing a record, it’s possible to specify the permission given to the user. Ownership of record is shared among them.
  15. What are the high-level steps to enable field level security?
    1. Enable field level security for an attribute
    2. Create a field level security profile
    3. Associate users or teams with the profile
    4. Add specific field permissions like Create/Read/Update/Delete for a specific attribute to the profile
  16. What would happen if multiple profiles assigned to user/team?
    1. User/team will receive the least restrictive permission means highest of all the privileges.
  17. If I have 20 user license and I have already created 20 users. What will happen if I create 21st user?
    1. The 21st user will get created in CRM but will remain in disabled state.
  18. What is Email router in Dynamics CRM?
    1. Email router is Dynamics CRM forms the software component which creates an interface between the Organization's messaging system and the Microsoft Dynamics CRM deployment.
  19. I have written a business rule as well as JavaScript method. Which will trigger first?
    1. JavaScript method. Reason: JavaScript method is a client-side code and synchronous in nature. while Business rules are asynchronous process. Therefore, JavaScript method will execute first.
  20. Can we hide tabs in Dynamics CRM form?
    1. Yes, using JavaScript code:
    2. Xrm.Page.ui.tabs.get('tab_name').sections.get('section_name').setVisible(false);
      
  21. I am using Singleton Pattern and found that 2 objects are created. How is it possible?
    1. If you have multiple worker processes configured then not all the requests are handled by same process therefore not the same singleton. So, if multiple singletons are handling requests then it is obvious to have multiple objects created.
  22. How would you migrate Closed cases from one D365 environment to another?
    1. The prominent answer is-
      1. Import resolved cases from Excel
      2. It is a usual import process. The only difference is that, if you are importing the filtered data, then it would not be having Status column in excel and the moment you import the data, by default Status is set to Active. For sake of convenience, first export all data so that it will be having Status column as well. Then you may filter out the unwanted data and later on import that excel. 
    2. You may also visit-
      1. Import accounts, leads, or other data
    3. Also read on how to import data-
      1. How to import data
  23. How to measure performance of a Dynamics 365 CE system?
    1. There is no direct approach in Dynamics 365 online. However, Microsoft has enabled 2 performance monitoring platforms to monitor the performance of the Dynamics 365 application as well as the custom apps in azure.
      1. Common Data Service analytics [Earlier known as Organization Insights]
      2. Application Insights
    2. Common Data Service Analytics- Microsoft has improved how you view metrics for your organization. You no longer need to install or update a solution. Instead, you can view Customer Data Service analytics right from the Power Platform Admin center to quickly view adoption ad user metrics for your organization. [ Earlier, a custom solution called Organization Insights needed to be installed to see this dashboard in CRM].
      1. Microsoft Dataverse Analytics
    3. Application Insights- To monitor your application, you add an Application Insights SDK to your application. The SDK sends telemetry to the Application Insights portal, where you can use our powerful analysis and diagnostic tools, or export the data to storage.
      1. Application Insights for web pages
    4. Apart from these two, Microsoft has introduced a new feature (Power Platform CoE Toolkit) to monitor and govern the usage of apps, flows and other components and additional auditing capabilities across different tools at one place (eg: office 365, Dynamics 365 Apps. Power BI. Power Apps etc).
  24. What Azure services do you leverage to provide solutions for D365 based applications?
    1. Azure Functions
    2. Logic Apps
    3. DevOps
    4. Plugins
    5. ...
  25. What are the components of Technical Design Document?
    1. Technical design docs are often part of a larger process which typically has the following steps:
    2. Product requirements are defined- These will typically be represented by a Product Requirements Document (PRD). The PRD specifies what the system needs to do, from the perspective of a user or outside agent.
    3. Technical requirements are defined- The product requirements are translated into technical requirements- what the system needs to accomplish, but now how it does it. The output of this step is a Technical Requirements Document (TRD).
    4. Technical design- This contains a technical description of the solution to the requirements outlined in the previous steps. The Technical Design Document is the output of this step.
    5. Implementation- This is the stage where the solution is actually built.
    6. Testing- The system is tested against the PRD and TRD to ensure that it actually fulfills the specified requirements.
    7. Between each of these stages there is typically a Review Process to ensure that no mistakes were made. If any errors, misunderstandings, or ambiguities are detected, these must be corrected before proceeding to the next step.
  26. What all factors do you consider when you integrate multiple distinct systems?
    1. There are a couple of approaches.
      1. Implementing services- That should communicate with separate systems, especially if you need updates in real time. 
      2. Separate Integration Application- That is responsible for shuffling the data around.
  27. What are activities conducted as part of preparation for Go-Live?
    1. The activities are-
      1. All Test Cases are Executed and Passed
      2. There are no Remaining Severity 1 or 2 Bugs Outstanding
      3. Data Migration and Cutover Activities Have Been Practiced
      4. Production Data is Staged and Ready to be Migrated
      5. Your Production Environment is Ready
      6. The Rollout Strategy is Defined, Scheduled and Communicated
      7. The Support Team is Prepared
    2. For more details read- ERP Project Go-live Readiness Checklist​
  28. What is the relationship between Account and Contact?
    1. The relationship between Account and Contact is 1:N. It means, an Account can have multiple Contacts but a Contact cannot be associated with multiple Accounts.
    2. An Account can be a parent of a Contact or an Account but Contact cannot be a parent of an Account.
  29. What is Form Level security?
    1. Form level security used to secure a form, using this form level security we can restrict the Entity form to displaying for everyone OR displaying only for some security roles.
  30. What is Field Level security?
    1. Field level security in CRM lets you dictate which fields users can view or edit. If you want to prevent users from (accidentally) changing data like an account name, account number or status, enabling or disabling field security for a field can give them read only access to these specific fields.
  31. What is the importance of Field Level security in CRM?
    1. Secured Data. It is important to keep your sensitive data secured. With field level restrictions, the data will be available only to the required personnel.
    2. As CRM may contains sensitive information which you would not want to show to some of your employees like interns, contractual employees or other CRM users. Hence, Dynamics 365 provides field level security functionality. 
    3. Field Level Security in Microsoft Dynamics CRM allows you to expand your security model beyond entities to include specific fields. However, you cannot secure fields as part of your typical security role setup. It’s a completely separate process.
    4. Security Profiles can be configured to grant a combination of the following 3 permissions at the field level:
      1. Read (read-only access to field data)
      2. Create (users or teams can add data to this field when creating a record)
      3. Update (users or teams can update the field’s data after it has been created)
    5. For more details, please refer to the URL: https://www.encorebusiness.com/blog/microsoft-dynamics-crm-field-level-security/
  32. What are the permissions we can restrict on specific field with Field Level security?
    1. We can apply restriction using a combination of the following 3 permissions on specific field with field level security:
      1. Read - Allows the user with the security profile assigned to have read-only access. The user can only view the field data and cannot make any changes to it.
      2. Create - Allows the user to add value to the data field when creating a new record
      3. Security Profiles can be configured to grant a combination of the following 3 permissions at the field level:
        1. Read (read-only access to field data)
        2. Create (users or teams can add data to this field when creating a record)
        3. Update (users or teams can update the field’s data after it has been created)
      4. - Allows the user to make modifications and update the data field's value after it has been created.
    2. Users, who do not have Read access to a particular data field, will only get to see series of asterisk (*) strings in place of actual value (like "******") 
  33. Can we control the Field Level security based on security roles?
    1. No. Field Level Security can only be applied for users or teams, not security roles.
    2. Let's take an example- We have a field "Salary" and we have security roles as "Managers" & ""Employees". The objective is "Make Salary Field Editable for Managers and Read-only for Employees".
    3. Solution-
      1. Salary Field Editable for Managers- Create an Owner Team and add Managers to that team, then create a field security profile where you can add Manager's Team and finally set the privilege to Read/Write for that team.
      2. Salary Field Read-only for Employees- Create an Owner Team and add Employees to that team, then create a field security profile where you can add Employee's Team and finally set the privilege to Read for that team.
  34. What is Discovery and purpose of it?
    1. This is a Web API only service and with this service you will no longer have to prompt users for their region, as the service can return a list of all instances from all regions at once. One of the key aspects of using the new Global Discovery Service is getting an authorization token for the Dynamics Web API that allows you to properly access this resource.
    2. You might have heard about the Discovery Service of MS CRM a number of times. It is used to get all the organizations, related to an application but why we don't use this service in our day-to-day development of MS CRM. The reason is that we mostly work in service companies for MS CRM in which we don't come across the scenario in which Discovery service might be useful. For companies that builds tools around MS CRM uses this service, mostly product-based companies which builds tools for CRM.
    3. The scenario in which Discovery Service can be used. If you are building a tool in which you are required to let user, choose the organization. Example- Plugin Registration tool, when you enter the tool, it shows all the organizations like dev, test etc.
  35. What are the REST calls in CRM?
    1. REST APIs is an acronym for Representational State Transfer Application Programming Interface. A REST API is a data source’s frontend, allowing users to create, retrieve, update, and delete data items. An API is typically a portal to the rest of the world for developer teams.
    2. The Dynamics 365 REST APIs are used to manage all corporate activities as well as customer-related functionalities. The REST APIs for Microsoft Dynamics 365 makes it easy for Developers to acquire and alter data from the CRM software. Companies can also link to other software and business applications to improve user experiences, such as BI resources, ERP software, customer apps, and portal systems. It supports REST-based, SOAP-based, and web-based APIs.
  36. What is early binding and late binding. How is it used in CRM?
    1. When you work with the Organization service assemblies you have two programming styles you can use: late bound and early bound.
    2. The key difference between early and late binding involves type conversion. While EARLY binding provides compile-time checking of all types so that no implicit casts occur, LATE binding check types only when the object is created, or an action is performed on the type. The Entity class requires types to be explicitly specified to prevent implicit casts.
    3. Late binding allows you to work with custom tables (entities) or columns (attributes) that weren't available when your code was compiled.
    4. For more details refer URL: https://learn.microsoft.com/en-us/power-apps/developer/data-platform/org-service/early-bound-programming
  37. What is PrinciplalObjectAccess table why is it used?
    1. The PrincipalObjectAccess table is used to store the data around record sharing. To manage record-level collaboration and to provide user access to shared records, all sharing of records and their permissions are stored in the PrincipalObjectAccess (POA) table.
    2. For more details refer URL: https://learn.microsoft.com/en-us/power-platform/admin/manage-principalobjectaccess-storage
  38. What is the use of stringmap table?
    1. Stringmap table used in MSCRM for storing the details of OptionSet Fields exists in an organization. It contains all the data (Attribute Name, OptionSet name, option value, option name) of option set.
    2. For more details refer URL: http://microsoftdynamics.in/2017/12/18/stringmap-table-in-ms-crm/
  39. What are the different types of Authentication methods supported in Dynamics CRM?
    1. The following table outlines the security considerations for the available authentication methods. Availability is an indication of the user being able to use the authentication method, not of the service availability in Azure AD:
    2. Authentication Method Security Usability Availability
      Windows Hello for Business High High High
      Microsoft Authenticator App High High High
      FIDO2 Security Key High High High
      Certificate based authentication (preview) High High High
      OATH Hardware Tokens (preview) Medium Medium High
      OATH Software Tokens (preview) Medium Medium High
      SMS Medium High Medium
      Voice Medium Medium Medium
      Password Low High High
    3. For more details refer URL: https://learn.microsoft.com/en-us/azure/active-directory/authentication/concept-authentication-methods
  40. What are different Types of Modules in Dynamics 365?
    1. Types of Modules in Dynamics 365:
      1. Sales-
        1. Dynamics 365 Sales
      2. Service-
        1. Dynamics 365 Customer Service
        2. Dynamics 365 Field Service
      3. Marketing-
        1. Dynamics 365 Marketing
      4. Customer Data Platform-
        1. Dynamics 365 Customer Insights
      5. Customer Feedback-
        1. Dynamics 365 Customer Voice
  41. Explain details about "Event Execution Pipeline"?
    1. Event Stage Name Stage Number Description
      Pre-Event Pre-Validation 10 Stage in the pipeline for plug-ins that are to execute before the main system operation. Plug-ins registered in this stage may execute outside the database transaction.
      Security Note: The pre-validation stage occurs prior to security checks being performed to verify the calling or logged on user has the correct permissions to perform the intended operation.
      Pre-Event Pre-Operation 20 Stage in the pipeline for plug-ins that are to execute before the main system operation. Plug-ins registered in this stage are executed within the database transaction.
      Note: Avoid canceling an operation here. Canceling will trigger a rollback of the transaction and have a significant performance impact.
      Platform Core Operation MainOperation 30 In-transaction main operation of the system, such as create, update, delete, and so on. No custom plug-ins can be registered in this stage. For internal use only.
      Post-Event Post-Operation 40 Stage in the pipeline for plug-ins which are to execute after the main operation. Plug-ins registered in this stage are executed within the database transaction. Use this stage to modify any properties of the message before it is returned to the caller.
      Note: Avoid applying changes to an entity included in the message because this will trigger a new Update event.

  42. Will auditing slow down my system dynamics 365?
    1. Auditing will not slow down your CRM system. All auditing data is stored in a single audit table. This design keeps the audit logs completely separated from other CRM data.
  43. Does audit data count in against my CRM storage Quota?
    1. Yes, it does. That is why we recommend deleting audit data on a regular basis as part of a yearly maintenance. Finding out how much disk space your audit data is taking is very simply.  Simply navigate to Settings / Auditing / Audit Log Management.
  44. Can I audit just changes done by a couple users?
    1. Auditing is turned on or off based on the entity or attribute. If auditing is only desired for a couple users custom code is needed.
  45. Can I schedule auditing to be turned off during data import?
    1. Yes. Auditing can be scheduled to be turned off during a data import, but this requires custom code.
    2. For more details refer URL: https://community.dynamics.com/crm/b/crmlessons/posts/crm-2011-auditing-best-practices
  46. What type of operations and data can be audited in CRM?
    1. Create, update, and delete operations on records.
    2. Changes to the shared privileges of a record.
    3. N:N association or disassociation of records.
    4. Changes to security roles.
    5. Audit changes at the entity, attribute, and organization level.
    6. Deletion of audit logs.
    7. For more details refer URL: https://drinksavvyinc.com/types-of-essay/what-type-of-operations-and-data-can-be-audited-in-crm