{Advanced XRM DEVELOPMENT}Retrieve entity image url for crm 2013/2015

Sometimes we get requirement to find the url of image field on record. Considering example of contacts , here is the example to retrieve the URL below:

QueryByAttribute query = new QueryByAttribute(“contact”);

query.ColumnSet = new ColumnSet(“entityimage_url”);



EntityCollection binaryImageResults = _service.RetrieveMultiple(query);

foreach (var record in binaryImageResults.Entities)


     String recordName = record.Attributes[“entityimage_url”].ToString();



Hope it helps!

Set Currency Programmatically : CRM 2011/2013/2015

I recently needed to set currency for a record in CRM in my plugin. It sounded a good piece of code to refer to my blog as it is often needed. Here it goes:

EntityReference currencyType = new EntityReference();
currencyType.Id = “(The Guid Of The Currency Type Goes Here)”;
currencyType.LogicalName = “transactioncurrency”;


For JS reference refer my older blog post: Click here

Hope it helps!

{Dynamics Verified Professional} interview with rajeev pentyala


Rajeev Pentyala is a Microsoft Dynamics CRM consultant working with Microsoft in Hyderabad,India. He is not only and old colleague of mine but a great professional

in Dynamics CRM and Microsoft stack of technologies with whom I had chance to work in two back to back projects.

His blog is featured in Top 25 Dynamics CRM blogs and statistics of 425k hits tell a story in itself.

His introduction in his own words:

“I am Rajeev Pentyala, A Master’s Degree holder from Madras University and Microsoft Dynamics CRM Certified Professional.

I have been working on Microsoft technologies like Microsoft Dynamics CRM 4.0 & 2011,ASP.Net,C#.Net, WCF, Jscript, JQuery, Silverlight and SSIS.

In my free time, I would love to play cricket, spend time with family, friends and surf the net for new gadgets and latest technologies.

I am a big Cricket fan and a decent batsman. Please do share your thoughts and suggestions on my posts.”

His blog link:rajeevepentyala.wordpress.com


1. Name, current job title and social media links please

a. Rajeev Pentyala, Associate Consultant, Microsoft.

2. What does an average day at work look like

a. Analysis and Design CRM system. Writing few Plug-ins and Client Script. Performance tuning.

3. What different roles/Job titles have you had whilst using CRM

a. Developer, QA, Production Support

4. What job did you did before you starting using CRM

a. Software Engineer with Asp.Net,C#.Net, HTML

5. What was the first version of Microsoft Dynamics CRM you worked with and how long have you been using Microsoft Dynamics CRM

a. CRM 4.0, Total 4 years of CRM experience

6. How do you stay up to date with the CRM

a. Keep tracking the CRM version releases and reading product team technical blogs

7. What one feature would you add to CRM Product.

a. Lock feature at SDK level. Lack of this causing lot of issues with RACE conditions on concurrent user access.

8. What is the best tool/solution you have used recently?

a. Ribbon work bench’s Ribbon editor, Meta data browser from XRM toolkit

9. What CRM certifications do you have, do you try and keep up to date with CRM certifications.

a. Holding all CRM 2011 and 2013 certifications

10. How important is it to have good business analytical skills working with Microsoft Dynamics CRM.

a. For CRM projects, it’s very important to understand the business in detailed, for example security model, you have to be cautious on usage of Business units, Users or Teams.

At design time, if you don’t understand Customer’s business model properly and miss something it could lead to System’s abnormal behaviour.

10 How useful is it to have programming knowledge to become a good Microsoft Dynamics CRM Professional?

a. It’s always good to have .Net background which helps understand SDK better.

11. How often do you travel as a Microsoft Dynamics CRM Professional?

a. Needs bit travelling on UAT, Deployment and Support phases of project.

12. Can you see yourself not using CRM in your career in the future

a. Not sure. But I am sure I will be using Microsoft Dynamics.

13. What are your hobbies outside of CRM.

a. Blogging, Playing cricket.

14. What was the last book you read and what was the last film you watched

