# Class BpmnPlugin OptimaJet.Workflow.BpmnPlugin.BpmnPlugin The BpmnPlugin class provides activities that simulate the most frequently used BPMN elements and supports the import of BPMN diagrams. Namespace: [OptimaJet.Workflow.BpmnPlugin](https://api.workflowengine.io/bpmn-plugin/OptimaJet.Workflow.BpmnPlugin/) ```csharp public class BpmnPlugin : IWorkflowPlugin ``` ## Type Hierarchy - BpmnPlugin Current type - Implemented interfaces - [IWorkflowPlugin](https://api.workflowengine.io/core/OptimaJet.Workflow.Plugins/IWorkflowPlugin/) ## Constructors `public BpmnPlugin()` Initializes a new instance of the BpmnPlugin class. `public BpmnPlugin(BpmnConverter? bpmnConverter = null)` Initializes a new instance of the BpmnPlugin class. ### Parameters | Name | Type | Description | | --- | --- | --- | | `bpmnConverter` | `BpmnConverter` | Custom BPMN converter instance. | ## Properties `public string Name { get; }` The plugin name. `public bool Disabled { get; set; }` Flag to disable plugin, if true - plugin is disabled, false otherwise. `public Dictionary? PluginSettings { get; }` The plugin settings. ## Methods `public void OnPluginAdd(WorkflowRuntime runtime, List? schemes = null)` Called when a plugin is added to a runtime. ### Parameters | Name | Type | Description | | --- | --- | --- | | `runtime` | `WorkflowRuntime` | The instance of the runtime. | | `schemes` | `List` | The list of schemes for which the plugin is being added. | `public Task OnRuntimeStartAsync(WorkflowRuntime runtime)` Called when the runtime is started. ### Parameters | Name | Type | Description | | --- | --- | --- | | `runtime` | `WorkflowRuntime` | The instance of the runtime. | ### Returns | Type | Description | | --- | --- | | `Task` | A task that represents the asynchronous operation. | [Next MessageCatchEventBuildStep](https://api.workflowengine.io/bpmn-plugin/OptimaJet.Workflow.BpmnPlugin.BuildSteps/MessageCatchEventBuildStep/)