MagenticWorkflowBuilder Class

Definition

Fluent builder for creating Magentic One multi-agent orchestration workflows.

Magentic One workflows use an LLM-powered manager to coordinate multiple agents through dynamic task planning, progress tracking, and adaptive replanning.The manager creates plans, selects agents, monitors progress, and determines when to replan or complete.

The builder provides a fluent API for configuring participants, the manager, optional plan review, checkpointing, and event callbacks.

Human-in-the-loop Support: Magentic provides specialized HITL mechanisms via:

  • RequirePlanSignoff - Review and approve/revise plans before execution
  • Tool approval via function_approval_request: Approve individual tool calls on participating agents. Note that tool calls are not supported on the ManagerAgent.
public class MagenticWorkflowBuilder : Microsoft.Agents.AI.Workflows.OrchestrationBuilderBase<Microsoft.Agents.AI.Workflows.MagenticWorkflowBuilder>
type MagenticWorkflowBuilder = class
    inherit OrchestrationBuilderBase<MagenticWorkflowBuilder>
Public Class MagenticWorkflowBuilder
Inherits OrchestrationBuilderBase(Of MagenticWorkflowBuilder)
Inheritance

Constructors

Name Description
MagenticWorkflowBuilder(AIAgent)

Fluent builder for creating Magentic One multi-agent orchestration workflows.

Magentic One workflows use an LLM-powered manager to coordinate multiple agents through dynamic task planning, progress tracking, and adaptive replanning.The manager creates plans, selects agents, monitors progress, and determines when to replan or complete.

The builder provides a fluent API for configuring participants, the manager, optional plan review, checkpointing, and event callbacks.

Human-in-the-loop Support: Magentic provides specialized HITL mechanisms via:

  • RequirePlanSignoff - Review and approve/revise plans before execution
  • Tool approval via function_approval_request: Approve individual tool calls on participating agents. Note that tool calls are not supported on the ManagerAgent.

Properties

Name Description
Description

Optional workflow description; applied to the inner WorkflowBuilder at Build().

(Inherited from OrchestrationBuilderBase<TBuilder>)
Name

Optional workflow name; applied to the inner WorkflowBuilder at Build().

(Inherited from OrchestrationBuilderBase<TBuilder>)
OutputDesignations

Memoized output designations. null means the user has not made any explicit designation, and the orchestration-specific defaults will be applied at Build() time. A non-null (possibly empty) map means the user took control and only these designations will be replayed onto the inner WorkflowBuilder. An entry's value is the set of tags requested for the agent — an empty set encodes a terminal-only designation.

(Inherited from OrchestrationBuilderBase<TBuilder>)

Methods

Name Description
AddParticipants(IEnumerable<AIAgent>)

Adds the specified agents as participants to the group chat workflow.

ApplyMetadata(WorkflowBuilder)

Applies the optional Name and Description to builder. Subclasses should call this from their Build() implementation.

(Inherited from OrchestrationBuilderBase<TBuilder>)
ApplyOutputDesignations(WorkflowBuilder, IReadOnlyDictionary<AIAgent,ExecutorBinding>, String, Action)

Applies the user's memoized output designations to builder, or invokes applyDefaults if the user made no explicit designation.

(Inherited from OrchestrationBuilderBase<TBuilder>)
Build()

Builds and returns a workflow instance.

RequirePlanSignoff(Boolean)

If true, requires human approval of the initial plan or any updates before proceeding. True by default.

WithDescription(String)

Sets the description for the workflow.

(Inherited from OrchestrationBuilderBase<TBuilder>)
WithIntermediateOutputFrom(IEnumerable<AIAgent>)

Designates the given agents as sources of intermediate workflow output. See WithOutputFrom(IEnumerable<AIAgent>) for the defaults-suppression semantics.

(Inherited from OrchestrationBuilderBase<TBuilder>)
WithMaxResets(Nullable<Int32>)

Set the maximum number ofnumber of resets allowed. null means unlimited.

WithMaxRounds(Nullable<Int32>)

Set the maximum number of coordination rounds. null means unlimited.

WithMaxStalls(Int32)

Set the maximum number of consecutive rounds without progress before replan (default 3).

WithName(String)

Sets the human-readable name for the workflow.

(Inherited from OrchestrationBuilderBase<TBuilder>)
WithOutputFrom(IEnumerable<AIAgent>)

Designates the given agents as sources of terminal workflow output. Calling any output-designation method (this or WithIntermediateOutputFrom(IEnumerable<AIAgent>)) suppresses the orchestration-specific defaults: only the user-specified designations reach the inner WorkflowBuilder.

(Inherited from OrchestrationBuilderBase<TBuilder>)

Applies to