# Interface ICustomWorkflowActionProvider OptimaJet.Workflow.Plugins.CustomWorkflowProviders.ICustomWorkflowActionProvider Namespace: [OptimaJet.Workflow.Plugins.CustomWorkflowProviders](https://api.workflowengine.io/core/OptimaJet.Workflow.Plugins.CustomWorkflowProviders/) ```csharp public interface ICustomWorkflowActionProvider : IWorkflowActionProvider, IDisableProvider ``` ## Type Hierarchy - ICustomWorkflowActionProvider Current type - Base interfaces - [IDisableProvider](https://api.workflowengine.io/core/OptimaJet.Workflow.Plugins.CustomWorkflowProviders/IDisableProvider/) - [IWorkflowActionProvider](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Runtime/IWorkflowActionProvider/) - Derived interfaces - [ICustomMixProvider](https://api.workflowengine.io/core/OptimaJet.Workflow.Plugins.CustomWorkflowProviders/ICustomMixProvider/) - Implementing types - [ProviderProviders](https://api.workflowengine.io/core/OptimaJet.Workflow.Plugins.CustomWorkflowProviders/ProviderProviders-TEnumProviders/) - [FilePlugin](https://api.workflowengine.io/files-plugin/OptimaJet.Workflow.Plugins/FilePlugin/) - [FTPProvider](https://api.workflowengine.io/files-plugin/OptimaJet.Workflow.Plugins.FilesPlugin.FTPProvider/FTPProvider/) - [WorkflowActionProvider](https://api.workflowengine.io/core/OptimaJet.Workflow.Plugins.CustomWorkflowProviders/WorkflowActionProvider-TEnumActions-TEnumActionsAsync-TEnumConditions-TEnumConditionsAsync/) - [WorkflowActionAndDesignerParameterFormatProvider](https://api.workflowengine.io/core/OptimaJet.Workflow.Plugins.CustomWorkflowProviders/WorkflowActionAndDesignerParameterFormatProvider-TEnumActions-TEnumActionsAsync-TEnumConditions-TEnumConditionsAsync/) - [CustomMixProvider](https://api.workflowengine.io/core/OptimaJet.Workflow.Plugins.CustomWorkflowProviders/CustomMixProvider-EnumActions-EnumActionsAsync-EnumConditions-EnumConditionsAsync/) - [CompressProvider](https://api.workflowengine.io/files-plugin/OptimaJet.Workflow.Plugins.FilesPlugin.CompressProvider/CompressProvider/) - [DirectoryFTPProvider](https://api.workflowengine.io/files-plugin/OptimaJet.Workflow.Plugins.FilesPlugin.SFTPProvider.DirectoryFTPProvider/DirectoryFTPProvider/) - [DirectoryProvider](https://api.workflowengine.io/files-plugin/OptimaJet.Workflow.Plugins.FilesPlugin.DirectoryProvider/DirectoryProvider/) - [FileFTPProvider](https://api.workflowengine.io/files-plugin/OptimaJet.Workflow.Plugins.FilesPlugin.SFTPProvider.FileFTPProvider/FileFTPProvider/) - [FileProvider](https://api.workflowengine.io/files-plugin/OptimaJet.Workflow.Plugins.FilesPlugin.FileProvider/FileProvider/) - [ListFilesProvider](https://api.workflowengine.io/files-plugin/OptimaJet.Workflow.Plugins.FilesPlugin.ListFilesProvider/ListFilesProvider/) - [WorkflowPlugin](https://api.workflowengine.io/core/OptimaJet.Workflow.Plugins.CustomWorkflowProviders/WorkflowPlugin-TEnumActions-TEnumActionsAsync-TEnumConditions-TEnumConditionsAsync/) - [ApprovalPlugin](https://api.workflowengine.io/core/OptimaJet.Workflow.Plugins/ApprovalPlugin/) - [LoopPlugin](https://api.workflowengine.io/core/OptimaJet.Workflow.Plugins/LoopPlugin/) - [WorkflowPluginWithRuleProvider](https://api.workflowengine.io/core/OptimaJet.Workflow.Plugins.CustomWorkflowProviders/WorkflowPluginWithRuleProvider-EnumActions-EnumActionsAsync-EnumConditions-EnumConditionsAsync-EnumRules-EnumRulesAsync/) - [BasicPlugin](https://api.workflowengine.io/core/OptimaJet.Workflow.Plugins/BasicPlugin/) ## Methods `void ExcludeAction_(string actionName, ExcludeRule excludeRule)` ### Parameters | Name | Type | Description | | --- | --- | --- | | `actionName` | `String` | | | `excludeRule` | `ExcludeRule` | | `void ExcludeCondition_(string conditionName, ExcludeRule excludeRule)` ### Parameters | Name | Type | Description | | --- | --- | --- | | `conditionName` | `String` | | | `excludeRule` | `ExcludeRule` | | `void ExcludeActionAsync_(string actionName, ExcludeRule excludeRule)` ### Parameters | Name | Type | Description | | --- | --- | --- | | `actionName` | `String` | | | `excludeRule` | `ExcludeRule` | | `void ExcludeConditionAsync_(string conditionName, ExcludeRule excludeRule)` ### Parameters | Name | Type | Description | | --- | --- | --- | | `conditionName` | `String` | | | `excludeRule` | `ExcludeRule` | | `void ExcludeAction(string actionName, ExcludeRule excludeRule = null)` ### Parameters | Name | Type | Description | | --- | --- | --- | | `actionName` | `String` | | | `excludeRule` | `ExcludeRule` | | `void ExcludeCondition(string conditionName, ExcludeRule excludeRule = null)` ### Parameters | Name | Type | Description | | --- | --- | --- | | `conditionName` | `String` | | | `excludeRule` | `ExcludeRule` | | `bool HasInActions(string actionName)` ### Parameters | Name | Type | Description | | --- | --- | --- | | `actionName` | `String` | | ### Returns | Type | Description | | --- | --- | | `Boolean` | | `bool HasInActionsAsync(string actionAsyncName)` ### Parameters | Name | Type | Description | | --- | --- | --- | | `actionAsyncName` | `String` | | ### Returns | Type | Description | | --- | --- | | `Boolean` | | `bool HasInConditions(string conditionName)` ### Parameters | Name | Type | Description | | --- | --- | --- | | `conditionName` | `String` | | ### Returns | Type | Description | | --- | --- | | `Boolean` | | `bool HasInConditionsAsync(string conditionAsyncName)` ### Parameters | Name | Type | Description | | --- | --- | --- | | `conditionAsyncName` | `String` | | ### Returns | Type | Description | | --- | --- | | `Boolean` | | `bool ValidateActions(out List actions, bool withExceptions = false)` ### Parameters | Name | Type | Description | | --- | --- | --- | | `actions` | `List` | | | `withExceptions` | `Boolean` | | ### Returns | Type | Description | | --- | --- | | `Boolean` | | `bool ValidateActionsAsync(out List actionsAsync, bool withExceptions = false)` ### Parameters | Name | Type | Description | | --- | --- | --- | | `actionsAsync` | `List` | | | `withExceptions` | `Boolean` | | ### Returns | Type | Description | | --- | --- | | `Boolean` | | `bool ValidateConditions(out List conditions, bool withExceptions = false)` ### Parameters | Name | Type | Description | | --- | --- | --- | | `conditions` | `List` | | | `withExceptions` | `Boolean` | | ### Returns | Type | Description | | --- | --- | | `Boolean` | | `bool ValidateConditionsAsync(out List conditionsAsync, bool withExceptions = false)` ### Parameters | Name | Type | Description | | --- | --- | --- | | `conditionsAsync` | `List` | | | `withExceptions` | `Boolean` | | ### Returns | Type | Description | | --- | --- | | `Boolean` | | [Previous ICustomMixProviderExtension](https://api.workflowengine.io/core/OptimaJet.Workflow.Plugins.CustomWorkflowProviders/ICustomMixProviderExtension/) [Next ICustomWorkflowRuleProvider](https://api.workflowengine.io/core/OptimaJet.Workflow.Plugins.CustomWorkflowProviders/ICustomWorkflowRuleProvider/)