<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Tech's blog</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/tvishnun1/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/tvishnun1/feed.xml</link>
    <description>This blog is for folks who want to learn about Microsoft Dynamics CRM and for people who are passionate in learning development techniques.</description>
    <lastBuildDate>Wed, 17 Apr 2019 03:48:07 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Sales Gamification with Microsoft CRM Online</title>
      <link>https://docs.microsoft.com/archive/blogs/tvishnun1/sales-gamification-with-microsoft-crm-online</link>
      <pubDate>Wed, 01 Jun 2016 01:27:00 GMT</pubDate>
      <dc:creator><![CDATA[turlapativishnu]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/tvishnun1/?p=606</guid>
      <description><![CDATA[Hi Folks,

Well this is another interesting segment of Sales Gamification with CRM online....]]></description>
      <content:encoded><![CDATA[Hi Folks,

Well this is another interesting segment of Sales Gamification with CRM online. Microsoft has acquired FanatsySalesTeam an innovative sales gamification platform to help organizations increase the sales productivity.

You can get the solution from the CRM online itself. Open your office admin portal. Click on Admin where you can see all the applications admin centers in the left hand side as shown below:

<a href="https://msdnshared.blob.core.windows.net/media/2016/06/Capture.jpg"><img class="alignnone size-medium wp-image-615" src="https://msdnshared.blob.core.windows.net/media/2016/06/Capture-300x185.jpg" alt="Capture" width="300" height="185" /></a>

Click on CRM as shown in the above image and you can see the instance picker selection as shown in the below image:

<a href="https://msdnshared.blob.core.windows.net/media/2016/06/Capture1.jpg"><img class="alignnone size-medium wp-image-625" src="https://msdnshared.blob.core.windows.net/media/2016/06/Capture1-300x144.jpg" alt="Capture" width="300" height="144" /></a>

&nbsp;

Click on solutions which would be showing up the different solutions that can be installed in CRM online. In the listing you can see FantasySalesTeam solution which can be installed into the CRM online.

<a href="https://msdnshared.blob.core.windows.net/media/2016/06/Capture2.jpg"><img class="alignnone size-medium wp-image-635" src="https://msdnshared.blob.core.windows.net/media/2016/06/Capture2-300x105.jpg" alt="Capture" width="300" height="105" /></a>

&nbsp;

After it gets installed in your instance you can see further details in your CRM online.

Enjoy the gamification with CRM online FantasySalesTeam!!]]></content:encoded>
    </item>
    <item>
      <title>Voice of Customer Surveys</title>
      <link>https://docs.microsoft.com/archive/blogs/tvishnun1/voice-of-customer-surveys</link>
      <pubDate>Thu, 19 May 2016 15:04:23 GMT</pubDate>
      <dc:creator><![CDATA[turlapativishnu]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/tvishnun1/?p=557</guid>
      <description><![CDATA[Hi Folks,

This is a new add on for Voice of Customer Surveys in Microsoft Dynamics CRM online....]]></description>
      <content:encoded><![CDATA[Hi Folks,

This is a new add on for Voice of Customer Surveys in Microsoft Dynamics CRM online. Enjoy more details shown here:

https://www.microsoft.com/en-us/dynamics/crm-customer-center/get-feedback-with-voice-of-the-customer-surveys.aspx

Enjoy CRM!!!]]></content:encoded>
    </item>
    <item>
      <title>Changing themes in Microsoft Dynamics CRM 2015</title>
      <link>https://docs.microsoft.com/archive/blogs/tvishnun1/changing-themes-in-microsoft-dynamics-crm-2015</link>
      <pubDate>Thu, 25 Jun 2015 04:54:33 GMT</pubDate>
      <dc:creator><![CDATA[turlapativishnu]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/tvishnun1/2015/06/25/changing-themes-in-microsoft-dynamics-crm-2015/</guid>
      <description><![CDATA[Hi Folks,
Hope you have explored the new options available in CRM 2015. One of the coolest features...]]></description>
      <content:encoded><![CDATA[<p>Hi Folks,
</p><p>Hope you have explored the new options available in CRM 2015. One of the coolest features is changing the themes and the logo. 
</p><p>This post will help you to quickly understand how to change the themes in CRM online:
</p><ol><li>Navigate to Settings – Customizations. 
</li></ol><p><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/57/metablogapi/062515_1154_Changingthe1.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-57-metablogapi/062515_5F00_1154_5F00_Changingthe1.png" alt=" " />
	</p><p>
 </p><ol><li>Observe the new feature of Themes. You can change theme as per your requirement. For each navigation and UI elements you can change the color according to the HTML codes as shown below:
</li></ol><p>
		<img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/57/metablogapi/062515_1154_Changingthe2.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-57-metablogapi/062515_5F00_1154_5F00_Changingthe2.png" alt=" " />
	</p><ol><li>After changing everything you can see the modified theme by clicking on preview. 
</li></ol><p><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/57/metablogapi/062515_1154_Changingthe3.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-57-metablogapi/062515_5F00_1154_5F00_Changingthe3.png" alt=" " />
	</p><p>
 </p><ol><li>After cross checking everything you can publish theme to make it available in CRM. 
</li></ol><p>
 </p><p>That is all!! It is simple to change the theme in CRM 2015. </p>]]></content:encoded>
    </item>
    <item>
      <title>Creating PDF notes programmatically in CRM 2015</title>
      <link>https://docs.microsoft.com/archive/blogs/tvishnun1/creating-pdf-notes-programmatically-in-crm-2015</link>
      <pubDate>Tue, 23 Jun 2015 23:39:09 GMT</pubDate>
      <dc:creator><![CDATA[turlapativishnu]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/tvishnun1/2015/06/23/creating-pdf-notes-programmatically-in-crm-2015/</guid>
      <description><![CDATA[Hi Folks,
This post will help you in creating notes attachment into CRM programmatically.
&nbsp;...]]></description>
      <content:encoded><![CDATA[<p>Hi Folks,</p>
<p>This post will help you in creating notes attachment into CRM programmatically.</p>
<p>&nbsp;</p>
<p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"> <span style="color:green;">// Open a file and read the contents into a byte array<span style="color:black;"> </span></span></span></p>
<p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"> <span style="color:#2b91af;">FileStream<span style="color:black;"> stream = <span style="color:#2b91af;">File<span style="color:black;">.OpenRead(<span style="color:#a31515;">@&quot;c:\testfile.pdf&quot;<span style="color:black;">); </span></span></span></span></span></span></span></p>
<p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"> <span style="color:blue;">byte<span style="color:black;">[] byteData = <span style="color:blue;">new<span style="color:black;"> <span style="color:blue;">byte<span style="color:black;">[stream.Length]; </span></span></span></span></span></span></span></p>
<p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"> stream.Read(byteData, 0, byteData.Length); </span></p>
<p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"> stream.Close(); </span></p>
<p>&nbsp;</p>
<p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"> <span style="color:green;">// Encode the data using base64.<span style="color:black;"> </span></span></span></p>
<p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"> <span style="color:blue;">string<span style="color:black;"> encodedData = System.<span style="color:#2b91af;">Convert<span style="color:black;">.ToBase64String(byteData); </span></span></span></span></span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"> <span style="color:green;">// Instantiate an Annotation object.<span style="color:black;"> </span></span></span></p>
<p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"> <span style="color:green;">// See the Entity Metadata topic in the SDK documentation to determine<span style="color:black;"> </span></span></span></p>
<p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"> <span style="color:green;">// which attributes must be set for each entity.<span style="color:black;"> </span></span></span></p>
<p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"> <span style="color:#2b91af;">Annotation<span style="color:black;"> createAnnotation = <span style="color:blue;">new<span style="color:black;"> <span style="color:#2b91af;">Annotation<span style="color:black;">() </span></span></span></span></span></span></span></p>
<p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"> { </span></p>
<p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"> Subject = <span style="color:#a31515;">&quot;PDF Attachment&quot;<span style="color:black;">, </span></span></span></p>
<p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"> FileName = <span style="color:#a31515;">&quot;File Name&quot;<span style="color:black;">, </span></span></span></p>
<p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"> DocumentBody = encodedData, </span></p>
<p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"> MimeType = <span style="color:#a31515;">@&quot;application\pdf&quot;<span style="color:black;"> </span></span></span></p>
<p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"> }; </span></p>
<p>&nbsp;</p>
<p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"> <span style="color:green;">// Create the Annotation object.<span style="color:black;"> </span></span></span></p>
<p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;"> _annotationId = _serviceProxy.Create(createAnnotation); </span></p>
<p>&nbsp;</p>
<p>In the above code snippet you can change the MimeType based on the type of file that want to upload into CRM. For ex., <span style="color:#262626;font-family:Helvetica;font-size:10pt;">application/msword for Microsoft Word, application/pdf for PDF etc., </span></p>
<p><span style="color:#262626;font-family:Helvetica;font-size:10pt;">Hope this helps. </span></p>
<p>&nbsp;</p>
<p><span style="color:#262626;font-family:Helvetica;font-size:10pt;">Thanks, </span></p>
<p><span style="color:#262626;font-family:Helvetica;font-size:10pt;">Vishnu</span></p>]]></content:encoded>
    </item>
    <item>
      <title>Hosting Microsoft Dynamics CRM for your customers</title>
      <link>https://docs.microsoft.com/archive/blogs/tvishnun1/hosting-microsoft-dynamics-crm-for-your-customers</link>
      <pubDate>Sun, 03 May 2015 21:47:03 GMT</pubDate>
      <dc:creator><![CDATA[turlapativishnu]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/tvishnun1/2015/05/03/hosting-microsoft-dynamics-crm-for-your-customers/</guid>
      <description><![CDATA[Hi Folks,
Are you trying to host Microsoft Dynamics CRM for your customers?
This link will become...]]></description>
      <content:encoded><![CDATA[<p>Hi Folks,
</p><p>Are you trying to host Microsoft Dynamics CRM for your customers?
</p><p>This link will become handy for the complete documentation in setting up Microsoft Dynamics CRM for your customers:
</p><p><a href="https://www.microsoft.com/en-us/download/details.aspx?id=14259">https://www.microsoft.com/en-us/download/details.aspx?id=14259</a>
	</p><p>Hope this helps. 
</p><p>Thanks,
</p><p>Vishnu</p>]]></content:encoded>
    </item>
    <item>
      <title>Diagnostics in Microsoft Dynamics CRM Online</title>
      <link>https://docs.microsoft.com/archive/blogs/tvishnun1/diagnostics-in-microsoft-dynamics-crm-online</link>
      <pubDate>Wed, 15 Apr 2015 06:16:19 GMT</pubDate>
      <dc:creator><![CDATA[turlapativishnu]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/tvishnun1/2015/04/15/diagnostics-in-microsoft-dynamics-crm-online/</guid>
      <description><![CDATA[Hi folks,
Did you know the fact that you can run the diagnostics within Microsoft Dynamics CRM...]]></description>
      <content:encoded><![CDATA[<p>Hi folks,
</p><p>Did you know the fact that you can run the diagnostics within Microsoft Dynamics CRM online? 
</p><p>All you have to do is change the URL of your CRM application and append with /tools/diagnostics/diag.aspx.
</p><p>For ex:
</p><p>If this is your URL: 
</p><p><a href="https://orgname.crm.dynamics.com/">https://orgname.crm.dynamics.com/</a><span style="color:#1f497d;">
		</span></p><p>You can check the diagnostics by this URL: 
</p><p><a href="https://orgname.crm.dynamics.com/tools/diagnostics/diag.aspx">https://orgname.crm.dynamics.com/tools/diagnostics/diag.aspx</a><span style="color:#1f497d;">
		</span></p><p>This will give you the data point and its respective status and results summary. 
</p><p>Hope this helps.
</p><p>Thanks,
</p><p>Vishnu</p>]]></content:encoded>
    </item>
    <item>
      <title>.Bak file import into Microsoft Dynamics CRM online</title>
      <link>https://docs.microsoft.com/archive/blogs/tvishnun1/bak-file-import-into-microsoft-dynamics-crm-online</link>
      <pubDate>Mon, 13 Apr 2015 03:29:34 GMT</pubDate>
      <dc:creator><![CDATA[turlapativishnu]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/tvishnun1/2015/04/13/bak-file-import-into-microsoft-dynamics-crm-online/</guid>
      <description><![CDATA[Hi Folks,
Recently I have encountered a scenario where the data has to be imported into Microsoft...]]></description>
      <content:encoded><![CDATA[<p>Hi Folks,
</p><p>Recently I have encountered a scenario where the data has to be imported into Microsoft Dynamics CRM online. Microsoft does not support import of .bak files directly into CRM online. 
</p><p>So I have explored the other options which are possible to achieve the same. If you have a .Bak file with you and want to import data into CRM online you can try the following options: 
</p><ol><li><div>First we can extract the data into an excel file from the .bak file. This can be done by leveraging the SQL Management studio. Open your SQL database which has the .Bak file. 
</div><p>
 </p></li><li><div>Right click on the object explorer and click on export. 
</div><p><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/57/metablogapi/041315_1029_Bakfileimpo1.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-57-metablogapi/041315_5F00_1029_5F00_Bakfileimpo1.png" alt=" " />
			</p><p>
 </p></li><li>On click of which you can see the wizard to export the data.
</li></ol><p>
		<img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/57/metablogapi/041315_1029_Bakfileimpo2.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-57-metablogapi/041315_5F00_1029_5F00_Bakfileimpo2.png" alt=" " />
	</p><ol><li><div>Here select the data source, server name, database name. 
</div><p>
 </p></li></ol><p>
		<img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/57/metablogapi/041315_1029_Bakfileimpo3.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-57-metablogapi/041315_5F00_1029_5F00_Bakfileimpo3.png" alt=" " />
	</p><p style="margin-left:18pt;">
 </p><ol><li>Now choose the destination file as Excel sheet. 
</li></ol><p>
		<img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/57/metablogapi/041315_1029_Bakfileimpo4.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-57-metablogapi/041315_5F00_1029_5F00_Bakfileimpo4.png" alt=" " />
	</p><p>
 </p><ol><li>Now you can get the data in excel format by copying one or more tables. 
</li></ol><p>
		<img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/57/metablogapi/041315_1029_Bakfileimpo5.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-57-metablogapi/041315_5F00_1029_5F00_Bakfileimpo5.png" alt=" " />
	</p><p>
 </p><ol><li>Now select the tables which you want to import and extract them into excel. 
</li></ol><p>
		<img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/57/metablogapi/041315_1029_Bakfileimpo6.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-57-metablogapi/041315_5F00_1029_5F00_Bakfileimpo6.png" alt=" " />
	</p><p>
 </p><ol><li><div>After getting the excel file you can import the data either through import wizard as shown in the below link: <a href="https://www.microsoft.com/en-US/dynamics/crm-customer-center/import-accounts-leads-or-other-data.aspx">https://www.microsoft.com/en-US/dynamics/crm-customer-center/import-accounts-leads-or-other-data.aspx</a>
			</div><p>
 </p></li><li><div>You can also import data progrmmatically using SDK: <a href="https://msdn.microsoft.com/en-us/library/hh547396.aspx">https://msdn.microsoft.com/en-us/library/hh547396.aspx</a>, <a href="https://msdn.microsoft.com/en-us/library/gg309694.aspx">https://msdn.microsoft.com/en-us/library/gg309694.aspx</a>
			</div><p>
 </p></li></ol><p>You can also leverage the partner solutions like Scribe for data import. 
</p><p>Hope this helps.
</p><p>Happy reading!!
</p><p>
 </p><p>Thanks,
</p><p>Vishnu</p>]]></content:encoded>
    </item>
    <item>
      <title>Get ready for the next release made simple for Dynamics CRM</title>
      <link>https://docs.microsoft.com/archive/blogs/tvishnun1/get-ready-for-the-next-release-made-simple-for-dynamics-crm</link>
      <pubDate>Sun, 12 Apr 2015 22:14:08 GMT</pubDate>
      <dc:creator><![CDATA[turlapativishnu]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/tvishnun1/2015/04/12/get-ready-for-the-next-release-made-simple-for-dynamics-crm/</guid>
      <description><![CDATA[Hello folks,
Are you planning to implement something new with Microsoft Dynamics CRM? You can check...]]></description>
      <content:encoded><![CDATA[<p>Hello folks,
</p><p>Are you planning to implement something new with Microsoft Dynamics CRM? You can check out what is up for the next release in the following link:
</p><p><a href="https://www.microsoft.com/en-US/dynamics/crm-customer-center/get-ready-for-the-next-release.aspx">https://www.microsoft.com/en-US/dynamics/crm-customer-center/get-ready-for-the-next-release.aspx</a>
	</p><p>Very cool indeed and this will help you to be updated with the next releases!
</p><p>Hope this helps.
</p><p>Keep reading.
</p><p>Regards,
</p><p>Vishnu</p>]]></content:encoded>
    </item>
    <item>
      <title>Getting the Metadata of Microsoft Dynamics CRM 2013</title>
      <link>https://docs.microsoft.com/archive/blogs/tvishnun1/getting-the-metadata-of-microsoft-dynamics-crm-2013</link>
      <pubDate>Tue, 04 Nov 2014 21:53:26 GMT</pubDate>
      <dc:creator><![CDATA[turlapativishnu]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/tvishnun1/2014/11/04/getting-the-metadata-of-microsoft-dynamics-crm-2013/</guid>
      <description><![CDATA[Hi Folks,
This post will help you out in getting the complete list of metadata of Microsoft...]]></description>
      <content:encoded><![CDATA[<p>Hi Folks,
</p><p>This post will help you out in getting the complete list of metadata of Microsoft Dynamics CRM application. 
</p><ol><li>For this first download the Microsoft Dynamics CRM SDK from the following location: <a href="https://www.microsoft.com/en-in/download/details.aspx?id=40321">https://www.microsoft.com/en-in/download/details.aspx?id=40321</a>
		</li><li>After downloading and extracting the file and navigate to the location of Tools, Metadatabrowser. 
</li><li>Now here you can see two files out of which one is a compressed file and other one is readme file:
</li></ol><p><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/57/metablogapi/110514_0553_GettingtheM1.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-57-metablogapi/110514_5F00_0553_5F00_GettingtheM1.png" alt=" " />
	</p><ol><li>Now the managed solution which we have as shown in the above screenshot will help us out to import into CRM. 
</li><li>Now navigate to CRM application. Go to Settings – Solutions. Now click on Import to import the solution
</li></ol><p><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/57/metablogapi/110514_0553_GettingtheM2.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-57-metablogapi/110514_5F00_0553_5F00_GettingtheM2.png" alt=" " />
	</p><ol><li>Select the MetadataBrowser_2_0_0_5_managed file from the SDK. Import the solution into CRM. 
</li><li><div>Now after importing the solution you can see the solution in this way:
</div><p>
 </p><p><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/57/metablogapi/110514_0553_GettingtheM3.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-57-metablogapi/110514_5F00_0553_5F00_GettingtheM3.png" alt=" " />
			</p><p>
 </p></li><li><div>Here you can either open the metadata browser or the entity metadata browser according to your requirement. As shown below:
</div><p>
 </p><p><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/57/metablogapi/110514_0553_GettingtheM4.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-57-metablogapi/110514_5F00_0553_5F00_GettingtheM4.png" alt=" " />
			</p><p>
 </p><p>
 </p><p>That is all!! It is simple to get the metadata details of your CRM application. </p></li></ol>]]></content:encoded>
    </item>
    <item>
      <title>Send Bulk Email and Monitoring using Code</title>
      <link>https://docs.microsoft.com/archive/blogs/tvishnun1/send-bulk-email-and-monitoring-using-code</link>
      <pubDate>Fri, 24 Oct 2014 00:51:10 GMT</pubDate>
      <dc:creator><![CDATA[turlapativishnu]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/tvishnun1/2014/10/24/send-bulk-email-and-monitoring-using-code/</guid>
      <description><![CDATA[Hi Folks,
Here comes my next and an interesting post. This post will help you out to send bulk...]]></description>
      <content:encoded><![CDATA[<p>Hi Folks,
</p><p>Here comes my next and an interesting post. This post will help you out to send bulk emails from your CRM application through .Net code. And wait it is not just about sending emails and you can monitor the status of the operation as well in your application.
</p><ol><li>Open your Visual Studio and create a new project.
</li><li>In this example we will create a new Windows Forms Application. You can use any other application as per your convenience. 
</li></ol><p><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/92/57/metablogapi/102414_0751_SendBulkEma1.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-57-metablogapi/102414_5F00_0751_5F00_SendBulkEma1.png" alt=" " />
	</p><p>
 </p><ol><li><div>In this example we will not go through the initial connection string to connect to CRM. This post is assuming you know the basic connection to CRM application. Place this code in the form load along with the connection string with CRM. 
</div><p>
 </p></li></ol><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">         <span style="color:green;">// Get a system user to use as the sender.<span style="color:black;">
				</span></span></span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">
			<span style="color:#2b91af;">WhoAmIRequest<span style="color:black;"> emailSenderRequest = <span style="color:blue;">new<span style="color:black;">
							<span style="color:#2b91af;">WhoAmIRequest<span style="color:black;">();
</span></span></span></span></span></span></span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">
			<span style="color:#2b91af;">WhoAmIResponse<span style="color:black;"> emailSenderResponse =
</span></span></span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">                        _serviceProxy.Execute(emailSenderRequest) <span style="color:blue;">as<span style="color:black;">
					<span style="color:#2b91af;">WhoAmIResponse<span style="color:black;">;
</span></span></span></span></span></p><p>
 </p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">
			<span style="color:green;">// Set trackingId for bulk mail request.<span style="color:black;">
				</span></span></span></p><p style="margin-left:36pt;"><span style="color:black;font-family:Consolas;font-size:9pt;"><span style="background-color:white;">
				<span style="color:#2b91af;">Guid<span style="color:black;"> trackingId = <span style="color:#2b91af;">Guid<span style="color:black;">.NewGuid();</span></span></span></span></span>
		</span></p><p style="margin-left:36pt;">
 </p><ol><li><div>
 </div><p style="margin-left:36pt;"><span style="color:#2b91af;font-family:Consolas;font-size:9pt;background-color:white;">      SendBulkMailRequest<span style="color:black;"> bulkMailRequest = <span style="color:blue;">new<span style="color:black;">
								<span style="color:#2b91af;">SendBulkMailRequest<span style="color:black;">()
</span></span></span></span></span></span></p></li></ol><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">                    {
</span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">
			<span style="color:green;">// Create a query expression for the bulk operation to use to retrieve <span style="color:black;">
				</span></span></span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">
			<span style="color:green;">// the contacts in the email list.<span style="color:black;">
				</span></span></span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">                        Query = <span style="color:blue;">new<span style="color:black;">
					<span style="color:#2b91af;">QueryExpression<span style="color:black;">()
</span></span></span></span></span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">                        {
</span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">                            EntityName = <span style="color:#2b91af;">Contact<span style="color:black;">.EntityLogicalName,
</span></span></span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">                            ColumnSet = <span style="color:blue;">new<span style="color:black;">
					<span style="color:#2b91af;">ColumnSet<span style="color:black;">(<span style="color:blue;">new<span style="color:black;">
									<span style="color:#2b91af;">String<span style="color:black;">[] { <span style="color:#a31515;">&quot;contactid&quot;<span style="color:black;"> }),
</span></span></span></span></span></span></span></span></span></span></span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">                            Criteria = <span style="color:blue;">new<span style="color:black;">
					<span style="color:#2b91af;">FilterExpression<span style="color:black;">()
</span></span></span></span></span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">                            {
</span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">                                Conditions = 
</span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">                            {
</span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">
			<span style="color:blue;">new<span style="color:black;">
					<span style="color:#2b91af;">ConditionExpression<span style="color:black;">(<span style="color:#a31515;">&quot;contactid&quot;<span style="color:black;">,<span style="color:#2b91af;">ConditionOperator<span style="color:black;">.In, _contactsIds)
</span></span></span></span></span></span></span></span></span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">                            }
</span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">                            }
</span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">                        },
</span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">
			<span style="color:green;">// Set the Sender.<span style="color:black;">
				</span></span></span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">                        Sender = <span style="color:blue;">new<span style="color:black;">
					<span style="color:#2b91af;">EntityReference<span style="color:black;">(<span style="color:#2b91af;">SystemUser<span style="color:black;">.EntityLogicalName, emailSenderResponse.UserId),
</span></span></span></span></span></span></span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">
			<span style="color:green;">// Set the RegardingId - this field is required.<span style="color:black;">
				</span></span></span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">                        RegardingId = <span style="color:#2b91af;">Guid<span style="color:black;">.Empty,
</span></span></span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">                        RegardingType = <span style="color:#2b91af;">SystemUser<span style="color:black;">.EntityLogicalName,
</span></span></span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">
			<span style="color:green;">// Use a built-in Microsoft Dynamics CRM email template.<span style="color:black;">
				</span></span></span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">
			<span style="color:green;">// NOTE: The email template&#39;s &quot;template type&quot; must match the type of <span style="color:black;">
				</span></span></span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">
			<span style="color:green;">// customers in the email list.  Our list contains contacts, so our <span style="color:black;">
				</span></span></span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">
			<span style="color:green;">// template must be for contacts.
</span></span></p><p>
 </p><p style="margin-left:108pt;"><span style="color:green;font-family:Consolas;font-size:9pt;background-color:white;">   //Here modify the guid with your record. <span style="color:black;">
			</span></span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">                        TemplateId = <span style="color:blue;">new<span style="color:black;">
					<span style="color:#2b91af;">Guid<span style="color:black;">(<span style="color:#a31515;">&quot;07B94C1D-C85F-492F-B120-F0A743C540E6&quot;<span style="color:black;">),
</span></span></span></span></span></span></span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">                        RequestId = trackingId
</span></p><p style="margin-left:36pt;"><span style="color:black;font-family:Consolas;font-size:9pt;"><span style="background-color:white;">                    };</span>
		</span></p><p>
 </p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">
			<span style="color:green;">// Execute the async bulk email request<span style="color:black;">
				</span></span></span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">
			<span style="color:#2b91af;">SendBulkMailResponse<span style="color:black;"> resp = (<span style="color:#2b91af;">SendBulkMailResponse<span style="color:black;">)
</span></span></span></span></span></p><p style="margin-left:36pt;"><span style="color:black;font-family:Consolas;font-size:9pt;"><span style="background-color:white;">                        _serviceProxy.Execute(bulkMailRequest);</span>
		</span></p><p style="margin-left:36pt;">
 </p><ol><li><div><span style="color:black;font-family:Consolas;font-size:9pt;">Now comes the interesting portion of monitoring the bulk email:</span>
			</div><p>
 </p></li></ol><p>
 </p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">
			<span style="color:green;">// Now that we&#39;ve executed the bulk operation, we need to retrieve it <span style="color:black;">
				</span></span></span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">
			<span style="color:green;">// using our tracking Id.<span style="color:black;">
				</span></span></span></p><p>
 </p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">
			<span style="color:#2b91af;">QueryByAttribute<span style="color:black;"> bulkQuery = <span style="color:blue;">new<span style="color:black;">
							<span style="color:#2b91af;">QueryByAttribute<span style="color:black;">()
</span></span></span></span></span></span></span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">                    {
</span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">                        EntityName = <span style="color:#2b91af;">AsyncOperation<span style="color:black;">.EntityLogicalName,
</span></span></span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">                        ColumnSet = <span style="color:blue;">new<span style="color:black;">
					<span style="color:#2b91af;">ColumnSet<span style="color:black;">(<span style="color:blue;">new<span style="color:black;">
									<span style="color:blue;">string<span style="color:black;">[] { <span style="color:#a31515;">&quot;requestid&quot;<span style="color:black;">, <span style="color:#a31515;">&quot;statecode&quot;<span style="color:black;"> }),
</span></span></span></span></span></span></span></span></span></span></span></span></span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">                        Attributes = { <span style="color:#a31515;">&quot;requestid&quot;<span style="color:black;"> },
</span></span></span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">                        Values = { trackingId }
</span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">                    };
</span></p><p>
 </p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">
			<span style="color:green;">// Retrieve the bulk email async operation.<span style="color:black;">
				</span></span></span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">
			<span style="color:#2b91af;">EntityCollection<span style="color:black;"> aResponse = _serviceProxy.RetrieveMultiple(bulkQuery);
</span></span></span></p><p>
 </p><p style="margin-left:72pt;"><span style="color:green;font-family:Consolas;font-size:9pt;background-color:white;">// Monitor the async operation via polling.<span style="color:black;">
			</span></span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">
			<span style="color:blue;">int<span style="color:black;"> secondsTicker = ARBITRARY_MAX_POLLING_TIME;
</span></span></span></p><p>
 </p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">
			<span style="color:#2b91af;">AsyncOperation<span style="color:black;"> createdBulkMailOperation = <span style="color:blue;">null<span style="color:black;">;
</span></span></span></span></span></p><p>
 </p><p style="margin-left:72pt;"><span style="color:blue;font-family:Consolas;font-size:9pt;background-color:white;">while<span style="color:black;"> (secondsTicker &gt; 0)
</span></span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">                    {
</span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">
			<span style="color:green;">// Make sure the async operation was retrieved.<span style="color:black;">
				</span></span></span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">
			<span style="color:blue;">if<span style="color:black;"> (aResponse.Entities.Count &gt; 0)
</span></span></span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">                        {
</span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">
			<span style="color:green;">// Grab the one bulk operation that has been created.<span style="color:black;">
				</span></span></span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">                            createdBulkMailOperation = (<span style="color:#2b91af;">AsyncOperation<span style="color:black;">)aResponse.Entities[0];
</span></span></span></p><p>
 </p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">
			<span style="color:green;">// Check the operation&#39;s state.<span style="color:black;">
				</span></span></span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">
			<span style="color:blue;">if<span style="color:black;"> (createdBulkMailOperation.StateCode.Value !=
</span></span></span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">
			<span style="color:#2b91af;">AsyncOperationState<span style="color:black;">.Completed)
</span></span></span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">                            {
</span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">
			<span style="color:green;">// The operation has not yet completed. <span style="color:black;">
				</span></span></span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">
			<span style="color:green;">// Wait a second for the status to change.<span style="color:black;">
				</span></span></span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">                                System.Threading.<span style="color:#2b91af;">Thread<span style="color:black;">.Sleep(1000);
</span></span></span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">                                secondsTicker--;
</span></p><p>
 </p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">
			<span style="color:green;">// Retrieve a fresh version the bulk delete operation.<span style="color:black;">
				</span></span></span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">                                aResponse = _serviceProxy.RetrieveMultiple(bulkQuery);
</span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">                            }
</span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">
			<span style="color:blue;">else<span style="color:black;">
				</span></span></span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">                            {
</span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">
			<span style="color:green;">// Stop polling because the operation&#39;s state is now complete.<span style="color:black;">
				</span></span></span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">                                secondsTicker = 0;
</span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">                            }
</span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">                        }
</span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">
			<span style="color:blue;">else<span style="color:black;">
				</span></span></span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">                        {
</span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">
			<span style="color:green;">// Wait a second for the async operation to activate.<span style="color:black;">
				</span></span></span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">                            System.Threading.<span style="color:#2b91af;">Thread<span style="color:black;">.Sleep(1000);
</span></span></span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">                            secondsTicker--;
</span></p><p>
 </p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">
			<span style="color:green;">// Retrieve the entity again<span style="color:black;">
				</span></span></span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">                            aResponse = _serviceProxy.RetrieveMultiple(bulkQuery);
</span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">                        }
</span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">                    }
</span></p><p>
 </p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">
			<span style="color:green;">// When the bulk email operation has completed, all sent emails will <span style="color:black;">
				</span></span></span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">
			<span style="color:green;">// have a status of &quot;Pending Send&quot; and will be picked up by your email <span style="color:black;">
				</span></span></span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">
			<span style="color:green;">// router.  Alternatively, you can then use BackgroundSendEmail to download<span style="color:black;">
				</span></span></span></p><p style="margin-left:36pt;"><span style="color:black;font-family:Consolas;font-size:9pt;"><span style="background-color:white;">
				<span style="color:green;">// all the emails created with the SendBulkEmail message.</span></span>
		</span></p><p style="margin-left:36pt;">
 </p><p style="margin-left:72pt;"><span style="color:blue;font-family:Consolas;font-size:9pt;background-color:white;">#region<span style="color:black;"> Check success
</span></span></p><p>
 </p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">
			<span style="color:green;">// Validate async operation succeeded<span style="color:black;">
				</span></span></span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">
			<span style="color:blue;">if<span style="color:black;"> (createdBulkMailOperation.StateCode.Value == <span style="color:#2b91af;">AsyncOperationState<span style="color:black;">.Completed)
</span></span></span></span></span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">                    {
</span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">
			<span style="color:#2b91af;">MessageBox<span style="color:black;">.Show(<span style="color:#a31515;">&quot;Operation Completed.&quot;<span style="color:black;">);                    }
</span></span></span></span></span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">
			<span style="color:blue;">else<span style="color:black;">
				</span></span></span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">                    {
</span></p><p><span style="color:black;font-family:Consolas;font-size:9pt;background-color:white;">
			<span style="color:#2b91af;">MessageBox<span style="color:black;">.Show(<span style="color:#a31515;">&quot;Operation not yet Completed.&quot;<span style="color:black;">);                    }
</span></span></span></span></span></p><p>
 </p><p style="margin-left:36pt;"><span style="color:blue;font-family:Consolas;font-size:9pt;"><span style="background-color:white;">              #endregion</span>
		</span></p><p style="margin-left:36pt;">
 </p><p style="margin-left:36pt;">Hope this helps. 
</p><p style="margin-left:36pt;">
 </p><p style="margin-left:36pt;">Happy coding!!</p>]]></content:encoded>
    </item>
  </channel>
</rss>