# Delegate CustomActivityAsyncAction OptimaJet.Workflow.Core.Plugins.CustomActivityAsyncAction Namespace: [OptimaJet.Workflow.Core.Plugins](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Plugins/) ```csharp public delegate Task CustomActivityAsyncAction(WorkflowRuntime runtime, ProcessInstance processInstance, Dictionary parameters, CancellationToken token) ``` ## Parameters | Name | Type | Description | | --- | --- | --- | | `runtime` | `OptimaJet.Workflow.Core.Runtime.WorkflowRuntime` | | | `processInstance` | `OptimaJet.Workflow.Core.Model.ProcessInstance` | | | `parameters` | `System.Collections.Generic.Dictionary{System.String,System.String}` | | | `token` | `System.Threading.CancellationToken` | | [Previous WorkflowForm](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Persistence/WorkflowForm/) [Next CustomActivityGenerator](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Plugins/CustomActivityGenerator/)