15. Has CRM ever got you in trouble with your partner/family.

a) No. I must admit I am not spending much time on blog after marriage.

16. Have you friends ever told you to stop talking/tweeting/blogging about CRM? What does your partner/family member(s) think of CRM

a. No.

17. Tell me something interesting/unusual about yourself

b. First engineer from my family.

18. Who is the first CRM Expert you remember reading/seeing

c. My colleague and friend Nishant Rana.

19. Tips for someone who wants to become a CRM Expert

d. Good knowledge in C#, HTML and Jscript helps you become expert in CRM. Keep update yourself and start a CRM technical blog.

As a certificate of appreciation, here is a certificate from my end:


Happy CRMing!

{QUICK TIP} SUPPORTED Configurations for server side sync for CRM 2013/2015

Recently was asked for supported configurations for server side sync for CRM 2015 online. Here is the matrix:

CRM deployment

Email system

Email synchronization


contacts, and tasks synchronization


CRM (on-premises)

  • Exchange Server 2010 
  • Exchange Server 2013



Exchange Web Services

CRM (on-premises)

  • Gmail
  • Yahoo! Mail
  • MSN1
  • Outlook.com 1
  • Windows Live Mail 1




Microsoft Dynamics CRM Online

Exchange Online



Exchange Web Services

Microsoft Dynamics CRM Online

  • Gmail
  • Yahoo! Mail




Source: Technet

Hope it helps!

{Useful to know}Importance of documentation in CRM consulting world

Before starting this article, I want to clarify that I am writing after a long break of holidays and I might be a bit rusty as feels my brain:


That is why I would like to have comments or mails to know how well I am doing after the break.

Anyways, coming back to the title, this year I enter 8th year working in Software consulting industry and most parts of it has been with Dynamics CRM product.

I have had various hats during this time and found some common pain points in terms of documentation standards. Sometimes I have found no documentation. Sometimes there has not been a technical documentation, sometimes a mix has been presented to the client. So from my experience, I feel documentation is more important than code in CRM consulting world. Some of the supporting points below:

· Clarify your business goals, requirements and activities: With a proper documentation, you can share the business goals and requirement with your management and team mates so that they have a clear vision and goals and the activity they perform will be more towards the success.

· Absent technical or design documentation? May be OK in some cases, but the lack of documentation becomes a problem when the design has to be communicated across time (to a developer who will join the team six months later) or space (to a developer working in another country) or a developer leavings takes the design and technical approach with himself/herself, which all are quiet common occurrences in CRM consulting world.

· Design and Specify your implementation: This comes in Architectural/Design documents and it gives you complete overview of how your implementation look like.

· Everything is clearly explained: When you makes End User documentation of the product of implementation, you have to explain each and everything about its working. It describes each feature of the program, and assists the user in realizing these features.

· Anybody can work on other’s code: If you are a developer, it is not sufficient to write good code only but you also need to take cares about the documentation part, which can be helpful to other developers while working in a team. In CRM projects, this becomes important as there are many parallel running projects and consultants switch between projects quickly. This is partly due to shortage of experienced CRM consultants in the industry.

· Helpful in proper communication: A good software documentation is helpful in proper communication. The written procedure helps you to make interaction within several departments.

Often time and budget constraints are the primary cause for CRM consulting industry to not choose to do proper documentation but in order to retain a client who is mostly happy, documentation is the golden keys.

Hope it helps!



Please follow the below steps to setup the SharePoint Integration:

  1. If your CRM organization has not deployed document management, when a CRM System Administrator logs in an alert message will be displayed to enable server-based SharePoint integration otherwise, user can go to Setting à Document Management à Click on Enable Server-based SharePoint Integration.


Note: If you don’t see the alert and have not previously enabled server-based SharePoint integration, clear your browser cache or open CRM using Internet Explorer with In-Private browsing to have the alert display again. Once you configure server-based integration, the alert will no longer appear.

  1. In the Enable Server-based SharePoint Integration alert click Enable Now to launch the Configuration Wizard.
  2. Enter the URL of your SharePoint site that you will use for auto folder creation, and then click or tap Next.


  1. The URL will be checked for being a valid SharePoint online site and for existing in the same Office 365 tenant as your CRM organization. After enabling server-based SharePoint integration you can’t go back to the previous client-side integration. Click or tap Next and then Finish



