# WorkflowRequestForm

> 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/api/tracon.workflowrequestform/
> Summary: WorkflowRequestForm: Defines how the UI presents a pending request.

<div class="api-provenance">Namespace Tracon · Assembly <code>Tracon.Abstractions.dll</code></div>

Defines how the UI presents a pending request.

```csharp
[JsonConverter(typeof(JsonStringEnumConverter<WorkflowRequestForm>))]
public enum WorkflowRequestForm
```

## Fields

`Boolean = 2` 

Yes or no response.

`Json = 0` 

Free-form JSON. The UI displays a text box and sends its content unchanged.

`PlanReview = 3` 

Plan approval: approve the plan or return it with revision text.
This is the plan-review flow of the `Magentic` pattern.

`Text = 1` 

Plain-text response.

`ToolApproval = 4` 

A tool call that waits for approval. Answer with [WorkflowRespondRequest.Approved](/api/tracon.workflowrespondrequest/#Tracon_WorkflowRespondRequest_Approved), an
optional reason in [WorkflowRespondRequest.Text](/api/tracon.workflowrespondrequest/#Tracon_WorkflowRespondRequest_Text), and optionally
[WorkflowRespondRequest.Remember](/api/tracon.workflowrespondrequest/#Tracon_WorkflowRespondRequest_Remember). The tool call itself is never sent back: the
answer is built from the request the workflow recorded.

## Remarks

The server derives the form from the port's *response type*. It does
this deliberately so clients do not need to resolve.NET type names in the
wire contract.

Serialized as a JSON string name.
