Monday 27 August 2018

CRM Interview Questions



1)  What is a Plug-in?
        
            A plug-in is custom business logic that you can integrate with Microsoft Dynamics CRM 2011 and Microsoft Dynamics CRM Online to modify or augment the standard behavior of the platform. Plug-ins are event handlers since they are registered to execute in response to a particular event being fired by the platform.

2) What is a workflow?

             Workflow enables automation of business processes during which documents, information, or tasks are passed from one party to another and actions are performed according to a set of rules. Workflow provides many out-of-the-box components that business users and administrators can use to model their business processes. Microsoft Dynamics CRM offers developers a new mechanism to extend and customize the standard behavior to achieve the functionality that their business applications require.

3) Difference between CRM 2011 Plug-In and Workflow

Criteria
Plug-in
Workflow
Execution before or after the core platform operation (Create, Update, Delete, and so on)
Executes immediately before or after the core operation (synchronous).Can also be queued to execute after the core operation (asynchronous).
Queued to execute after the core operation (always asynchronous).
Performance impact on the server
Synchronous plug-ins can increase the platform’s response time because they are part of the main platform processing.Asynchronous plug-ins have less impact on server response time because the code is run in a different process.
Less impact on server response time because the code is run in a different process.
Security restrictions
To register a plug-in with the platform requires a System Admin or System Customizer security role and membership in the Deployment Administrator group.
Users can interactively create workflows in the Web application.However,to register a custom workflow activity, the deploying user must have the same security roles as those required for registering plug-ins.
Microsoft Dynamics CRMversion (SKU) support
Supported in Microsoft Dynamics CRM Online when registered in the sandbox. May be supported in partner-hosted installations at the discretion of the partner.
Workflows without custom workflow activities are supported by all product versions. Custom workflow activities are not supported on Microsoft Dynamics CRM Online.
Length of processing time
A plug-in registered forsynchronous or asynchronous execution is restricted to complete its execution within a 2 minute time limit. 
Works well for either short or long processes.


Works when the Microsoft Dynamics CRMfor Outlook client is offline
Both online and offline are supported.
Workflows do not execute when offline.
Process and data persistence
Plug-ins execute to completion. Plug-ins must be written to be stateless where no in-memory data is persisted.
Workflows can be paused, postponed, canceled, and resumed through SDK calls or by the user through the Web application. The state of the workflow is automatically saved before it is paused or postponed.
Impersonation
Plug-ins can perform data operations on behalf of another system user.
Workflows cannot use impersonation.

4)  Difference between plugin vs workflow (asynchronous vs synchronous)

  •  Workflows and by extension, custom workflow activities, execute totally asynchronously. 
  •  Plugins can execute both asynchronously and synchronously.
  • Workflows can be manually executed, or automatically triggered by selected events. 
  • Workflows can be limited to automatically execute within specific organizational scopes (ie. Org, BU, Parent and Child BUs, or for the Owner only). 
  •  Plugins are always triggered by the messages to which they're subscribed, though some Messages allow limiting  execution based on whether certain attributes have been passed into the Message.
  • Workflows can be turned  off (by unpublishing).  Plugins are always on.  Custom workflow activities can be used in many Workflows.  
  • Workflows can be developed through the Workflow design interface. 
  •  Plugins must be developed in Visual Studio.Workflows do not require compiling (though custom workflow activities do). 
  •  Plugins and custom workflow activities must be compiled and deployed through processes external to CRM.
      In short: though only asynchronous in nature, Workflows allow an unimpeachable degree of flexibility and ease of configuration which Plugins do not afford, and their administration can be granted to power users of CRM without necessary access to the server or platform code.  Plugins offer the highest degree of security and performance and surpass Workflows in capability and ability to augment platform operations.
When speed of execution, security of process, and validity of data are integral, I choose Plugins.  When flexibility, functionality reuse, and optional user involvement are integral, I choose Workflows.

5) When will you use workflow and when will you use Plug In.?

           With the CRM 4.0 and 2011 enhancements to the plug-in and workflow engine as well as the introduction of the web based workflow designer I've seen many CRM developers asking the same question: When should I use workflow vs. plug-ins?   The answer is “depends”; the right approach is determined by the characteristics of the task that you are trying to accomplish.  

The following matrix gives you my take on this:

Requirement
Plug-in
Workflow
Needs a synchronousaction to happen before or after an event occurs
X


The same piece of logic will be executed for different events and possibly on different entities
X
x
The logic needs to be executed while offline
X


Needs elevation of privileges (impersonation)
X


Needs to execute on events other than assign, create, update, setstate
X


The process/logic may take a long time to complete or will be a persistent process (multiple long running steps)


x
Needs an asynchronous action
x
x
End users will need to modify the process logic


x
Child sub processes will be triggered


x


6) What is Microsoft Dynamics CRM E-mail Router?

        Ms CRM E-mail Router is a software component that creates an interface between a Microsoft Dynamics CRM deployment and the organization's messaging system. The E-mail Router routes qualified email messages to the Microsoft Dynamics CRM system as email activities and fully integrates with different messaging systems, such as Microsoft Exchange Server, Microsoft Exchange Online, POP3, and SMTP. The E-mail Router includes the functionality for sending email through any desired SMTP provider and for receiving email from Microsoft Exchange Server or from a POP3 server. Additionally, the Forward Mailbox feature remains available.

7) Should I have Microsoft Exchange Server installed in my Active Directory domain?
        
         You do not need to have Microsoft Exchange Server installed to send and to receive email messages from Microsoft Dynamics CRM. You can use  external or in-house SMTP and POP3 services to send and to receive email messages


  • Explain some new features in MS CRM 2011.
-         There are many new features in MS CRM 2011 like Enhanced UI,OOB Dashboard support,Auditingsupport,Field level security, Connections,Solution,Webresource, Role based Forms, refer: http://msdn.microsoft.com/en-us/library/gg309589.aspx for more details. 
  • What are the different web service available in MS CRM 2011.
-         MS CRM 2011 have two webservicesIOrganization Service, IDiscoveryService
  • Which service can be used to access metadata information.
-         We can use IOrganization Service to fetch metadata.
  • What are the different ways to consume MS CRM webservice from client side?
-         We can write Rest or Soap request to consume MS CRM 2011 webservices.
  • Rest Vs Soap.
  • Difference between Dialog and Workflow.
-         Dialogs are synchronous process and Workflows are asynchronous process.
-         We can develop custom workflow, but can’t customize dialogs.
  • What is Solution?
-         Solution is a collection of MS CRM 2011 components that can be exported and imported easily from one CRM organization to another CRM organization.
  • Difference between Managed and unmanaged solution.
-         Managed solution can’t be customized, but can be uninstalled easily.
-         Unmanaged solution can be customized, you can’t uninstall unmanaged solution.
-         Refer : http://msdn.microsoft.com/en-us/library/gg334576.aspx for more details
  • Is it possible to register plugin through solution?
-         Yes.
  • What is field level security?
-         Using field level security we can hide information based on user security role in MS CRM 2011. Refer : http://msdn.microsoft.com/en-us/library/gg309608.aspx
  • How can we use auditing in MS CRM 2011.
-         Auditing can be configured easily through CRM UI. Refer:http://www.avanadeblog.com/xrm/2010/09/crm-2011-feature-of-the-week-9132010-auditing.html for more details on auditing.


  • Explain some new features in  MS CRM 2011.
  • What are the different webservice available in MS CRM 2011.
  • Which service can be used to access metadata information.
  • What are the different ways to consume MS CRM webservice from client side?
  • Rest Vs Soap.
  • Difference between Dialog and Workflow.
  • What is Solution?
  • Difference between Managed and unmanaged solution.
  • Is it possible to register plugin through solution?
  • What is field level security?
  • How can we use auditing in MS CRM 2011.
  • What is the use of document location entity in MS CRM 2011.
  •  How can we create a custom Ribbon button.
  • How can we rename a custom Ribbon button.
  • How can we open a custom webpage from ribbon button.
  • How can we use Filtered views in MS CRM 2011.
  • What is Webresource and what the different types of webresource.
  • How can deploy a Silverlight webresource in MS CRM 2011.
  • What is the use of subgrids?
  • What are the basic steps involved in developing plugin.
  • What is the use of tracingService in plugin development.
  • What are the new messages introduced for plugins in MS CRM 2011?
  • What is sandbox plugin.
  • What are the different ways to create custom report for MS CRM 2011.
  • Difference between Early bound and late bound.