Note: After you enable server-based SharePoint the options to Install List Components and to enable server-based integration will no longer appear as an option in Document Management.

  1. If any of user sites are invalid, user cannot continue.


  1. Once server-based SharePoint integration is enabled you will need to enable the entities you want available for document management integration. Go to Settings à Document Management à Document Management Settings.
  2. Select the entities to be integrated with document management. Enter the Microsoft Office 365 SharePoint Online URL, and then click or tap Next.


  1. This will validate the URL you entered as well as give you the option to base the folder structure on Account or Contact.


  1. On click on Next button à Alert message would be popup and click Ok


  1. Finally the wizard would show the status of Document Library Create Status:


  1. Browse to your Microsoft Dynamics CRM Online web application. Go to Microsoft Dynamics CRM à Sales à Accounts
  2. Click or tap an account, such as the Adventure Works sample account.
  3. On the nav bar, click or tap the down arrow next to the account name, and then click or tap Documents.


  1. Click or tap Upload, and then browse to a document to upload to the new folder in your Microsoft Office 365 SharePoint Online Team site.


  1. The document is now part of your Microsoft Dynamics CRM Online documents list. To see the document in your Microsoft Office 365 SharePoint Online Team site, click or tap Open SharePoint.


The document is now in your Microsoft Office 365 SharePoint Online Team site.


  1. Great work – you have finished your SharePoint Integration with CRM 2013 Online (Leo)

Hope it helps!

{STEP BY STEP}Migrate Microsoft Dynamics CRM Online to Microsoft Dynamics CRM On-Premises

This blog lists the steps needed to migrate from Microsoft Dynamics CRM Online to a Microsoft Dynamics CRM (on-premises) deployment.

Restore a copy of the Microsoft Dynamics CRM Online database

To receive a copy of the Microsoft Dynamics CRM Online database, contact Technical Support.

Restore the Microsoft Dynamics CRM Online database

The backup of your Microsoft Dynamics CRM Online database must be restored by using a server running the same, or a later version, of Microsoft SQL Server. Restore the copy of the Microsoft Dynamics CRM Online database to a computer running SQL Server in the target Microsoft Dynamics CRM (on-premises) deployment. To do this, follow these steps.

Restore the Microsoft Dynamics CRM Online database (.bak files)

  1. Open Microsoft SQL Server Management Studio, and then connect to the appropriate instance of SQL Server.
  2. In Object Explorer, right-click Databases, and then click Restore Database.
  3. Type the name of a new database in the To database open text box. The database name must include _MSCRM in the name. For example the database name is PoC_MSCRM.
  4. On the General page, in the Source for restore section, click From device.
  5. Click the browse button in the From device option. This opens the Specify Backup window.
  6. In the Specify Backup window, click the Add button to open the Locate Backup File window.
  7. Select the file you want to use for the restore operation, and then click OK.
  8. Click OK to close the Specify Backup window.
  9. Mark the checkbox in the Restore column next to the backup set option.
  10. Click OK to begin the restore process.

Apply the required updates

Apply all required updates to the Microsoft Dynamics CRM (on-premises) deployment.

Import the Microsoft Dynamics CRM Online Organization

Import an organization in Microsoft Dynamics CRM (on-premises). The time to complete the import of the organization is dependent on multiple factors. These factors include the size of the database you are importing, the number of users, and the hardware used.

