# Defining arguments

> Define input and output arguments in the Data Manager panel and reference them in agent prompts so the agent can use them at runtime.

Arguments pass runtime information into and out of an agent, just as inputs and outputs do for activities or processes. Define input and output arguments in the Data Manager panel, then reference them in the user prompt so the agent can use them at runtime.

## Define input and output arguments

1. In the **Data Manager** panel, open the **Input** or **Output** tab.
2. For each argument, configure the **Name**, **Type**, **Description**, and whether it is **Required**.

To generate arguments from an existing JSON payload, select **Generate from payload**. To switch between the property builder and JSON editor views, select the angle brackets icon.

:::note
Provide a description for every argument. An accurate description helps the agent understand how to use the argument effectively.
:::

**Result:** The argument appears in the Data Manager and is available to select from the `@` picker in the user prompt.

## Reference arguments in the user prompt

The agent sees only arguments that are explicitly referenced in the user prompt.

1. In the user prompt, enter `@` and select the argument by name from the picker.
2. The argument is inserted as `{{argumentName}}` in the stored prompt format and is substituted with its runtime value when the agent runs.

:::note
Argument names are case-sensitive. Selecting the argument from the `@` picker ensures the name matches exactly.
:::

**Result:** The agent receives the argument's value in its context window when triggered.

## Supported argument types

- String
- Number
- Integer
- Boolean
- Object
- Array