1. What was your role in the MSCRM implementation project that you have worked on?
You should be honest while giving answer to this question and should give a brief overview of the project and your role. This is very important question because the answer of this question will tigger so many questions. You should highlight the key skills you have; this way you will divert the attention of the interviewer to your key skills and try not to expose the area in which you are less confident.
2. What was the most challenging task you have faced till now?
Here you should give answer that exihibit your positive attiude .e.g. for a techincal consultant it may be something like ... "I was new to the suppport and during this experience i faced challenging issue related to plug-in that impoved my debugging skills. Email-to-case plug-in was really diffcult as we had to take care of so many conditions. I have learnt one thing during my previos assignment and that is 'Never give-up'".
3. What was the size of the implementation? (i.e. the number of user-licenses)
Debug a javascript that we write for some validation on entity pages
Following are the steps that are needed to be followed:
1. Enable the Debugging in the Internet Explorer - Goto Tools >> Internet Options (wizard will appear >> Click the 'Advanced Tab' >> Under Browsing Section uncheck the 'Disable script debutting' checkbox >> Click OK.
2. Edit the java script code of the Entity Page that you want to debug.
3. Put the statement 'debugger;' above the line where you want do the debugging. e.g. suppose my java-script show 'Hello World' message and i want to debug this then following is the way I am going to add script:
debugger;
alert('Hello World')
4. Save and Publish corresponding customization.
5. Perform the operation that would trigger the java script written by you
6. Debugger dialog box will appear and select appropriate debugger (Visual Studio new or existing instance)
And you may start debugging from the 'Debugger' statement of your javasript.
How to add or remove columns in an entity lookup window
Go to Settings >> Customization >> Select the entity >> Click 'Forms and Views in the Left Nav Pane" >> Double click the 'Entity Lookup View' >> Dialog box appears that contains the Add/Remove and Sorting options for a lookup view.
How to Debug the java script that we write for some validation on entity pages.
Ans - Following are the steps that are needed to be followed:
1. Enable the Debugging in the Internet Explorer - Goto Tools >> Internet Options (wizard will appear >> Click the 'Advanced Tab' >> Under Browsing Section uncheck the 'Disable script debutting' checkbox >> Click OK.
2. Edit the java script code of the Entity Page that you want to debug.
3. Put the statement 'debugger;' above the line where you want do the debugging. e.g. suppose my java-script show 'Hello World' message and i want to debug this then following is the way I am going to add script:
debugger;
alert('Hello World')
4. Save and Publish corresponding customization.
5. Perform the operation that would trigger the java script written by you
6. Debugger dialog box will appear and select appropriate debugger (Visual Studio new or existing instance)
And you may start debugging from the 'Debugger' statement of your javasript.
********************************************************
What is the difference between Role Based and Object Based Security Model in MSCRM?
Code based security is entirely coded in the application itself. Role based security uses one of the authentication/authorization mechanisms of the application server.
The fundamental concept in role-based security is that of privilege, defined at design time, on a system-wide basis. Each user has a set of privileges (there are well over a hundred privileges) that are enabled for that user. However, Policies and Roles grant privileges and simplify the process.
The other form of security applies to individual instances of objects. There is a fundamental difference between an access right and a privilege: an access right is a right granted to a user on an object), but a privilege is a right granted to a user on a class of objects. Access rights apply only after privileges have taken effect. In other words, if a user does not have the privilege to read accounts, the user will not be able to read any account, whether or not it has been shared.
  • Difference between Find and Advanced Find? Which one is faster and Why?
Find perform a search on an attribute for which it is defined. Advanced Find perform search on the conditions and the attributes for which user customizes or runs it. Normal Find in faster as it looks for one attributes and matches with that and returns the result whereas Advanced Find searches for all the attributes and conditions while parsing through the records.
Find is applicable on only active records and it finds only on 2 or 3 column which we have defined in the find view and even it returns any those column which is there in the view but advanced find is applicable to all the records and it finds all the columns and even it returns all the column and filter criteria can be on any column and most important - find filters on just one condition but adv find filters on multiple condition at one time.. Find is faster than Advanced Find.
  • Difference between CRM Discovery Service and CRM Metadataservice?
CRM service - when we need ORG related information like ORG name, Properties, CRM service path for this ORG -- then we use CRM discovery service..this is only to get the ORG related information
Meta data service - we use this when we need to interact with the CRM records – create, update or delete anything-- it is very specific to the CRM records. When we need to interact with the CRM entity and attribute -- like create an entity (not record) or attribute -- add a value to pick list-- retrieve the pick list value retrieve the entity properties-- attribute property and all we need Meta data service.
  • Difference between Plug-in and Workflows?
RequirementPlug-inWorkflowNeeds a synchronous action to happen before or after an event occursXThe same piece of logic will be executed for different events and possibly on different entities XxThe logic needs to be executed while offlineXNeeds elevation of privileges (impersonation)XNeeds to execute on events other than assign, create, update, set stateXThe process/logic may take a long time to complete or will be a persistent process (multiple long running steps)xNeeds an asynchronous actionXxEnd users will need to modify the process logicxChild sub processes will be triggered x
  • Whenever you install MSCRM what all databases get created?
MSCRM_Config and MSCRM_orgname
  • Whenever you install MSCRM what all user groups get created in Active Directory?
UserGroupAllMicrosoft CRM users . This group is updated automatically as users are added and removed from Microsoft CRM.
ReportingGroupA group that contains all users within Microsoft CRM. This group is updated as users are added to Microsoft CRM. Users in this group have read-only access to the filtered views in the Microsoft CRM database.
PrivUserGroupPrivileged Microsoft CRM user group for special administrative functions.
SQLAccessGroupA group that contains Microsoft CRM ASP.NET account and other service accounts. Members in this group have full access to the Microsoft CRM database and this group is used by the Microsoft CRM platform layer. End users should never be added to this group
  • Difference between MSCRM3.0 and MSCRM4.0?
  • Multiple organizations can now be hosted and WSDL APIs are now unique per organization in MSCRM4.0.
  • The metadata API service has been extended to retrieve language information in MSCRM4.0.
  • Plug-ins (callouts) and workflow now use the same event framework, allowing for even more extensibility.
  • The SDK has been expanded to include offline access.
  • Now we can programmatically create, read, update and delete the metadata such as entities, attributes and relationship.
  • There are three services instead of two which we used to have in previous version
  • Many to Many Relationship was not available in MSCRM3.0
  • Multicurrency feature was not available in MSCRM3.0
What is 'Append' and 'Append To' privilege in MSCRM? Give one example of it?
Ans: 'Append' and 'Append To' priviledges works together. 'Append To' priviledge will allow other entities to get attached with the entity. 'Append' priviledge will allow the entity to attach the records to the entity with 'Append To' privildege.Let us understand this with simple example:Let us say that you want to attach a note to a case then note entity should have 'Append' access right and case entity should have 'Append To' access right.Let us take one more example to understand this. Suppose you have two custom entities called 'TestCustomEntity1' and 'TestCustomEntity2'. You want to attach the 'TestCustomeEntity2' records to 'TestCustomEntity1'records. For this you need to have 'Append' access right on 'TestCustomEntity1' entity and 'Append To' access right on 'TestCustomEntity2'.Now guess will I be able to attach the records? Answer is " NO" because we need to create a 1:N relationship between 'TestCustomEntity1' and 'TestCustomEntity2'. Now the user who has above mentioned access right in his security role will only be able to add 'TestCustomEntity2' records to 'TestCustomEntity1'.
How to create a Custom Entity record using SDK?
Using Dynamic Entity.

How to join two table using Query Expression?
Using Linked entity. You should always try to minimize the number of SWS calls that we make in the database. Often during code review it is explored that the number of Microsoft CRM web-service could have been reduced by making use of the Linked-entity concept. So we should always look for the opportunity to minimize the effort.
Can we modify the name of Root Business Unit?No; we will have to re-install MSCRM.
Suppose if I have 20 user license and I have created 20users. What will happen if I create 21st User?The 21st User will get created in MSCRM but that user will be in disabled state.
What is the maximum number of tabs allowed on a Microsoft Dynamics CRM 4.0 forms? 8
How to enable/disable the form assistant? How to make sure the form assistant is expanded/collapsed on a form?Navigate to Customization >> Open the Entity >> Open Forms and Views >> Open Form >> Select Form Properties >> Open Display Tab >> Check/Uncheck the " Enable the Form Assistant" and " Expanded by Default" .The interviewer will always try to figure-out whether one is comfortable with the basic concepts of Microsoft CRM (MS CRM) or not and after that; questions will be asked from your previous experience (if you have any experience in CRM). Those questions will be something like this:
What was your role in the MSCRM implementation project that you have worked on?You should be honest while giving answer to this question and should give a brief overview of the project and your role. This is very important question because the answers of this question will trigger so many questions. You should highlight the key skills you have; this way you will divert the attention of the interviewer to your key skills and try not to expose the area in which you are less confident.
What was the most challenging task you have faced till now?Here you should give answer that exhibits your positive attitude. E.g. for a technical consultant it may be something like ... " I was new to the support and during this experience i faced challenging issue related to plug-in that improved my debugging skills. Email-to-case plug-in was really difficult as we had to take care of so many conditions. I have learnt one thing during my previous assignment and that is 'Never give-up'" .
How is CRM changing and what does the business owner need to be aware of?
At the heart of CRM is the benefit of having the customer record at the center of the data universe rather than multiple galaxies of transactions held in separate, transaction-specific apps. So the innovation lies in new and improved visibility for putting information to use in intelligent decision making. Companies that used to serve 100 are serving 10,000, and with this kind of scaling, better top-level tools and custom dashboards are where I see CRM continuing to morph and advance.
19. Who are the newcomers to the CRM landscape?
It is such a hot area right now, there are literally hundreds. But two I have been following are Zoho and HighRise. Both are niche vendors that have garnered great contact lists with their other products and created relatively simple implementations for their clients and others. They both illustrate the fact that CRM is no longer esoteric — it is going mainstream, which is a great thing for business, particularly customer service and data security.
20. How much should I plan to spend on a good solution?
That’s always a tough question, given that applications vary widely in price based on whether it’s a hosted or installed delivery model, user-based or organization-wide subscription model, or a per-gigabyte or other data model. I would use the cost-per-sale and cost-per-lead values to help determine what a system is worth to a business. For most customers, services are going to be anywhere from $20 to $350 per month per user.
What exactly should I be expecting CRM to do for me?
This is an important question, as there are many misconceptions about software and CRM in particular. Besides some fundamentals, like data security and access and ease of use, CRM will primarily help you do what you do anyway, but move it to the next level. If your main focus is customer service, CRM will help you monitor, deliver, and measure your effectiveness. If your goal is a flat organization where the right hand knows immediately what the left hand is doing, CRM will help you be informed about the customer’s world and not just what relates to your department or team.
What are your expectations for CRM in the next five years?
First, I expect CRM to become much more commonplace. Players like Zoho and 37signals (Highrise) are knocking down barriers to entry. I also expect to see some consolidation. I think the bigger players, like Salesforce, Microsoft, and SAP, will buy up some of their smaller rivals to build into their suites and migrate their user bases. As long as the acquiring provider keeps the connections intact during the migration and meets a similar price point, it will be a win-win. I also think we’ll be seeing more mobile-friendly applications, like Salesforce’s Visualforce and NetSuite’s iPhone, to maximize data access and timeliness.
What are the most common mistakes you see companies make with CRM?
Many organizations use Outlook BCM or Excel for managing their contacts, which offer no planning or setup process — just create a column or type in a field and get started. This causes problems when information is related and the flexible aspects of the previous solution are overlooked. There are real benefits that won’t happen without understanding the new vernacular; the specific way the new solution describes the data. For example, an “account” in Salesforce may not be the same as an “account” in Highrise. In fact, it might have another name altogether, such as “company.” Understanding how the particular vendor uses “leads” or “opportunities” will help to avoid a great deal of frustration.
Do you have a few key best practices someone considering CRM can use?
Yes, I have three that anyone can use. First, consider your future needs. Look down the road and ask “How many contacts will I have in five years?” “How many salespeople will I have?” “How many of my people will need real-time access to this information at home or on their phones and PDAs?” “How much would it cost me to replace these contacts?”
Second, take the opportunity to clean up your data now. Moving to a CRM solution is an opportunity to start with a clean version of accurate data. De-duplicate and otherwise scrub the data to minimize the possibility of needing to import twice. For example, the flexibility of Excel and Outlook BCM allow placing incorrectly formatted information in their fields. This data will not import well without some good planning.
Third, be sure to communicate throughout the process and get early buy-in. The biggest focus of Saleforce.com with its customers is adoption. Members of your team are influencers in their departments. Leverage their expertise and influence by building a team to help you make decisions about the solution. Even if you disagree, listening, acknowledging, and respecting will build loyalty and acceptance within the process.
What advantages might CRM have for specific verticals?
The answer to this question is not if but how much. Since CRM helps you do what you do better, if you are in a professional services company with long sales cycles, project terms, and frequent interactions and touch points, CRM will be exponentially more valuable to you. So service businesses, like lawyers, consultants, and accountants, are ripe for CRM but often have a technological aversion and a strong status quo to maintain.
Does CRM fall more to sales or marketing in most organizations?
In my experience, marketing is somewhat of a new concept in CRM. Sales is definitely involved, but most often it is operations leading the charge.
What are my best resources for finding out more about CRM?
One resource I would recommend any company creates for it is a one- to two-page document that answers the best practice questions above and includes input from the team. Send it to five vendors your team has selected and go over the proposals to see which companies address you as a unique business — not just with a customizable offering but as a discrete business. Here are a few good sites I would recommend to anyone considering a solution.
………..
Looks like Microsoft CRM is becoming more and more popular, partly because of the Microsoft muscles behind it. Now, it is targeted to the whole spectrum of horizontal and vertical market clientele. It is tightly integrated with other Microsoft Business Solutions products, such as Microsoft Great Plains, Solomon, and Navision (the last two are in progress).
If you are a developer who is asked, "How do we customize Microsoft CRM?" read this and you will have the clues on where to look further.
  1. Microsoft CRM SDK: This is a software development kit with C# and partly VB.NET examples. It is supported by Microsoft Business Solutions technical support. It is all Web services-based calls. If you are a C# .NET developer, you are excellently positioned to do this type of customization. This is the preferred customization scenario and this should easily be an upgradeable customization.
  2. Legacy SQL Data integration: This is also easy and safe. If you have a SQL database setting on the same or linked SQL Server, you can create an ASPX .Net application and simply integrate it into CRM. You can place it on the navigation bar or menu in isv.config. Please refer to the MS CRM SDK.
  3. Legacy ASP integration: This is somewhat more sophisticated. You have to deploy an HTTP handler to be a middle party between CRM, which is .NET based and ASP, which is legacy IIS. The trick is that you have to have an INI file with security settings to penetrate into MS CRM with proper credentials, calling a Web service.
  4. Microsoft Exchange Programming: Microsoft CRM has an Exchange connector that moves CRM incoming e-mail to MS if it has GUID in its subject. You can alter this logic (for instance, move e-mail to CRM if it doesn't have GUID but it is from the sender who is contact or account in MS CRM). Refer to MS Exchange SDK onsyncsave event handling. Then, simply apply some MS CRM SDK programming.
  5. Direct SQL touch: In #4 above, I described the scenario with MS Exchange handlers. This would be an ideal world if MS CRM SDK does the job. But, in the real world this, is not always true. You have to do direct flags correction in a CRM database (like making an Activity closed, moving e-mail attachments/octet streams, and so forth). This is not supported by MBS technical support, but you can rescue to this technique if you have to do the job.
MS CRM Customization tool: You can feel free to use this. This is rather an end-user tool and we don't describe it here. Read the manual. We've described above the options to use when this tool doesn't do the job.
System solution
The system solution represents the solution components defined within Microsoft Dynamics CRM. Without any managed solutions or customizations, the system solution defines the default application behavior.
Many of the components in the system solution are customizable and can be used in managed solutions or unmanaged customizations.
Managed solutions
Managed solutions are installed on top of the system solution and can modify any customizable solution components or add more solution components.
Managed solutions can also be layered on top of other managed solutions. As long as a managed solution enables customization of its solution components, other managed solutions can be installed on top of it and modify any customizable solution components that it provides.
Unmanaged customizations
All customizable solution components provided by the system solution or any managed solutions can be customized in the unmanaged customizations.
Unmanaged solutions
Unmanaged solutions are groups of unmanaged customizations. Any unmanaged customized solution component can be associated with any number of unmanaged solutions.
You create a managed solution by exporting an unmanaged solution and selecting to package it as a managed solution.
Application behavior
The ultimate behavior of an instance of Microsoft Dynamics CRM for a specific organization is the culmination of the system solution, any managed solutions, and any unmanaged customizations.


What is the difference between Role Based and Object Based Security Model in MSCRM?
Code based security is entirely coded in the application itself. Role based security uses one of the authentication/authorization mechanisms of the application server. The fundamental concept in role-based security is that of privilege, defined at design time, on a system-wide basis. Each user has a set of privileges (there are well over a hundred privileges) that are enabled for that user. However, Policies and Roles grant privileges and simplify the process. The other form of security applies to individual instances of objects. There is a fundamental difference between an access right and a privilege: an access right is a right granted to a user on an object), but a privilege is a right granted to a user on a class of objects. Access rights apply only after privileges have taken effect. In other words, if a user does not have the privilege to read accounts, the user will not be able to read any account, whether or not it has been shared.
Difference between Find and Advanced Find? Which one is faster and why?
Find perform a search on an attribute for which it is defined. Advanced Find perform search on the conditions and the attributes for which user customizes or runs it. Normal Find in faster as it looks for one attributes and matches with that and returns the result whereas Advanced Find searches for all the attributes and conditions while parsing through the records. Find is applicable on only active records and it finds only on 2 or 3 column which we have defined in the find view and even it returns any those column which is there in the view but advanced find is applicable to all the records and it finds all the columns and even it returns all the column and filter criteria can be on any column and most important - find filters on just one condition but advanced find filters on multiple condition at one time.. Find is faster than Advanced Find.
Difference between CRM Discovery Service and CRM Metadata service?
CRM service - when we need ORG related information like ORG name, Properties, CRM service path for this ORG -- then we use CRM discovery service. This is only to get the ORG related information Metadata service - we use this when we need to interact with the CRM records – create, update or delete anything-- it is very specific to the CRM records. When we need to interact with the CRM entity and attribute - like create an entity (not record) or attribute -- add a value to pick list-- retrieve the pick list value retrieve the entity properties-- attribute property and all we need Meta data service.
Difference between Plug-in and Workflows?
Requirement Plug-in Workflow Needs a synchronous action to happen before or after an event occurs. The same piece of logic will be executed for different events and possibly on different entities. The logic needs to be executed while offline. Needs elevation of privileges (impersonation) Needs to execute on events other than assign, create, update, set state The process/logic may take a long time to complete or will be a persistent process (multiple long running steps). Need an asynchronous action. End users will need to modify the process logic Child sub processes will be triggered.
Whenever you install MSCRM what all databases get created?
Answer: MSCRM_Config and MSCRM_orgname.
Whenever you install MSCRM what all user groups get created in Active Directory?
User Group All Microsoft CRM. This group is updated automatically as users are added and removed from Microsoft CRM. ReportingGroupA group contains all users within Microsoft CRM. This group is updated as users are added to Microsoft CRM. Users in this group have read-only access to the filtered views in the Microsoft CRM database. PrivUserGroupPrivileged Microsoft CRM user group for special administrative functions.  SQLAccessGroupA group that contains Microsoft CRM ASP.NET account and other service accounts. Members in this group have full access to the Microsoft CRM database and this group is used by the Microsoft CRM platform layer. End users should never be added to this group.
What is 'Append' and 'Append To' privilege in MSCRM? Give one example of it?
Ans: 'Append' and 'Append To' priviledges works together. 'Append To' privilege will allow other entities to get attached with the entity. 'Append' privilege will allow the entity to attach the records to the entity with 'Append To' privilege. Let us understand this with simple
example: Let us say that you want to attach a note to a case then note entity should have 'Append' access right and case entity should have 'Append To' access right.Let us take one more example to understand this. Suppose you have two custom entities called 'TestCustomEntity1' and 'TestCustomEntity2'. You want to attach the 'TestCustomeEntity2' records to 'TestCustomEntity1'records. For this you need to have 'Append' access right on 'TestCustomEntity1' entity and 'Append To' access right on 'TestCustomEntity2'.Now guess will I be able to attach the records? Answer is " NO" because we need to create a 1:N relationship between 'TestCustomEntity1' and 'TestCustomEntity2'. Now the user who has above mentioned access right in his security role will only be able to add 'TestCustomEntity2' records to 'TestCustomEntity1'.
How to create a Custom Entity record using SDK?
Using Dynamic Entity in CRM 4.0 and Entity in 2011.
How to join two table using Query Expression?
Using Linked entity. You should always try to minimize the number of SWS calls that we make in the database. Often during code review it is explored that the number of Microsoft CRM web-service could have been reduced by making use of the Linked-entity concept. So we should always look for the opportunity to minimize the effort.
Can we modify the name of Root Business Unit?
No, we will have to re-install MSCRM.
Suppose if I have 20 user license and I have created 20users. What will happen if I create 21st User?
The 21st User will get created in MSCRM but that user will be in disabled state.
How to enable/disable the form assistant? How to make sure the form assistant is expanded/collapsed on a form?
Navigate to Customization >> Open the Entity >> Open Forms and Views >> Open Form >> Select Form Properties >> Open Display Tab >> Check/Uncheck the “Enable the Form Assistant" and “Expanded by Default".

What was your role in the MSCRM implementation project that you have worked on?
You should be honest while giving answer to this question and should give a brief overview of the project and your role. This is very important question because the answers of this question will trigger so many questions. You should highlight the key skills you have; this way you will divert the attention of the interviewer to your key skills and try not to expose the area in which you are less confident.

What was the most challenging task you have faced till now?
Here you should give answer that exhibits your positive attitude. E.g. for a technical consultant it may be something like ... “I was new to the support and during this experience i faced challenging issue related to plug-in that improved my debugging skills. Email-to-case plug-in was really difficult as we had to take care of so many conditions. I have learnt one thing during my previous assignment and that is 'Never give-up'".

How is CRM changing and what does the business owner need to be aware of?
At the heart of CRM is the benefit of having the customer record at the center of the data universe rather than multiple galaxies of transactions held in separate, transaction-specific apps. So the innovation lies in new and improved visibility for putting information to use in intelligent decision making. Companies that used to serve 100 are serving 10,000, and with this kind of scaling, better top-level tools and custom dashboards are where I see CRM continuing to morph and advance.
 

Who are the newcomers to the CRM landscape?
It is such a hot area right now, there are literally hundreds. But two I have been following are Zoho and HighRise. Both are niche vendors that have garnered great contact lists with their other products and created relatively simple implementations for their clients and others. They both illustrate the fact that CRM is no longer esoteric — it is going mainstream, which is a great thing for business, particularly customer service and data security.
 

How much should I plan to spend on a good solution?
That’s always a tough question, given that applications vary widely in price based on whether it’s a hosted or installed delivery model, user-based or organization-wide subscription model, or a per-gigabyte or other data model. I would use the cost-per-sale and cost-per-lead values to help determine what a system is worth to a business. For most customers, services are going to be anywhere from $20 to $350 per month per user.
 

What exactly should I be expecting CRM to do for me?
This is an important question, as there are many misconceptions about software and CRM in particular. Besides some fundamentals, like data security and access and ease of use, CRM will primarily help you do what you do anyway, but move it to the next level. If your main focus is customer service, CRM will help you monitor, deliver, and measure your effectiveness. If your goal is a flat organization where the right hand knows immediately what the left hand is doing, CRM will help you be informed about the customer’s world and not just what relates to your department or team.
 

What are your expectations for CRM in the next five years?
First, I expect CRM to become much more commonplace. Players like Zoho and 37signals (Highrise) are knocking down barriers to entry. I also expect to see some consolidation. I think the bigger players, like Sales Force, Microsoft, and SAP, will buy up some of their smaller rivals to build into their suites and migrate their user bases. As long as the acquiring provider keeps the connections intact during the migration and meets a similar price point, it will be a win-win. I also think we’ll be seeing more mobile-friendly applications, like Sales-force’s Visual-force and NetSuite’s iPhone, to maximize data access and timeliness.
 

What are the most common mistakes you see companies make with CRM?
Many organizations use Outlook BCM or Excel for managing their contacts, which offer no planning or setup process — just create a column or type in a field and get started. This causes problems when information is related and the flexible aspects of the previous solution are overlooked. There are real benefits that won’t happen without understanding the new vernacular; the specific way the new solution describes the data. For example, an “account” in Sales-force may not be the same as an “account” in High-rise. In fact, it might have another name altogether, such as “company.” Understanding how the particular vendor uses “leads” or “opportunities” will help to avoid a great deal of frustration.
 

Do you have a few key best practices someone considering CRM can use?
Yes, I have three that anyone can use. First, consider your future needs. Look down the road and ask “How many contacts will I have in five years?” “How many salespeople will I have?” “How many of my people will need real-time access to this information at home or on their phones and PDAs?” “How much would it cost me to replace these contacts?” Second, take the opportunity to clean up your data now. Moving to a CRM solution is an opportunity to start with a clean version of accurate data. De-duplicate and otherwise scrub the data to minimize the possibility of needing to import twice. For example, the flexibility of Excel and Outlook BCM allow placing incorrectly formatted information in their fields. This data will not import well without some good planning. Third, be sure to communicate throughout the process and get early buy-in. The biggest focus of Saleforce.com with its customers is adoption. Members of your team are influencers in their departments. Leverage their expertise and influence by building a team to help you make decisions about the solution. Even if you disagree, listening, acknowledging, and respecting will build loyalty and acceptance within the process.
 

What advantages might CRM have for specific verticals?
The answer to this question is not if but how much. Since CRM helps you do what you do better, if you are in a professional services company with long sales cycles, project terms, and frequent interactions and touch points, CRM will be exponentially more valuable to you. So service businesses, like lawyers, consultants, and accountants, are ripe for CRM but often have a technological aversion and a strong status quo to maintain.
 

Does CRM fall more to sales or marketing in most organizations?
In my experience, marketing is somewhat of a new concept in CRM. Sales are definitely involved, but most often it is operations leading the charge.
 

What are my best resources for finding out more about CRM?
One resource I would recommend any company creates for it is a one- to two-page document that answers the best practice questions above and includes input from the team. Send it to five vendors your team has selected and go over the proposals to see which companies address you as a unique business — not just with a customizable offering but as a discrete business. Here are a few good sites I would recommend to anyone considering a solution
 

How many Web Services are in MSCRM?
1.    Deployment Web Service
Using this service we can
·         Create or import organizations
·         Enable and Disable organizations
·         Add deployment administrators
·         Configure IFD and Claims-based authentication
2. Discovery Web service
Using this service we can
·         Identify the organization information available in a deployment
3. IOrganization Service
·         In CRM 4.0 we had the CrmService &CrmMetadataService to access data & metadata.
·         In CRM 2011, These are combined in single IOrganization service endpoint that includes both data and metadata

What was the size of the implementation?
The number of user-licenses.
 

Suppose I want to migrate Microsoft CRM implementation from one environment to other environment. Let us assume that there a published workflow for account entity. Now in normal usage there will be few accounts-records for which the workflow will be waiting/Waiting for Resource/Failed/Succeeded state. So what should be our strategy for the migration? What will happen to the records which are in waiting state and what will happen to the records which are in-progress?

Suppose there is a plug-in registered for account entity. When a user submits a request (e.g. account creation etc.) to the web-server then what will happen in the server?
The plug-in will get loaded into the memory and will perform the operation it is needed to do.
 

Now what will happen if 100 users will submit the request to the web-server? The plug-in code will get loaded into the memory for 100 times?
Answer is NO. Noticeable point over here is that the Microsoft CRM is a managed application and runs under .Net framework. So whenever the first request arrives at the web-server the plug-in code is loaded into the memory and will perform its operation and subsequently the same plug-in code will serve the process for other user as well. So this way it saves the amount of time required to load the plug-in into the memory. If the plug-in code is not being used for long then the Garbage collector will identify it and will sweep the plug-in out from the memory.
 

How to add/remove columns in an entity lookup window?
Go to Settings >> Customization >> Select the entity >> Click ‘Forms and Views in the Left Nav Pane” >> Double click the ‘Entity Lookup View’ >> Dialog box appears that contains the Add/Remove and Sorting options for a lookup view.
 

How to debug the java script that we write for some validation on entity pages?
Following are the steps that are needed to be followed:
·          Enable the Debugging in the Internet Explorer – Go to Tools >> Internet Options (wizard will appear >> Click the ‘Advanced Tab’ >> Under Browsing Section uncheck the ‘Disable script debugging’ checkbox >> Click OK.
·         Edit the java script code of the Entity Page that you want to debug.
·         Put the statement ‘debugger;’ above the line where you want to do the debugging.
e.g. suppose my java-script show ‘Hello World’ message and i want to debug this then following is the way I am going to add script:
debugger;
alert(‘Hello World’)
·         Save and Publish corresponding customization.
·         Perform the operation that would trigger the java script written by you
·         Debugger dialog box will appear and select appropriate debugger (Visual Studio new or existing instance)

What are basic security permissions at domain level?
 (priv reporting group, privUser group, SQL Reporting group… total 5 groups availble google it.)
 

For plugin deployment, Difference between GAC, Database, Disk deployments?

                  GAC Deployment
1. Does not support CRM 2011 online deployments
2. You can refer external DLL assemblies used in Plugin only if they are registered in GAC
Database Deployment
1. Supports CRM online 2011 deployment
2. You can refer external DLL assemblies used in Plugin only if they are registered in GAC
Disk deployments
1. Does not support CRM 2011 online deployments
2. You can refer external DLL assemblies from the disk and from GAC
 
Difference between CRM web services vs. CRM.SDK Proxy namespaces? 

 Calling Dynamic Entities (knowledge on Moniker, Input Parameters, Output Parameters, and Meta Services)? 

 Difference between GUID and Key, Lookup and String?

 Knowledge on Java Script and SOAP web services, most important how to call XmlHttpRequest?

How many numbers of tabs available in MS CRM Entity Form?
Officially max 8 tabs, unofficially we can do plenty (It’s not recommended by Microsoft CRM)
 

 Explain in details about the event execution pipeline? 

 When do we register a plugin in child pipeline? Give examples?
Quote can be created in 2 ways, through the home screen OR the opportunity screen. If you create it from the latter, it will run on the child pipeline and you will find that your plugin will not work.
 

 What are images? Why are they used?
Plugins in Dynamics CRM, allow you to register images against the steps of a plugin assembly. Images are a way to pass the image of the record that is currently being worked upon prior or after the action has been performed. In general it could be said, it is the image of the record as is available in the SQL backend.

Two types of Images are supported, Pre-Image and Post Image.

In case of Pre-image, you get the image of the record as is stored in the SQL database before the CRM Platform action has been performed.
Post Image, returns the image of the record after the CRM Platform action has been performed.
 

 What is early binding and late binding. How is it used in CRM?
Early Binding:
Compiler bind the objects to methods at the compile time. This is called early binding or static binding. Function overloading is example for early binding.

Late Binding:
Compiler bind the objects to methods at the runtime. This is called late binding or dynamic binding. Function overriding is example for late binding.
 

 What is PrinciplalObjectAccess table why is it used?
The POA table is used to provide access to specific records for CRM users, and each record in the POA table represents one CRM object that is    related to one CRM user.  Records created in the POA table come from one of four ways:
 
·         Share reassigned records with original owner:  CRM System Settings
o    If this is set to Yes, then records would be added to the POA table whenever an assign takes place.  These records will have a value in the AccessRightsMaskcolum of the POA table.
·         Direct sharing:  Actions – Sharing 
o    When users explicitly share a record to another user, a record would be created in the POA table.  These records will have a value in the AccessRightsMaskcolum of the POA table.
·         Reparent Setting:  Relationship Behavior
o    Each entity has relationships with other entities (ex. Account to Case).  By default, the Reparent option is set to Cascade All.  With this setting, sub records would be shared to the owner of the parent record.  For example:  Let’s say that User1 owns Account1.  User2 has access to Account1 and creates a case underneath Account1.  With the out of the box Reparent options, a record would be created in the POA table that would give User1 access to the newly created case.  These records will have a value in the InheritedAccessRightsMaskcolum of the POA table.
·         Indirect Sharing: When sharing occurs through a direct share, assignment, or parenting, if the relationship is set up to cascade the share to child records, additional records will be created in the POA table in order to give proper permissions to the new user for the relevant child records.  These records will have a value in the InheritedAccessRightsMaskcolum of the POA table. 


 What is the use of stringmap table?
stringmap table used to store picklist value in mscrm.
 

 How do you set a recurring activity in CRM?

 When can infinite loop occur in a plugin? How do you avoid infinite loops in plugin code?
Using InDepth of the context we can get the loop number.

 How do you avoid sql deadlock?

 How many types of relationships are available in crm?
3 types
1: N
N: 1
N: N

 What is the difference when the ownership is user vs. organization for a custom entity?
Organization-owned entities typically contain data involving something that belongs to or that can be viewed by the whole organization. Organization-owned entities cannot be assigned or shared. For example, products are owned by the organization.
User-owned entities are associated with a user. User-owned entities typically contain data that relates to customers, such as accounts or contacts. Security can be defined according the business unit for the user.

 What are filtered views?
SQL database views, called "filtered views," are provided with the Microsoft CRM database to enable access to business data according to the user's Microsoft CRM security role. When a user runs a report that obtains data from filtered views, the user's Microsoft CRM security role determines the data to be included in the report. Data in filtered views is restricted at three levels: the organization, the business unit, and the owner. Filtered views exist for all Microsoft CRM business objects (entities).

Your reports should not read data directly from the Microsoft CRM database tables. Instead, use the filtered views. The following sample SQL code returns all columns from the filtered view for an Account entity:
SELECT * FROM dbo.FilteredAccount

If you delete a record from UI, what happens in database? Can you bring the record back?OR, what is deletion service? Can you change its schedule?
In Microsoft Dynamics CRM, deleting an entity by using the Web application or through SDK Web service calls usually results in a "soft delete" where the entity is not immediately deleted from the database. Instead, the entity is marked for deletion later. The platform marks the entity for deletion by setting the entity's 
DeletionStateCode attribute to 2. Entities with a DeletionStateCode attribute set to 2 are filtered out from all data views in the Web application and are not accessible using the SDK.
These marked entities are physically deleted from the database by the Deletion Service. The Deletion Service is an asynchronous operation that is based on a table named ScaleGroupOrganizationMaintenanceJobs in the MSCRM_CONFIG database of Microsoft Dynamics CRM. By default, the frequency of the Deletion Service job execution is set to once a day. You can use the Scale Group Job Editor tool to change the execution frequency of the Deletion Service. You can find the tool on the Web at http://code.msdn.microsoft.com/ScaleGroupJobEditor.
 

 How is LINQ used in CRM 2011?

How would you automatically create cases from?

 Can you call a plugin using JavaScript?
You can accomplish this by creating a custom entity you want to use as a trigger.  You attach your plugin to that entity either at the create message or the update message (requires you to have one record created that you update).
Now, in Jscript, when you want to call the entity all you have to do is call the update or create for that custom entity (depending on which message you attached your plugin to).  This way you can fire your plugin from anywhere you can access jscript.
 

 In what circumstances are dialogs useful?
Dialogs are the synchronous/interactive processes in Microsoft Dynamics CRM 2011 and Microsoft Dynamics CRM Online that collect and process information by using step-by-step scripts to direct users through a process. For example, you can create dialogs to act as a guide for your service representatives for case resolution and case escalation. Similarly, you can create dialogs for standardizing sales processes such as opportunity qualification and lead scoring.
Every time you run a dialog in Microsoft Dynamics CRM, a 
ProcessSession (dialog session) record is created. The dialog session stores the session log about the dialog process that was run. 
Note           
Owing to the interactive nature of the dialog process, you cannot run a dialog using the Microsoft Dynamics CRM SDK. A dialog can only be run through the Microsoft Dynamics CRM Web application and are not supported in Microsoft Dynamics CRM for Microsoft Office Outlook with Offline Access

What limitations does the sandbox have on plugins in the cloud?

 How do you configure SharePoint to work with CRM 2011?

When would you use a pre validation plugin and when would you use a post validation plugin?
Pre-validation:- 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.

Pre-operation:- 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.

Post-operation:- 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.

Post-operation:- Stage in the pipeline for plug-ins which are to execute after the main operation. Plug-ins registered in this stage may execute outside the database transaction. This stage only supports Microsoft Dynamics CRM 4.0 based plug-ins.
 

Why use images with plugins?
Answer: Images are a way to pass the image of the record that is currently being worked upon prior or after the action has been performed. In general it could be said, it is the image of the record as is available in the SQL backend.

Two types of Images are supported, Pre-Image and Post Image.

In case of Pre-image, you get the image of the record as is stored in the SQL database before the CRM Platform action has been performed.
Post Image, returns the image of the record after the CRM Platform action has been performed.
 

How would you Auto number functionality to CRM?

 Explain how solutions work, managed and unmanaged?
Unmanaged Solutions
All solutions start out as Unmanaged.  When it is in the unmanaged state, you can add, remove, update, test any of the components of the solution.  You can delete components of your unmanaged solutions, while leaving it available for use in the rest of the system.   Some on the MS CRM dev team have likened this to your 'source' code of your system.  The great thing about an Unmanaged Solution is that during development, you can create restrictions (like 'not customizable') on the components as they evolve. 
Managed Solutions
When your unmanaged solution is ready for the show, you simply export it to 'Managed'.   You could think of this as 'compiling' you code.   You set the restrictions (i.e. prevent customizations on certain components) and the end user lives by those rules.  But remember, they can still customize the components of the solution that are unrestricted.  You cannot add or remove components of a solution, even if the component is unmanaged.
Once you have packaged the Managed Solution, it can be installed into another organization.  They can also be deployed across multiple deployment types (Online, Partner Hosted, On-Premise) and all CRM Clients (web, Outlook, Mobile Express, and Offline via Outlook Client).


 How do you debug a plugin? 
http://weblogs.asp.net/pabloperalta/archive/2010/12/01/how-to-remote-debug-dynamics-crm-plugins-and-workflow-assemblies.aspx 

what does the CRM asynchronous service do?
The asynchronous service executes long-running operations independent of the main Microsoft Dynamics CRM system process. This results in improved overall system performance and improved scalability.
The asynchronous service features a managed queue for the execution of asynchronous registered plug-ins, workflows, and operations such as bulk mail, bulk import, and campaign activity propagation. These operations are registered with the asynchronous service and executed later when the service processes its queue. All workflows are executed by the asynchronous service.
 

What is an Email-Router?
Microsoft Dynamics CRM E-mail Router is a software component that creates an interface between a Microsoft Dynamics CRM deployment and the organization's messaging system. The E-mail Router routes qualified email messages to the Microsoft Dynamics CRM system as email activities and fully integrates with different messaging systems, such as Microsoft Exchange Server, Microsoft Exchange Online, POP3, and SMTP. The E-mail Router includes the functionality for sending email through any desired SMTP provider and for receiving email from Microsoft Exchange Server or from a POP3 server. Additionally, the Forward Mailbox feature remains available.
 

What is Metadata service of MSCRM?
Dictionary meaning of the word METADATA is data about data and similarly the metadata holds the information about MSCRM means the information about the entity and attributes e.g. Display name, platform name, size of the attribute, data type of attribute etc. If we want to access any information about any entity (Dynamic or system) we will have to make use of the Metadata service. In the database we can find the metadata table and name of these tables begins with keyword Metadata.


1) What is the importance of child Pipeline in Plugins ?
Ans:  In CRM 4.0, Plugins registered in Parent Pipeline would trigger when a record is created by UI or say through SDK calls from your program. Child Pipeline is triggered when the event was triggered by the platform in the process of performing some other operation rather than direct calls from CRM UI or SDK Calls.
An example would be the Order that is auto-created from the Quote using CRM UI. That auto creates the Order and Line items, if you need to capture this event, you
would need to register the plugin in child pipeline.
Parent Child Pipeline concept is no longer available in CRM 2011.However, you can still achieve the same by following the below mapping.
CRM 4.0                                       CRM 2011
Pre Stage – Parent Pipeline            Pre-Validation
Pre Stage – Child Pipeline              Pre-Operation
Post Stage – Parent Pipeline          Deprecated. Not available in CRM 2011
Post Stage – Child Pipeline            Post-Operation
2) What is SQL Profiler ?
Ans : SQL Server Profiler is a is a graphical tool and a rich interface to create and manage traces and analyze and replay trace results. The events are saved in a
trace file that can later be analyzed or used to replay a specific series of steps when trying to diagnose a problem.
3) What is WWF ?
Ans : Windows Workflow Foundation(WWF) is used to create applications that execute an ordered business process, such as the steps needed to approve a document, hire a
candidate for a position, or make a purchase.
Scheduling and executing workflows and activities
Managing the flow of execution between activities.
Managing data for executing activities. A built-in tracking provider that records built-in Workflow events (such as an activity starting, completing, or faulting), or
custom events (such as a custom activity tracking application-specific data).
Providing visual debugging capabilities using the workflow designer
4)  How can you achieve load balancing for MSCRM server like two MS crm application server and one database server?
Ans: High availability and load balancing are achieved at the application tier by implementing Windows Network Load Balancing (NLB) or a Hardware Load Balancer. High availability is achieved at the data tier by implementing a SQL Server Active/Passive cluster
5) What are one way or two way contract in wcf ?
Ans : A contract that allows clients and servers to communicate with each other independently so that either can initiate calls to the other is called as Duplex
Contract. The duplex contract is one of three message patterns available to Windows Communication Foundation (WCF) services, other two being One Way Contract and Request-Reply Contract.
6) What are object based securities and role based securities in MS CRM?
Ans:Users are assigned one or more roles based on their job function or tasks.Roles are associated with permissions (privileges and access levels) for the different business objects (entities).Users gain access to entities or groups of entities in the system via membership in a role that has been assigned the necessary privileges and access levels to perform the users’ jobs. Object-based security in Microsoft Dynamics CRM focuses on how users gain access to individual instances of business objects (entities).
Role-based Security
Role-based security in Microsoft Dynamics CRM is based on the interaction of privileges and access levels, which work together through the use of security roles.
Privileges define what actions a user can perform on each entity in Microsoft Dynamics CRM. Privileges are pre-defined in Microsoft Dynamics CRM and cannot be changed.Examples of privileges include Create, Read, Write, and Delete. Access levels indicate which records associated with each entity the user can perform actions upon.Theaccess level associated with a privilege determines (for a given entity type) the levels within the organizational hierarchy (User, team and Business Unit) at which a user belonging to a specific role can act on that type ofentity.Each security role provides a combination of privileges and access levels specific to a Microsoft Dynamics CRM job function.
Object-based Security
Object-based security applies to individual instances of entities and is provided by using access rights. An access right is granted to a user for a particular entity instance. The relationship between an access right and a privilege is that access rights apply only after privileges have taken effect. For example, if users do not have the
privilege to read accounts, they will be unable to read any account, regardless of the access rights another user might grant them to a specific account through sharing.
7) How to improve the performance of MSCRM integrated with custom web Application ,how you find that this particular layer you have to do some thing to improve the performance?
Ans : Balanced Data Distributor (BDD) component improves the data load performance by taking advantage of the multi-threading capability of SSIS engine.
You should carefully choose a right number of the outputs for BDD component. It’s not the case that the more the better. Depending on your servers’ capacity (including processor, memory, IO system) and the network latency between your client system and CRM server, it could be 3, 5, 10, or something else for the maximized performance, which you may find out by running different tests. There are many ways that you can use to improve the data load performance, BDD is just one of the easy ways that make the data load faster.
8) What are the thing that exactly comes under unsupported customization?
Ans : The following is a list of the types of actions that are not supported:
Modifications to any .aspx, .css, .htm, .js, .xml, .jpg, or .gif files or addition of files in the wwwroot directories of the Microsoft Dynamics CRM application, Microsoft Dynamics CRM tools or Microsoft Dynamics CRM files located at Program Files\Microsoft Dynamics CRM. During upgrades and updates, these files are not checked
for modifications and might be overwritten.
Modifications to the Microsoft Dynamics CRM Web site (file and Web site settings). Custom solutions should be installed in a different Web site. This includes
modifications to the file system access control lists (ACLs) of any files on the Microsoft Dynamics CRM server.
Modifications to the physical schema of the database, other than adding or updating indexes. This includes any actions performed against the database without going through System Customization.
Modifying tables, stored procedures, or views in the database is not supported. Adding tables, stored procedures, or views to the database is also not supported because of referential integrity or upgrade issues. Note   This applies to all Microsoft Dynamics CRM databases and the Microsoft Dynamics CRM for Microsoft Office Outlook local database.
9) How to create a 1:1 relationship in MsCRM , mean how from a front end does there a Link to do that?
Ans : It is not possible in MS CRM 4. But you can do something like this.
Create a 1:N relationship between Entity A & Entity B
a) On Entity A, You will have a left navigation pane where you can add more than one Entity B (instances), Now you have to hide it, it is pretty straight fwd. document.getElementById(“navEntitiesB”).style.display = “none”
b) On Entity B, Add the lookup field, This lookup Field means only 1 record from A can be associated with B, thats’ it, now you have restricted B to be added against only one A and on A you have hidden the possiblity of adding entites instances.
10) Explain some new features in MS CRM 2011.
Ans : There are many new featues in MS CRM 2011 like Enhanced UI,OOB Dashboard support,Auditingsupport,Field level security, Connections,Solution,Webresource, Role based Forms
Refer:
http://msdn.microsoft.com/en-us/library/gg309589.aspx
11) What are the different webservice available in MS CRM 2011.
Ans : MS CRM 2011 have two webservicesIOrganization Service, IDiscoveryService
12) Which service can be used to access metadata information.
Ans : We can use IOrganization Service to fetch metadata in 2011 and metadata service in 4.0. Metadata means the information about the entity and attribute e.g. Display name, platform name, size of the attribute, datatype of attribute etc. If we want to access any information about any entity (Dynamic or system) we will have to make use of the Metadata service. In the database we can find the metadata table and name of these table begins with keyword Metadata.
13) What are the different ways to consume MS CRM webservice from client side?
Ans : We can write Rest or Soap request to consume MS CRM 2011 webservices.
14) Rest Vs Soap.
Ans : SOAP and REST are both web services to access and modify / manipulate CRM data.
REST(ODATA) : It is the recommended web service to use for tasks that involve creating, retrieving,
updating and deleting records. However, in this release of Microsoft Dynamics CRM the
capabilities of this Web service are limited to these actions
SOAP: Unlike the REST ENDPOINT, the SOAP endpoint uses the Organization service. This is
the same service used when writing applications that exist outside of the Microsoft Dynamics
CRM 2011 and Microsoft Dynamics CRM Online application.The SOAP endpoint provides
access to all the messages defined in the Organization service. Soap is recommended for
Assign, Retrieve and Execute
XmlHttpRequest:  (sometimes referred to as XHR) provides capabilities to configure and send
requests and define a callback function if the request is asynchronous. The HTTP response from
the server includes a status code indicating whether the request was successful. HTTP status
code values in the 200 range are considered successful.
An XmlHttpRequest provides instructions to the server about the format of any data to be included in
the response. Because the REST endpoint supports both ATOM and JSON formats you have the
option to request data to be returned in the XML ATOM format. However, with JScript code the expected
typical request will use JSON because it is easily consumable using JScript.
15) Difference between Dialog and Workflow.
Ans :
16) What is Solution?
Ans : Solution is a collection of MS CRM 2011 components that can be exported and imported easily from one CRM organization to another CRM organization.
17) Difference between Managed and unmanaged solution.
Ans : Managed solution can’t be customized, but can be uninstalled easily.Unmanaged solution can be customized, you can’t uninstall unmanaged solution.
Refer : 
http://msdn.microsoft.com/en-us/library/gg334576.aspx for more details
18) Is it possible to register plugin through solution?
Ans : Yes.
19) What is field level security?
Ans : Using field level security we can hide information based on user security role in MS CRM 2011. Refer :http://msdn.microsoft.com/en-us/library/gg309608.aspx
20) How can we use auditing in MS CRM 2011?
Ans : Auditing can be configured easily through CRM UI. Refer:http://www.avanadeblog.com/xrm/2010/09/crm-2011-feature-of-the-week-9132010-auditing.html for more details on auditing.
21) What is the use of document location entity in MS CRM 2011.
Ans : Document location entity is used to store location of crm record which point to a document folder in share point.
22) How can we create a custom Ribbon button ?
Ans : To create a custom ribbon button we need to modify RibbonDiffXml of the entity where want to place our button. We can use different ribbon editor tool in codeplex or can manually modify it, you can refer my post to create custom ribbon button.
23) How can we rename a system Ribbon button ?
Ans : We can do this by modifying ribbondiffxml, but we need to get current ribbon button id, that we can get from the sample ribbon generator application that comes with Microsoft CRM 2011 SDK.
24) How can we open a custom webpage from ribbon button ?
Ans : We can use Action to open custom page
Refer:  
http://msdn.microsoft.com/en-us/library/gg328038
25) How can we use Filtered views in MS CRM 2011 ?
Ans : Filtered view is a way to enforce security as database level, while working with report we use Filtered view to fetch data based on user security role. Microsoft CRM 2011 contains filtered view for every entity.
26) What is Webresource and what the different types of webresource ?
Ans : Web resource is new feature in Microsoft CRM 2011, which is used create reusability of the code and other component. We can create different type of web resource in Microsoft CRM 2011 for example javascript, Image, silverlight, CSS and HTML page.
27) How can deploy a Silverlight webresource in MS CRM 2011 ?
28) What is the use of subgrids?
Ans : Subgrids are used to display any entity view in another entity, you can add subgrids from Insert tab while customizing entity form and can select entity to display view in that subgrid
29) What are the basic steps involved in developing plugin ?
30) What is the use of tracing Service in plugin development ?
Ans :This is a new feature in Microsoft CRM 2011, using tracing service we can get more error details and can display them to user.
31) What are the new messages introduced for plugins in MS CRM 2011?
Ans :Microsoft CRM 2011 has introduced many new entities, you can refer new entity and their messages in “message-entity support for plug-ins” files that comes with Microsoft CRM 2011 SDK.
32) What is sandbox plugin ?
Ans :Sandbox plugin is a plugin which runs under Isolation mode. All Microsoft CRM 2011 plugin writing for online is registered in sandbox mode.
33) What are the different ways to create custom report for MS CRM 2011 ?
Ans :Fetchxml and SSRS.
34) Difference between Early bound and late bound ?
Ans :Early bound – Easy to code, you don’t need to remember field’s name, compile type checking, required extra efforts to generate early bound classes.
o Out bound- you should know fields name, run time checking, performance wise better than early bound.
35) What is plugin impersonation?
Ans. Through plugin impersonation, plugin in executed with callers(user who performs operation) identity. To enable plugin impersonation, pass parameter as True in execute method.
36) What is dynamic entity? Its significance
Ans :Dynamic entity is used to create a Custom Entity record using SDK
37) How the Plug-in and Workflow will behave in case of Off-line client?
Ans : With the Outlook client, further extending your existing solution. You can choose to have the plug-in execute only against the server, run offline with the Outlook client, or both.
Remember that when a client goes offline and then returns online, any plug-in calls are executed after the data synchronizes with the server. If you choose to have your logic execute both with the server and offline, be prepared for Microsoft Dynamics CRM to execute your plug-in code twice.
Microsoft Dynamics CRM does not support an asynchronous implementation of a plug-in with offline deployment. If you want to have your plug-in work offline, you need to register it in synchronous mode.
38) What is Microsoft Dynamics CRM E-mail Router?
Ans : Microsoft Dynamics CRM E-mail Router is a software component that creates an interface between a Microsoft Dynamics CRM deployment and the organization’s messaging system. The E-mail Router routes qualified email messages to the Microsoft Dynamics CRM system as email activities and fully integrates with different messaging systems, such as Microsoft Exchange Server, Microsoft Exchange Online, POP3, and SMTP. The E-mail Router includes the functionality for sending email through any desired SMTP provider and for receiving email from Microsoft Exchange Server or from a POP3 server. Additionally, the Forward Mailbox feature remains available.
39) When do we register a plugin in child pipeline.give examples ?
Ans : In Microsoft Dynamics CRM 4.0, there existed a parent and a child pipeline. These pipelines have
been consolidated into one pipeline
-  A pre-event plug-in registered in the parent pipeline of Microsoft Dynamics CRM 4.0 is equivalent
to registering a CRM 2011 plugin in Pre-Event, Pre-Validation (stage 10).
-  A pre-event plug-in registered in the child pipeline of Microsoft Dynamics CRM 4.0 is equivalent to
registering a CRM 2011 plugin in Pre-Event, Pre-Operation (stage 20).
Example of a child pipeline (or pre-event, pre-operation plugin in CRM 2011): Change the
quotenumber in the Pre-Stage for the Create of a Quote. The quotenumber is a field that the
CRM web service will not allow you to change after it is written to the database so you need to
use the Pre-Stage and modify the context Entity before the end of the Execute method.
40) What is WSDL ?
Web Services Description Language (WSDL). This programming paradigm lets you develop code
from non-.NET clients, and does not depend on the use of Microsoft Dynamics CRM assemblies.
41) What is the use of stringmaptable.
Ans : If you look in an entity table, columns of Picklistdatatype only store Integer values. The actual text
value to be displayed on the UI comes from the ‘StringMap’ table.
42) when can infinite loop occur in a plugin. How do you avoid infinite loops in plugin code ?
Ans : When you create a plugin that updates an entity, and then you register that plugin on the update
message.
43) Can you call a plugin using Javascript ?
Ans : The only way you may go about doing so may be as follows: You can accomplish this by creating
a custom entity you want to use as a trigger.  You attach your plugin to that entity either at the create
message or the update message (requires you to have one record created that you update). Now,
in Jscript, when you want to call the entity all you have to do is call the update or create for that custom
entity (depending on which message you attached your plugin to).  This way you can fire your plugin
from anywhere you can access jscript.
44) How do you configure Sharepoint to work with CRM 2011 ?
Ans : Start the Microsoft SharePoint Foundation User Code Service
Run the powershell script to allow htc files in SharePoint.
In CRM you then have to configure the relevant document management settings.
45) How to make your CRM 4.0 to CRM 2011 upgrade faster ?
Ans : Clear the Asynchronous table: When you upgrade your environment, the upgrade process deletes
out any legacy asynchronous system jobs. If the table is very large, this can slow down the upgrade.
I recommend clearing out the completed jobs prior to upgrade.
Run the deletion service:  In CRM 4.0, if you deleted records, the records were not immediately
deleted—they were flagged for deletion, then the CRM deletion service came along, usually within
24 hours, and deleted the records. One problem that can happen, especially if large numbers of
records were bulk deleted, is that records can get stuck in the “soft delete” state.In 2011, there is
no more soft deletion of records—they are deleted immediately from the database when the records
are deleted in CRM. When you upgrade, the upgrade process will hard delete any leftover “soft deleted”
records. If you have many deleted records in your system, this step can take a while.
46) When to use Plugin and when to use workflows ?
Ans :  Workflows are more suitable if:
you want to achieve simple tasks faster, such as sending an e-mail or creating / updating assigning records. These actions can be set up very quickly with a workflow without any need of writing code.
you want to easily scale things to managers (if they were setup for user records), as it is possible to assign records to them.
you want to allow an advanced user to make changes to logic. As using the integrated workflow designer is user-friendly, an advanced user would be able to edit an existing workflow and change some rules according to business changes.
the logic should be available to be run on demand. I mean, when you are within an entity and navigates to “workflows” option in the left pane, all workflows marked as available to run on demand can be executed making them independent of an event trigger.
you want to send emails making use of templates and attaching files.
Workflows also allow running child workflows which may make a lot of sense in some scenarios. Nevertheless, be careful if you need the child workflow results in order to make decisions on your main workflow, as child workflows always run asynchronous, which means that it will trigger the child workflow and continue. If you need your primary workflow to wait until child ends, you will need to write a custom activity.
On the other hand, plug-ins are more suitable if:
you need to manipulate data before is saved.
you need to make validations before submitting the operation.
you want to be able to cancel an operation based on your validations.
immediate response to the user is needed.
you need retrieve values and/or take actions after operation has been completed (i.e. getting and autogenerated id)
47) When to use Query Expressions and Fetch XML ?
Ans :  QueryExpressions provide the most abstract way to build queries. It can be
very complex to build them but they should be compatible in future releases,
whatever Microsoft decides to do with the database structure. They do
however have a limitation: only one entity type can be returned, so a query
like “select entity1.A, entity2.B from entity1, entity2 …” is not possible
with query expressions.
FetchXML language supports similar query capabilities as query expression. It is used primarily as a serialized form of query expression, used to save a query as a user owned saved view in the userquery entity or as an organization owned view in the savedquery entity. A FetchXML query can be executed by using the Fetch method. There are also messages to convert between query expression and FetchXML.
FetchXml allows you to return properties of multiple queries, eliminating
the restriction of query expressions. The bottleneck is that you have to
parse the returned xml document by yourself.
Using filtered views is the fastest and easiest way to access data, because
you’re using standard SQL queries and ADO.NET. However, this ties you to the
*current* database schema. If a future CRM release has a different
structure, your code may fail. I’m not convinced that both FetchXml and
QueryExpressions will continue to work in this case, but direct database
queries will definitely be the first technique having problems. Furthermore,
if you decide to make your CRM server available in the Internet, web service
calls should be possible while SQL queries usually are not.
48) What are Queues ? How Queues are diff. in CRM 4.0 and CRM 2011 ?
Ans : A queue is a container for just about anything that demands some action – a task that needs to be done, a case that needs to be closed, a phone call that needs to be made – essentially a queue can act as a one stop place for all things you need to work on.
CRM 4, where every user would have two queues – a private queue, and a work in progress queue created automatically. These queues were like system records, which could not be created externally, and could not be deleted as well. Apart from these queues, an end user could create public queues. In CRM 2011, we have simplified queues such that all queues are alike – there is no notion of a private or a work in progress queue. You can pick up any queue you want, and set it as the default queue for a user or a team. This is a one to many relationship, which means that the same queue can be used as the default queue for multiple users and/or teams.
49) What is ODATA ?
Ans : This endpoint facilitates CRUD operation on entities via scripts using Atom or Json format.Here the endpoint are limited to create, retrieve, update and delete. The REST philosophy does not support other operations. The REST endpoint is only available for JScript and Silverlight Web resources
The REST endpoint provides a ‘RESTful’ web service using OData to provide a programming environment that is familiar to many developers. It is the recommended web service to use for tasks that involve creating, retrieving, updating and deleting records. However, in this release of Microsoft Dynamics CRM the capabilities of this Web service are limited to these actions. Future versions of Microsoft Dynamics CRM will enhance the capabilities of the REST endpoint.
The SOAP endpoint provides access to all the messages defined in the Organization service. However, only the types defined within the WSDL will be returned. There is no strong type support. While the SOAP endpoint is also capable of performing create, retrieve, update and delete operations, the REST endpoint provides a better developer experience. In this release of Microsoft Dynamics CRM the SOAP endpoint provides an alternative way to perform operations that the REST endpoint is not yet capable of.
50)  How to add more than 8 tabs in MS CRM ?
Ans : We all know that max tabs that CRM can show is 8. However to extend that go to :
C:\Program Files\Microsoft CRM Server\CRMWeb\Tools\FormEditor find your formeditor.aspx and select edit. Find the JavaScript variable _iMaxTabs and notice that it is set to 8. Change the value to your desired limitation, save and close, reset IIS and you should then be able to create the additional tabs needed from within the forms customization area.
51) What is plugin context?
Ans. All plug-ins must implement the IPlugin interface. The IPlugin interface defines an Execute method, which takes anIPluginExecutionContext parameter. When a system event is fired for which a plug-in is registered, the system creates and populates the context. The system then calls the plug-in’s Execute method, passing in the context as a parameter.
At run time, the execution context is passed to each registered plug-in in the pipeline when they are executed. Each plug-in in the execution pipeline is able to modify writable properties in the context. For example, given a plug-in registered for a pre-event and another plug-in registered for a post-event, the post-event plug-in can receive a context that has been modified by the pre-event plug-in. The same situation applies to plug-ins that are registered within the same stage. The context contains information that describes the run-time environment that the plug-in is executing in, information related to the execution pipeline, and entity business information.


  • What is Solution?