Import the organization

  1. Open Deployment Manager
    Open Deployment Manager by clicking Start, click Programs, click Microsoft Dynamics CRM, and then click Deployment Manager.


  1. Start the Import Organization Wizard
    Right-click Organizations, and then click Import Organization.
  2. clip_image004
  3. Select the SQL Server
    In the Select SQL Server window, select the SQL Server database that you restored in the SQL Server list, and then select the organization database in the Organization database list.


  1. Specify the Organization Name
    Type a Display name and a Name for the organization in the Specify the Organization Name window.
  2. clip_image006
  3. Specify the Reporting Services Server
    In the Specify Reporting Services Server window, type the Microsoft SQL Server Reporting Services server URL for the organization in the Report Server URL field.


  1. Select the Method for Mapping UsersSelect the appropriate method for mapping users from the Microsoft Dynamics CRM Online deployment to the Microsoft Dynamics CRM (on-premises) deployment. Users must already exist in Active Directory for the Microsoft Dynamics CRM (on-premises) installation. The installation wizard does not create the users automatically. To complete the mappings, the user who runs the import operation must be mapped to a user in Microsoft Dynamics CRM (on-premises).
  2. The following list provides information about the methods available in the Import Organization Wizard. Note, these options will be presented after selecting “Select Custom Mapping Options” and clicking next:
    • Keep existing user mappings: Do not use this option when you migrate from Microsoft Dynamics CRM Online to Microsoft Dynamics CRM (on-premises). If you use this option, you will receive an error message and no users will be mapped.
    • Manually map users: You can use this option to manually map users in the Microsoft Dynamics CRM Online organization database to existing users in the target Active Directory.
    • Generate a new mapping file: Select this option to create a sample XML mapping file. Then, you can exit the wizard, modify the user mapping file to select how users are imported, and then run the Wizard again. The user mapping file is created in thedrive:\Program Files\Microsoft Dynamics CRM\Tools folder. The file contains the following information:



<UserMapping old=” someone@example.com ” new=”” />


    • Auto-map users: Select this option if you want to automatically map the user settings by selecting from the following options:
      • Active Directory account name: Do not use this option when you migrate from Microsoft Dynamics CRM Online to Microsoft Dynamics CRM (on-premises). This option attempts to match users based on Active Directory account name.
      • Microsoft Dynamics CRM full name to Active Directory full name: You can use this option to match users based on the First Name and the Last Name attributes from the Microsoft Dynamics CRM Online organization to the First Name and the Last Name values stored in Active Directory. We recommend that you use this option if the names are consistent between the Microsoft Dynamics CRM Online deployment and the target Active Directory.
      • Use existing map file: This option uses the mapping file created in the Generate a new mapping file option.
  1. Edit the User Mappings
    In the Edit User Mappings window, the suggested mappings from the Auto-map options can be reviewed or can be overridden to specify other user accounts. In most situations, an error will be received that not all users were mapped successfully.
  2. The best practice to follow when you import to a limited number of licenses is to disable users in Microsoft Dynamics CRM Online prior to requesting a copy of the Microsoft Dynamics CRM Online SQL Server database. If disabled Microsoft Dynamics CRM Online users are mapped in the import, those users cannot be reverted and the process must be restarted.
  3. clip_image009
  4. If the Setup user is left unmapped, you receive the following error. This user must be mapped prior to completing the import.
  5. clip_image010
  6. System Requirements
    In the System Requirements window, you receive the results of several environment diagnostic checks. If you receive a red alert in the System Requirements window, the issue must be resolved prior to completing the wizard. If you receive a yellow warning, you may proceed with the import.

Due to versioning differences between Microsoft Dynamics CRM Online and Microsoft Dynamics CRM (on-premises), a warning may be received. This warning is expected and will not prevent the import from completing. After you complete the steps in this document, the versioning will be in correct.

  1. Verify That You Are Ready to Import
    In the Ready to Import window, verify that the information is correct, and then click Import.


  1. View the Log File
    After the import is complete, the Import Organization window appears. Click View the log file to view the log file that is created during the import. If the import is successful, click Finish.


Optional updates

In addition to the required updates listed in the confirmation e-mail message that you receive, additional optional updates may be available for the Microsoft Dynamics CRM (on-premises) installation. These can be found by running Windows Update on your Microsoft Dynamics CRM Server.

Source: Technet

Hope it helps!