Dynamics CRM – Azure Integration (Part 2) : Create Dynamics CRM Service Endpoint

Detailed explanation on Dynamics CRM – Azure Integration. Technologies, mechanisms, tools and issues are enclosed under three topics in three connected posts.

Connected Posts:
Dynamics CRM – Azure Integration (Part 1) : Create Azure Service Bus Namespace
Dynamics CRM – Azure Integration (Part 2) : Create Dynamics CRM Service Endpoint
Dynamics CRM – Azure Integration (Part 3) : Explore Service Bus Messages

Detecting a Change in Dynamics CRM Records

In Dynamics CRM there are few ways of detecting record changes. It is really important to track\trigger changes in Dynamics CRM systems when synchronizing data between systems.

Change Tracking is a new feature comes with latest Dynamics CRM version and this feature can be used to get a bulk of records changed in an entity. It always provides changes compared to the last retrieval  of changes. Also, this will not raise the change as soon as it happens. Some code has to be executed externally and should get the changed records from the specific entity.

CRM Workflow executions in an event is another solution of detecting changes. With the real-time workflows, the workflow can be started before or after the change.

In this post, we discuss sending Plugin Execution Context to Azure and solving issues related to that.


Get the Plugin Execution Context Out

Plugins can be registered to track record changes. Plugin execution context has lots of information on the record change such as data changed, images, plugin step information etc. If we need to get the record changes and related information out of CRM we can use plugins and perform any action on that data. Also, we can integrate Dynamics CRM and Windows Azure using a Service Endpoint to Azure.


Plugin steps can be created for different entities at different events of Continue reading “Dynamics CRM – Azure Integration (Part 2) : Create Dynamics CRM Service Endpoint”


Dynamics CRM – Azure Integration (Part 1) : Create Azure Service Bus Namespace

Detailed explanation on Dynamics CRM – Azure Integration related technologies, mechanisms, tools and issues is enclosed under three topics in three connected posts.

Connected Posts:
Dynamics CRM – Azure Integration (Part 1) : Create Azure Service Bus Namespace
Dynamics CRM – Azure Integration (Part 2) : Create Dynamics CRM Service Endpoint
Dynamics CRM – Azure Integration (Part 3) : Explore Service Bus Messages

 Windows Azure Services

Microsoft Windows Azure or Azure’s compute mainly offers three types of offerings; Infrastructure as a Service (IaaS), Platform as a Service (PaaS) and Software as a Service (SaaS).

Simply under Infrastructure as a Service (IaaS), Azure offers servers in the cloud \ virtual machines which give the feeling like a server that has been setup manually with hardware, operating system and running other applications in it. It provides Networking, Storage, Servers and Virtualization.

Windows Azure itself can be taken as a Platform as a Service. Windows Azure offers Middleware services including messaging, listening services, processing messages etc. under this. These components are really awesome when extending application behaviours, exposing to other systems and distributing services to other systems. Service Bus and its entities such as Queues, Topics, Relays, Event Hubs and Notification Hubs play a vital role under this.

Azure Websites are cheapest and easiest method of getting an application on the cloud. Web applications can be deployed from anywhere and Azure take care of CI, network traffic, availability etc.

Understanding Windows Azure Service Bus

Azure Service Bus is a generic, cloud-based messaging system for connecting applications, services and devices. Service Bus is a multi-tenant cloud service which can consist of namespaces with different types of messaging mechanisms. Depending on the requirement messaging mechanisms can be selected and the choices are; Queues, Topics, Relays and Event Hubs.


Namespaces can be defined under Azure Service Bus. Namespace is Continue reading “Dynamics CRM – Azure Integration (Part 1) : Create Azure Service Bus Namespace”

Generate Invoice from Opportunity when Closing as Won

Sales process is one of the main OOTB business processes in Dynamics CRM. During the sales process Opportunities can be created from Leads (Potential Customers) and opportunities contain opportunity products. From opportunities, quotes can be created, orders can be created from quotes and then invoices can be created from orders.


In this post let’s see how to generate invoice from opportunity using code and overcome issues when getting the OpportunityId.

CRM SDK provides few Methods to Generate Quotes, Orders and Invoices programmatically from Opportunity at any event. Following table shows the Requests and their descriptions that we can use to generate Quotes, Orders and Invoices from Opportunity.

Message Description
GenerateQuoteFromOpportunityRequest Generates a quote from an opportunity.
GenerateSalesOrderFromOpportunityRequest Generates a sales order from an opportunity.
GenerateInvoiceFromOpportunityRequest Generates an invoice from an opportunity.

Invoice can be created when the Opportunity closes as won and Plugin Continue reading “Generate Invoice from Opportunity when Closing as Won”

Capture Associate\Disassociate Events in Plugins

Plugins can be used to execute\perform a task in a event of changing a field of a record in an entity in CRM. Update message can be used in plugins when updating a field in an entity but how can we trigger an event when adding or removing a child record exists under a Many to Many relationship?

When Many to Many relationship exists and some task to be performed when adding records\removing records to\from parent\child entities, we can register a plugin which includes the task to be performed, using plugin registration tool to trigger the plugin at the right time.

