# WorkflowSaveRequest

> Tracon documentation. Tracon is a .NET package family that adds a control
> plane on Microsoft Agent Framework, published as NuGet packages that run
> inside your own ASP.NET Core application.
>
> Page: https://tracon.dev/http-api/schemas/workflowsaverequest/
> Summary: OpenAPI request or response schema for WorkflowSaveRequest, including required fields, defaults, constraints, and linked nested types.

[← All HTTP schemas](/http-api/schemas/)

Request to save a workflow definition.

**Shape:** `object`

| Property | Required | Type | Description | Rules |
|---|---|---|---|---|
| `displayName` | no | `string` | Name shown in the UI. | — |
| `description` | no | `string` | Short description of what the workflow does. | — |
| `kind` | no | [`WorkflowKind`](/http-api/schemas/workflowkind/) | Built-in pattern to use. | — |
| `agentNames` | no | `array` | Names of agents to add to the graph. | — |
| `nodes` | no | `array` | Ordered agent/function node list for a Sequential workflow that mixes function nodes in with agents. Mutually exclusive with AgentNames; leave both empty or set only one. | — |
| `managerAgentName` | no | `string` | Name of the manager agent. Only for WorkflowKind.Magentic. | — |
| `maxIterations` | no | `integer (int32)` | Maximum number of turns. | pattern `^-?(?:0\\|[1-9]\d*)$` |
| `handoffInstructions` | no | `string` | Handoff instructions. Only for WorkflowKind.Handoff. | — |
| `requirePlanApproval` | no | `boolean` | Whether the manager agent's plan must be approved by a human. Only for WorkflowKind.Magentic. | — |
| `parameters` | no | `array` | The run parameters the workflow accepts. Leave empty for a workflow that takes none. Replaced as a whole on every save, like every other field. | — |
| `runTimeout` | no | `string` | The longest time one run of this workflow may take, as `hh:mm:ss`. Leave it out to use the installation's `Tracon:Workflows:RunTimeout`. | pattern `^-?(\d+\.)?\d{2}:\d{2}:\d{2}(\.\d{1,7})?$` |
| `responseMode` | no | [`WorkflowResponseMode`](/http-api/schemas/workflowresponsemode/) | How the workflow treats more than one answer to the same pending human request. Leave it out for WorkflowResponseMode.Branch, where every answer opens a new run; WorkflowResponseMode.SingleAnswer allows one answer per request. | — |
| `requestTimeout` | no | `string` | How long a human request of this workflow may wait for an answer, as `d.hh:mm:ss`, from one minute to 365 days. Leave it out and a request waits without limit. | pattern `^-?(\d+\.)?\d{2}:\d{2}:\d{2}(\.\d{1,7})?$` |