-         Solution is a collection of MS CRM 2011 components that can be exported and imported easily from one CRM organization to another CRM organization.
  • Difference between Dialog and Workflow.
-         Dialogs are synchronous process and Workflows are asynchronous process.
-         We can develop custom workflow, but can’t customize dialogs.
  • Which service can be used to access metadata information.
-         We can use IOrganization Service to fetch metadata.
  • Difference between Managed and unmanaged solution.
-         Managed solution can’t be customized, but can be uninstalled easily.
-         Unmanaged solution can be customized, you can’t uninstall unmanaged solution.
  • What are the different webservice available in MS CRM 2011.
-         MS CRM 2011 have two webservicesIOrganization Service, IDiscoveryService
7.What is 'Append' and 'Append To' privilege in MSCRM? Give one example of it?
       'Append' and 'Append To' priviledges works together. 'Append To' privilege will allow other entities to get attached with the entity. 'Append' privilege will allow the entity to attach the records to the entity with 'Append To' privilege. Let us understand this with simple example: Let us say that you want to attach a note to a case then note entity should have 'Append' access right and case entity should have 'Append To' access right.Let us take one more example to understand this. Suppose you have two custom entities called 'TestCustomEntity1' and 'TestCustomEntity2'. You want to attach the 'TestCustomeEntity2' records to 'TestCustomEntity1'records. For this you need to have 'Append' access right on 'TestCustomEntity1' entity and 'Append To' access right on 'TestCustomEntity2'.Now guess will I be able to attachthe records? Answer is " NO" because we need to create a 1:N relationship between 'TestCustomEntity1' and 'TestCustomEntity2'. Now the user who has above mentioned access right in his security role will only be able to add 'TestCustomEntity2' records to 'TestCustomEntity1'.







Create an app in Dynamics 365 | Power Apps | Dynamics 365 Customer Engagement

  Prerequisites Make sure that you have the System Administrator or System Customizer security role or equivalent permissions. Create an app...