Welcome to Dynamics in Motion

Mastering the Art of Writing a Dynamics 365 Plugin: A Practical Guide

Mastering the Art of Writing a Dynamics 365 Plugin: A Practical Guide

Title: Unraveling the Simplicity of Writing a Dynamics 365 Plugin


The Microsoft Dynamics 365 is an innovative tool loaded with extensive features designed to optimise your business processes. This article delves into one of its most versatile features – plugins, and how to write a simple Dynamics 365 plugin. Writing a Dynamics 365 plugin may sound complicated, but with the right guidance, you can easily learn how to create one. This step-by-step guide is designed to provide understanding and knowledge in creating basic Dynamics 365 plugins.

What are Dynamics 365 Plugins?

Think of Plugins as codes written in .NET languages capable of manipulating data to bring about customized behaviours within Dynamics 365. They are invaluable for businesses to customise workflows and implement business rules to streamline operations.

1. Setting Up Your Environment

To get started, you will need Microsoft Visual Studio (preferably 2017 or later), Dynamics 365 software development kit (SDK), and .NET Framework 4.6.2.

2. Create a New Project

Launch Visual Studio, navigate to ‘File’, ‘New’, then ‘Project’. Here, select ‘Class Library (.NET Framework)’. Make sure it’s set to .NET Framework 4.6.2, then name your project and click ‘OK’.

3. Add CRM SDK Reference

You will need to add a reference to Microsoft.Xrm.Sdk, which is Dynamics 365 SDK that allows interaction with Dynamics CRM. Right-click ‘References’ in Solution Explorer, click on ‘Add Reference’ and browse to the location of the SDK dll files.

4. Writing the Plugin Code

Now, we’ll start writing our plugin code. Add the namespace ‘Microsoft.Xrm.Sdk’ at the top. Then inherit the IPlugin interface in your class, which forces your class to implement the ‘Execute’ method. It’s this method that CRM will call when the plugin is to be executed.

Here’s a sample bare-bones plugin code:

using System;
using Microsoft.Xrm.Sdk;

public class MyPlugin: IPlugin
public void Execute(IServiceProvider serviceProvider)
// Obtain the execution context from the service provider.
IPluginExecutionContext context = (IPluginExecutionContext)

// The InputParameters collection contains all the data passed in the message request.
if (context.InputParameters.Contains(“Target”) &&
context.InputParameters[“Target”] is Entity)
// Obtain the target entity from the input parameters.
Entity entity = (Entity)context.InputParameters[“Target”];

// Write your custom business logic here…

This code gets the execution context and checks if there are any InputParameters with a ‘Target’ parameter of type ‘Entity’. If it does, it retrieves the entity and runs the business logic.

5. Testing and Debugging Your Plugin

To test your plugin, you’ll need to build it, register with Dynamics 365 using the ‘Plugin Registration Tool’, and attach it to the appropriate event. However, remember that debugging can only occur in Dynamics CRM On-Premise.


Writing a Dynamics 365 plugin requires a clear understanding of the concepts and methods involved, but it is not as intimidating as it might first seem. Hopefully, this post has helped demystify the process for you. With practice and patience, you’ll be able to master creating plugins in Dynamics 365, harnessing its potential to maximise your business operations. So start writing your plugin today and transform your Dynamics 365 experience!

Leave a Reply

Your email address will not be published. Required fields are marked *