diff --git a/src/modules/Elsa.Workflows.Runtime/Activities/BulkDispatchWorkflows.cs b/src/modules/Elsa.Workflows.Runtime/Activities/BulkDispatchWorkflows.cs
index e6aceaa23..9a08761da 100644
--- a/src/modules/Elsa.Workflows.Runtime/Activities/BulkDispatchWorkflows.cs
+++ b/src/modules/Elsa.Workflows.Runtime/Activities/BulkDispatchWorkflows.cs
@@ -23,7 +23,7 @@ namespace Elsa.Workflows.Runtime.Activities;
///
/// Creates new workflow instances of the specified workflow for each item in the data source and dispatches them for execution.
///
-[Activity("Elsa", "Composition", "Create new workflow instances for each item in the data source and dispatch them for execution.")]
+[Activity("Elsa", "Composition", "Create new workflow instances for each item in the data source and dispatch them for execution.", Kind = ActivityKind.Task)]
[FlowNode("Finished", "Canceled", "Done")]
[UsedImplicitly]
public class BulkDispatchWorkflows : Activity
@@ -98,19 +98,24 @@ public class BulkDispatchWorkflows : Activity
var waitForCompletion = WaitForCompletion.GetOrDefault(context);
var items = GetItemsAsync(context).WithCancellation(context.CancellationToken);
var dispatchedInstancesCount = 0L;
+ var batchSize = 1000;
+ var batch = new List