diff --git a/src/modules/Elsa.Workflows.Management/Activities/WorkflowDefinitionActivity/WorkflowDefinitionActivity.cs b/src/modules/Elsa.Workflows.Management/Activities/WorkflowDefinitionActivity/WorkflowDefinitionActivity.cs index c25a4f322..bb5d8e6c7 100644 --- a/src/modules/Elsa.Workflows.Management/Activities/WorkflowDefinitionActivity/WorkflowDefinitionActivity.cs +++ b/src/modules/Elsa.Workflows.Management/Activities/WorkflowDefinitionActivity/WorkflowDefinitionActivity.cs @@ -135,7 +135,19 @@ public class WorkflowDefinitionActivity : Composite, IInitializable var workflowDefinition = await workflowDefinitionStore.FindAsync(filter, cancellationToken); if (workflowDefinition == null) - throw new Exception($"Workflow definition {WorkflowDefinitionId} not found"); + { + // Find the latest published version. + workflowDefinition = await workflowDefinitionStore.FindAsync(new WorkflowDefinitionFilter { DefinitionId = WorkflowDefinitionId, VersionOptions = VersionOptions.Published }, cancellationToken); + + if (workflowDefinition == null) + { + // Find the latest version. + workflowDefinition = await workflowDefinitionStore.FindAsync(new WorkflowDefinitionFilter { DefinitionId = WorkflowDefinitionId, VersionOptions = VersionOptions.Latest }, cancellationToken); + } + + if (workflowDefinition == null) + throw new Exception($"Could not find workflow definition with ID {WorkflowDefinitionId}."); + } // Construct the root activity stored in the activity definitions. var materializer = serviceProvider.GetRequiredService();