Microsoft Power Platform offers a great deal of flexibility to developers who may need to tailor their business applications’ needs. One such way is by developing a plug-in that implements a custom API. This approach allows developers to extend the functionality of their applications, providing a seamless integration with external systems.
In the context of the PL-400 Microsoft Power Platform Developer examination, it is essential to understand not only the basic principles of plug-in development, but also how to use them to implement a custom API designed specifically for your application needs.
Developing A Plug-In
Let’s start with the fundamentals of developing a plug-in for Microsoft Power Platform. A plug-in is basically a custom business logic that you can trigger on CRM events such as create, update, delete, and others. The main requirement for a plug-in is that it needs to be a class that implements the IServiceProvider
interface.
An example of a simple plug-in could look like this:
public class MyPlugin: IPlugin
{
public void Execute(IServiceProvider serviceProvider)
{
IPluginExecutionContext context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext));
IOrganizationServiceFactory serviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory));
IOrganizationService service = serviceFactory.CreateOrganizationService(context.UserId);
// Code logic for your plugin here
}
}
Implementing A Custom API
While plug-ins allow you to hook into specific events happening in your Power Platform applications, sometimes you need a more generic and reusable way to expose your business logic. In this case, creating a custom API is the recommended way to go.
Custom API is a feature that allows developers to define their own APIs in Common Data Service (CDS) to perform operations that are not exposed through standard CDS APIs. These APIs adhere to the same standards as the Power Platform’s standard APIs.
An example of a custom API may look like this:
The Synergy of Plug-Ins and Custom APIs
The real power and flexibility show up when you combine the functional capabilities of plug-ins with the reusability and configurability of custom APIs. This allows your application to react to particular events, such as a data update or deletion, and then trigger a specific response defined in your custom API, such as sending that updated data to an external system.
Whether you’re planning to use plug-ins, custom APIs, or a combination of both in your application, having adequate knowledge to handle them will ensure you’ve enhanced the functionality, usability, and adaptability of your Power Platform solutions, crucial competencies expected of a PL-400 Microsoft Power Platform Developer.
To conclude, developing a plug-in that implements a custom API is an advanced development task that requires a deep understanding of Microsoft Power Platform. Use the Microsoft documentation and guidelines as your primary source of knowledge, and always validate your work against their established best practices.
Practice Test
True or False: A plug-in is a custom business logic that you can integrate with Microsoft Dynamics 365 to modify or augment the standard behavior of the platform.
- True
Answer: True
Explanation: Plug-ins are custom business logic that allows developers to modify standard behavior of the platform and can be easily integrated with Microsoft Dynamics
Multiple Select: Which of the following languages can be used to write a plug-in for the Microsoft Power Platform?
- a) C#
- b) JavaScript
- c) Python
- d) PHP
Answer: a, b
Explanation: C# and JavaScript are among the languages that are supported for writing plug-ins in the Microsoft Power Platform.
Single Select: What is the use of the Plug-in Registration Tool in Microsoft Dynamics 365?
- a) Debug your plug-in
- b) Create your plug-in
- c) Register and manage your plug-ins
- d) All of the above
Answer: c. Register and manage your plug-ins
Explanation: The Plug-in Registering Tool is used to register and manage your plug-ins within Microsoft Dynamics
True or False: Correctly registered plug-ins cannot be triggered by in-built events in the Power Platform.
- False
Answer: False
Explanation: Plug-ins, once correctly registered, are able to be triggered by a large variety of events that are built into the Power Platform.
Single Select: In Power Platform, the primary use case of plugins is to _____.
- a. Update data
- b. Read data
- c. Delete data
- d. All of the above
Answer: d. All of the above
Explanation: In Power Platform, plug-ins are used to manage data including reading, updating and deleting.
Multiple Select: The custom API gives control over _____.
- a. Payload definition
- b. Data model
- c. Operations
- d. Authentication headers.
Answer: a,b,c
Explanation: Custom API development gives developer control over payload definitions, operations and data model but not authentication headers.
True or False: You can use Custom APIs to create new messages in the Power Platform.
- True
Answer: True
Explanation: Custom APIs in Power Platform can allow developers to create new messages that do not exist already.
Single Select: Which visibility can the Custom API have?
- a. User
- b. Parent
- c. Internal
- d. Global
Answer: d. Global
Explanation: Custom API can be defined with Global visibility.
True or False: Plug-ins can only be developed using the SDK styles.
- False
Answer: False
Explanation: Plug-ins can also be developed using the Web API in addition to the SDK styles.
Multiple Select: When working with the Power Platform, Custom APIs can _____.
- a. Improve performance
- b. Make code more readable
- c. Extend the platform’s capabilities
- d. All of the above
Answer: d. All of the above
Explanation: Custom APIs in the Power Platform can improve performance, make the code more readable, and extend the platform’s capabilities.
Interview Questions
What is a plugin in the context of Microsoft Power Platform?
A plugin is a custom business logic that you can integrate with Microsoft Power Platform to modify or augment the standard behavior of the platform.
What is the primary purpose of developing a plugin that implements a custom API in Power Platform?
The primary purpose is to extend the functionality of the system by adding custom features or behavior that aren’t available natively in the platform.
Which programming language is primarily used to write plugins for Microsoft Power Platform?
Microsoft Power Platform plugins are primarily written in C#.
What is meant by the term ‘Custom API’ in the Power Platform context?
A Custom API is a new capability that allows developers to define their APIs in Power Platform to create, retrieve, update or delete records, and perform other operations in the Common Data Service.
Can a custom API plugin be run synchronously or asynchronously in Power Apps?
Yes, a custom API plugin can be set to run either synchronously or asynchronously, depending on the requirements of the application.
In which part of the Power Platform are plugins created and managed?
Plugins are created and managed in the Power Apps developer portal or in the Power Apps command line interface (CLI).
When would you use a custom API in Power Platform?
Custom APIs can be used when trying to extend or create custom features that are not available as out-of-the-box features in Power Platform.
How does a plugin differ from a Custom API on the Power Platform?
Plugins are units of logic that can be triggered by events in the Power Platform, while Custom APIs define new messages for the platform to extend its capabilities.
What is the ‘Unsecure Configuration’ for a Custom API in Power Platform?
The ‘Unsecure Configuration’ is a text field that developers can use to pass configuration data to the Custom API or its plug-in. This data does not require elevated privileges to access.
Is it necessary to have an understanding of RESTful APIs to create a Custom API in Power Platform?
Yes, having a foundational understanding of RESTful APIs can be very helpful, as Custom APIs in Power Platform use RESTful principles.
What is the maximum timeout for a synchronous plugin in Power Platform?
The maximum timeout for a synchronous plugin in Power Platform is two minutes.
What are the inputs and outputs of a custom API represented by?
In a custom API, the inputs and outputs are represented by parameters, much like methods in C#.
What tools can be used to debug and test custom API plugins for Power Platform?
Tools such as Plugin Registration Tool and Fiddler can be used for testing and debugging custom API plugins.
Can you secure a custom API in Power Platform?
Yes, you can secure a custom API in Power Platform by using built-in platform features like authentication and authorization.
How does one control the security privilege needed to call a custom API?
The security privilege needed to call a custom API is controlled by associating a custom privilege with the custom API.