diff --git a/src/modules/Elsa.Workflows.Core/Activities/Break.cs b/src/modules/Elsa.Workflows.Core/Activities/Break.cs
index 54ce2275a..549e3e21e 100644
--- a/src/modules/Elsa.Workflows.Core/Activities/Break.cs
+++ b/src/modules/Elsa.Workflows.Core/Activities/Break.cs
@@ -10,7 +10,7 @@ namespace Elsa.Workflows.Core.Activities;
///
/// Break out of a loop.
///
-[Activity("Elsa", "Control Flow", "Break out of a loop.")]
+[Activity("Elsa", "Looping", "Break out of a loop.")]
public class Break : CodeActivity
{
///
diff --git a/src/modules/Elsa.Workflows.Core/Activities/Flowchart/Activities/Flowchart.cs b/src/modules/Elsa.Workflows.Core/Activities/Flowchart/Activities/Flowchart.cs
index 405066218..07341724d 100644
--- a/src/modules/Elsa.Workflows.Core/Activities/Flowchart/Activities/Flowchart.cs
+++ b/src/modules/Elsa.Workflows.Core/Activities/Flowchart/Activities/Flowchart.cs
@@ -1,3 +1,4 @@
+using System.ComponentModel;
using System.Runtime.CompilerServices;
using Elsa.Extensions;
using Elsa.Workflows.Core.Activities.Flowchart.Contracts;
@@ -14,6 +15,7 @@ namespace Elsa.Workflows.Core.Activities.Flowchart.Activities;
/// A flowchart consists of a collection of activities and connections between them.
///
[Activity("Elsa", "Flow", "A flowchart is a collection of activities and connections between them.")]
+[Browsable(false)]
public class Flowchart : Container
{
internal const string ScopeProperty = "Scope";
diff --git a/src/modules/Elsa.Workflows.Core/Activities/For.cs b/src/modules/Elsa.Workflows.Core/Activities/For.cs
index 4f9098353..c43810e71 100644
--- a/src/modules/Elsa.Workflows.Core/Activities/For.cs
+++ b/src/modules/Elsa.Workflows.Core/Activities/For.cs
@@ -12,7 +12,7 @@ namespace Elsa.Workflows.Core.Activities;
///
/// Iterate over a sequence of steps between a start and an end number.
///
-[Activity("Elsa", "Primitives", "Iterate over a sequence of steps between a start and an end number.")]
+[Activity("Elsa", "Looping", "Iterate over a sequence of steps between a start and an end number.")]
public class For : Activity
{
private const string CurrentStepProperty = "CurrentStep";
diff --git a/src/modules/Elsa.Workflows.Core/Activities/ForEach.cs b/src/modules/Elsa.Workflows.Core/Activities/ForEach.cs
index e7f8a90bd..f1544ad0d 100644
--- a/src/modules/Elsa.Workflows.Core/Activities/ForEach.cs
+++ b/src/modules/Elsa.Workflows.Core/Activities/ForEach.cs
@@ -12,7 +12,7 @@ namespace Elsa.Workflows.Core.Activities;
///
/// Iterate over a set of values.
///
-[Activity("Elsa", "Primitives", "Iterate over a set of values.")]
+[Activity("Elsa", "Looping", "Iterate over a set of values.")]
public class ForEach : Activity
{
private const string CurrentIndexProperty = "CurrentIndex";
diff --git a/src/modules/Elsa.Workflows.Core/Activities/Fork.cs b/src/modules/Elsa.Workflows.Core/Activities/Fork.cs
index 7d112f826..32002cc3e 100644
--- a/src/modules/Elsa.Workflows.Core/Activities/Fork.cs
+++ b/src/modules/Elsa.Workflows.Core/Activities/Fork.cs
@@ -1,4 +1,5 @@
using System.Collections.Immutable;
+using System.ComponentModel;
using System.Runtime.CompilerServices;
using System.Text.Json.Serialization;
using Elsa.Extensions;
@@ -12,6 +13,7 @@ namespace Elsa.Workflows.Core.Activities;
/// Branch execution into multiple branches.
///
[Activity("Elsa", "Control Flow", "Branch execution into multiple branches.")]
+[Browsable(false)]
public class Fork : Activity
{
///
diff --git a/src/modules/Elsa.Workflows.Core/Activities/If.cs b/src/modules/Elsa.Workflows.Core/Activities/If.cs
index 919b3331c..dfb5a8a57 100644
--- a/src/modules/Elsa.Workflows.Core/Activities/If.cs
+++ b/src/modules/Elsa.Workflows.Core/Activities/If.cs
@@ -11,7 +11,7 @@ namespace Elsa.Workflows.Core.Activities;
///
/// Evaluate a Boolean condition to determine which activity to execute next.
///
-[Activity("Elsa", "Control Flow", "Evaluate a Boolean condition to determine which activity to execute next.")]
+[Activity("Elsa", "Branching", "Evaluate a Boolean condition to determine which activity to execute next.")]
public class If : Activity
{
///
diff --git a/src/modules/Elsa.Workflows.Core/Activities/ParallelForEach.cs b/src/modules/Elsa.Workflows.Core/Activities/ParallelForEach.cs
index 63ca074f7..136fc249b 100644
--- a/src/modules/Elsa.Workflows.Core/Activities/ParallelForEach.cs
+++ b/src/modules/Elsa.Workflows.Core/Activities/ParallelForEach.cs
@@ -11,7 +11,7 @@ namespace Elsa.Workflows.Core.Activities;
/// Schedule an activity for each item in parallel.
///
///
-[Activity("Elsa", "Primitives", "Schedule an activity for each item in parallel.")]
+[Activity("Elsa", "Looping", "Schedule an activity for each item in parallel.")]
public class ParallelForEach : CodeActivity
{
private const string CollectedCountProperty = nameof(CollectedCountProperty);
diff --git a/src/modules/Elsa.Workflows.Core/Activities/Switch.cs b/src/modules/Elsa.Workflows.Core/Activities/Switch.cs
index 71764ccf1..72ee0c27b 100644
--- a/src/modules/Elsa.Workflows.Core/Activities/Switch.cs
+++ b/src/modules/Elsa.Workflows.Core/Activities/Switch.cs
@@ -14,7 +14,7 @@ namespace Elsa.Workflows.Core.Activities;
/// The Switch activity is an approximation of the `switch` construct in C#.
/// When a case evaluates to true, the associated activity is then scheduled for execution.
///
-[Activity("Elsa", "Control Flow", "Evaluate a set of case conditions and schedule the activity for a matching case.")]
+[Activity("Elsa", "Branching", "Evaluate a set of case conditions and schedule the activity for a matching case.")]
public class Switch : Activity
{
///
diff --git a/src/modules/Elsa.Workflows.Core/Activities/While.cs b/src/modules/Elsa.Workflows.Core/Activities/While.cs
index 6452da587..39d6870a0 100644
--- a/src/modules/Elsa.Workflows.Core/Activities/While.cs
+++ b/src/modules/Elsa.Workflows.Core/Activities/While.cs
@@ -9,7 +9,7 @@ using Elsa.Workflows.Core.Services;
namespace Elsa.Workflows.Core.Activities;
-[Activity("Elsa", "Control Flow", "Execute an activity while a given condition evaluates to true.")]
+[Activity("Elsa", "Looping", "Execute an activity while a given condition evaluates to true.")]
public class While : Activity
{
///