diff --git a/src/modules/Elsa.Workflows.Core/Activities/Composite.cs b/src/modules/Elsa.Workflows.Core/Activities/Composite.cs
index 05925dd3e..f03d43876 100644
--- a/src/modules/Elsa.Workflows.Core/Activities/Composite.cs
+++ b/src/modules/Elsa.Workflows.Core/Activities/Composite.cs
@@ -43,7 +43,7 @@ public abstract class Composite : Activity, IVariableContainer
///
[Port]
[Browsable(false)]
- //[JsonExpandable] // Composite activities' Root is intended to be constructed from code only.
+ [JsonExpandable] // Composite activities' Root is intended to be constructed from code only.
public IActivity Root { get; set; } = new Sequence();
///
diff --git a/src/modules/Elsa.Workflows.Core/Serialization/Converters/JsonExpandableConverter.cs b/src/modules/Elsa.Workflows.Core/Serialization/Converters/JsonExpandableConverter.cs
index 80d6390bd..d10dad370 100644
--- a/src/modules/Elsa.Workflows.Core/Serialization/Converters/JsonExpandableConverter.cs
+++ b/src/modules/Elsa.Workflows.Core/Serialization/Converters/JsonExpandableConverter.cs
@@ -22,13 +22,14 @@ public class JsonExpandableConverter : JsonConverter
{
writer.WriteStartObject();
- var properties = typeof(T).GetProperties(BindingFlags.Public | BindingFlags.Instance);
+ var properties = value?.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance) ?? Array.Empty();
var newOptions = new JsonSerializerOptions(options);
- newOptions.Converters.RemoveWhere(x => x is JsonExpandableConverterFactory);
-
foreach (var property in properties)
{
+ if (property.GetCustomAttribute() != null)
+ continue;
+
if (property.GetCustomAttribute() != null)
continue;
diff --git a/src/modules/Elsa.Workflows.Management/Activities/WorkflowDefinitionActivity/WorkflowDefinitionActivity.cs b/src/modules/Elsa.Workflows.Management/Activities/WorkflowDefinitionActivity/WorkflowDefinitionActivity.cs
index 6292907b3..e926d274b 100644
--- a/src/modules/Elsa.Workflows.Management/Activities/WorkflowDefinitionActivity/WorkflowDefinitionActivity.cs
+++ b/src/modules/Elsa.Workflows.Management/Activities/WorkflowDefinitionActivity/WorkflowDefinitionActivity.cs
@@ -1,6 +1,7 @@
using System.ComponentModel;
using Elsa.Common.Models;
using Elsa.Extensions;
+using Elsa.Workflows.Core.Attributes;
using Elsa.Workflows.Core.Contracts;
using Elsa.Workflows.Core.Models;
using Elsa.Workflows.Core.Services;
@@ -20,6 +21,7 @@ public class WorkflowDefinitionActivity : Activity, IInitializable
///
/// The activity to schedule for execution.
///
+ [JsonExpandable]
public IActivity Root { get; set; } = default!;
///