Workflow Expanders

Learn more about workflow Expanders and how they are implemented.

Workflow Expanders allow developers to capture additional data as part of a workflow submission. Expansion data is displayed in the workflow detail dialog, and can be accessed programmatically via Workflow notifications or custom code.

Implementing a Workflow Expander requires a C# class definition and a backoffice extension.

Server-side implementation

The server-side implementation requires a C# class fulfilling the IWorkflowExpander interface:

    public class DocumentWorkflowExpander : IWorkflowExpander
    {
        /// <summary>
        /// Defines the entity type associated with the workflow instance.
        /// This is the only required property.
        /// </summary>
        public string For => "document";

        public bool? Bar { get; set; }
    }

In this example, the Expander will be applied to document workflows. The Bar property has a corresponding property in the client-side implementation. The Expander can define multiple properties, and the example above includes a single property for simplicity.

The Expander does not require registration. Workflow builds a collection on startup, minimising developer work.

Client-side implementation

The client-side implementation requires a backoffice extension of type workflowExpansion:

The workflowExpansion type requires meta.properties, where properties is an array of expander definitions.

In this example, the alias matches a property from the C# class. The propertyEditorUiAlias can be any valid property editor, but ideally would be a basic editor such as a toggle, a text string, or similar.

The default properties in the workflow submit dialog are also registered using this extension-first approach.

Last updated

Was this helpful?