Scenario: A system contains students and it captures mandatory subjects for each student. Meaning that one student may exist many subjects (Maths, Science etc…) and one Subject can have many Students according the relationship. Lets assume that both Student and Subject entities are custom entities with new prefix in it.

The task is that; whenever we add\remove a Subject from Student we should update a text field in Student.

Plugin :  Continue reading “Capture Associate\Disassociate Events in Plugins”

Salesforce Marketing Cloud Connector for Dynamics CRM

This is to introduce you Salesforce Marketing Cloud Connector for Dynamics CRM and to  give you a brief description on the purpose of using it and to explain advantages of combining Salesforce Marketing Cloud and Dynamics CRM for Marketing purposes. Following navigation item shows after the connector installation in Dynamics CRM.


What is Salesforce Marketing Cloud?

Marketing cloud is a digital marketing platform to reach each individual customer in different ways by delivering the right message at right time in a very personalized way in the process of marketing. Interaction can be created through Emails, Social media, Mobile and Web for marketing campaigns in different techniques such as surveys, promotions, questionnaires, advertising and many more techniques. Continue reading “Salesforce Marketing Cloud Connector for Dynamics CRM”

Publishing Products in Dynamics CRM

Products in the CRM product catalog need to be published before they used in Quotes, Orders and in Invoices. There are several ways to publish products. Recently I wanted to import a list of products to a Dynamics CRM from another system. I imported them directly to the CRM using data import wizard but faced difficulties when publishing them in CRM. From Products view, CRM doesn’t allow to publish multiple products at once as bulk edit feature.

Publish Products under a Product Family

Select the product family and from the ribbon select Publish Hierachy. CRM will publish the product family and all the items under it such as products, bundles and kits.



Publish Products with no Product Family

Whenever a product created in CRM, that is published(Active) automatically by enabling this setting under System Settings in CRM. But this is only applicable for the products with no product family.



You can Publish Products programmatically using CRM SDK as well 🙂


Azure Topic Issue : This client is not supported for a partitioned entity. The client version should be greater or equal than version ‘2013-10’

Dynamics CRM execution context can be sent to Azure Service Bus by using a registered plugin step using the plugin registration tool. However there can be issues when triggering events from Dynamics CRM entity and sending the context to the Azure service bus topic.

Issues raised when trying to send any context to Azure are shown in System Jobs (Settings>System Jobs).


The records which have issues are waiting under the System Jobs and if you open up any such record you will see the actual issues raised from the CRM as follows.

1IssueShowsInCRMDetail Continue reading “Azure Topic Issue : This client is not supported for a partitioned entity. The client version should be greater or equal than version ‘2013-10’”

Sending Dynamics CRM Execution Context to Azure Service Bus

Nowadays different software systems are connected with each other in different ways to exchange data and services among them. Also maintaining cloud spaces for hosting and using cloud services have become very popular in the industry. Dynamics CRM 2016 can be hosted as on premise and it’s available as Online as well and it supports exposing its execution context to Microsoft Azure Service Bus to easily communicate with the other applications, services or devices connecting from anywhere. Dynamics CRM plugin registration tool can make Azure aware the executions in CRM.


Assume that there’s a need to update some other system on a change of data in an entity in CRM. One approach is to bring changed data in to an online location and the other system to read those data and update its data stores accordingly. Azure service bus is a cloud service that maintains queues and topics to act as intermediate location between two systems. Specialty is that; Dynamics CRM can automatically send data with its context in an event available in Dynamics CRM such as Create, Update, Delete etc…

Azure Service Bus

Azure service Bus is a generic, cloud based messaging system for connecting services, applications and devices from anywhere. It supports two types of communication models such as Queues and Topics.

Understand Azure Service Bus using following resources; Continue reading “Sending Dynamics CRM Execution Context to Azure Service Bus”

Creating Word Document Templates for Dynamics CRM 2016


Found a very good article on creating word document template for Dynamics CRM 2016 and just experienced the cool feature in CRM 2016 Online, provided from Dynamics CRM team.

Using document templates, users can generate standardized documents with data in CRM. Also Excel document templates can be created under document templates.

Here’s the link to the article;



Send Bulk Emails and Track Stats Back to CRM with PowerMailChimp

Maintaining campaigns, marketing lists and sending emails to different marketing lists in bulk are usual processes in Marketing. Dynamics CRM provides a useful set of functionalities under Marketing.

MailChimp provides lot of web based features including Email designer, Email Template Creator, integration with different web applications, maintaining campaigns, create campaigns using mobile etc…

MailChimp Integrations
MailChimp Integrations

PowerMailChimp connects Dynamics CRM and the MailChimp, simply it acts as MailChimp CRM Integration tool.


You can create marketing campaigns, maintain static or dynamic marketing lists to send offerings, newsletters, notices etc… from Dynamics CRM itself. Also MailChimp can be used to design your email templates or newsletter templates very easily and send those emails or  newsletters using your own templates in MailChimp. Statistics such as successful deliveries, opens, bounces and unsubscribes can be seen from the CRM itself.

Its simple,  watch following video in YouTube;

MailChimp integration with Microsoft Dynamics CRM 2015