diff --git a/src/modules/Elsa.Workflows.Management/Features/WorkflowManagementFeature.cs b/src/modules/Elsa.Workflows.Management/Features/WorkflowManagementFeature.cs index 413c6d75e..ffc893007 100644 --- a/src/modules/Elsa.Workflows.Management/Features/WorkflowManagementFeature.cs +++ b/src/modules/Elsa.Workflows.Management/Features/WorkflowManagementFeature.cs @@ -1,3 +1,5 @@ +using System.ComponentModel; +using System.Reflection; using Elsa.Common.Extensions; using Elsa.Common.Features; using Elsa.Expressions.Services; @@ -41,7 +43,12 @@ public class WorkflowManagementFeature : FeatureBase public WorkflowManagementFeature AddActivitiesFrom() { - var activityTypes = typeof(TMarker).Assembly.GetExportedTypes().Where(x => typeof(IActivity).IsAssignableFrom(x)).ToList(); + var activityTypes = typeof(TMarker).Assembly.GetExportedTypes().Where(x => + { + var browsableAttr = x.GetCustomAttribute(); + var isBrowsable = browsableAttr == null || browsableAttr.Browsable; + return typeof(IActivity).IsAssignableFrom(x) && !x.IsAbstract && !x.IsInterface && !x.IsGenericType && isBrowsable; + }).ToList(); return AddActivities(activityTypes); }