Writing a Simple Dynamics 365 Plugin: A Step-by-Step Guide
Dynamics 365 is a powerful software platform that offers businesses an extensive suite of functionality. From customer relationship management to financials and operations, Dynamics 365 is designed to help organizations streamline their processes and improve efficiency.
One of the key strengths of Dynamics 365 is its ability to be customized through plugins. Plugins are code snippets that can be added to Dynamics 365 to extend its functionality. By writing a plugin, you can automate tasks, add new features, or integrate with other systems.
In this guide, we’ll take you through the steps for writing a simple Dynamics 365 plugin.
Step 1: Plan Your Plugin
Before you start writing your plugin, it’s essential to have a clear understanding of what you want it to do. Start by identifying the problem you want to solve or the feature you want to add. Then, break down the task into smaller steps that your plugin will need to perform.
For example, let’s say you want to create a plugin that sends an email to a customer when their order is shipped. Here are the steps your plugin would need to perform:
1. Retrieve the customer’s email address
2. Build the email message
3. Send the email
Step 2: Set Up Your Development Environment
To write a plugin for Dynamics 365, you’ll need to use Microsoft Visual Studio. Visual Studio is a development environment that provides tools for building plugins and other customizations for Dynamics 365.
To get started, download and install Visual Studio on your computer. Once installed, open Visual Studio and select “New Project”. In the “New Project” window, select “Dynamics 365” from the list of project types.
Step 3: Create a New Plugin
Once you’ve created a new Dynamics 365 project in Visual Studio, you can add a plugin to the project. To do this, right-click on the project in the Solution Explorer and select “New Item”.
In the “Add New Item” window, select “Dynamics 365 Plugin” from the list of item types. Give your plugin a name and click “Add”.
Step 4: Write Your Plugin Code
Now that you’ve created a new plugin, it’s time to write the code that will make it work.
In the code editor, you’ll see some default code that Visual Studio has generated for you. This code sets up the basic structure of your plugin and provides some helper methods that you can use. You’ll need to modify this code to perform the task you want your plugin to do.
Let’s go back to our example of sending an email to a customer when their order is shipped. Here’s an example of the code you would need to write:
public class OrderShippedPlugin : IPlugin
public void Execute(IServiceProvider serviceProvider)
// Retrieve the execution context
IPluginExecutionContext context =
// Retrieve the target entity
Entity entity = context.InputParameters[“Target”] as Entity;
// Retrieve the customer email address from the entity
string customerEmail = entity.GetAttributeValue
// Build the email message
string subject = “Your order has been shipped”;
string body = “Dear Customer,\n\nYour order has been shipped. Thank you for your business!”;
Entity email = new Entity(“email”);
email[“subject”] = subject;
email[“description”] = body;
email[“to”] = customerEmail;
// Send the email
IOrganizationServiceFactory serviceFactory =
IOrganizationService service = serviceFactory.CreateOrganizationService(context.UserId);
This code retrieves the execution context and target entity, then gets the customer email address from the entity. It then builds the email message and sends it using the IOrganizationService interface.
Step 5: Register Your Plugin
Once you’ve written your plugin code, you need to register it with Dynamics 365. To do this, open the Plugin Registration Tool. This tool is included with the Dynamics 365 SDK and can be downloaded from Microsoft’s website.
In the Plugin Registration Tool, select your plugin assembly and click “Register” to register the plugin with Dynamics 365.
Step 6: Test Your Plugin
You’re now ready to test your plugin. To do this, create a new record in Dynamics 365 that triggers the event that your plugin is listening for. For example, if you’re testing the plugin that sends an email when an order is shipped, create a new order record and set its status to “Shipped”.
If everything has been set up correctly, your plugin should execute and send an email to the customer.
In this guide, we’ve walked you through the process of writing a simple Dynamics 365 plugin. By breaking down the task into smaller steps, setting up your development environment, writing code, registering the plugin, and testing it, you can extend Dynamics 365 to meet your organization’s unique needs. With some practice, you can create more complex plugins that automate even more tasks and add even more features to Dynamics 365.