> ## Documentation Index
> Fetch the complete documentation index at: https://docs.farmtrace.co.za/llms.txt
> Use this file to discover all available pages before exploring further.

# Ask and Parameter

> Collect a value from a client and evaluate a formula with that input.

`Ask` and `Parameter` work together in flows that request client input before finishing a calculation.

## `Ask`

Evaluates a condition that can depend on one or more parameters.

* **Syntax:** `Ask(condition)`
* **Requires:** a boolean condition. Parameter values used by the condition are supplied by the active form or workflow.
* **Returns:** Boolean.
* **Best for:** filters, decisions, and actions that need a value from the client.

```text theme={"theme":{"light":"github-light","dark":"github-dark"}}
Ask(Parameter([Minimum Quantity], true) <= [Quantity])
```

If a referenced parameter has not been supplied yet, `Ask` reports that input is needed without evaluating the rest of the condition. Once all values are available, the condition is evaluated normally.

## `Parameter`

Reads a named or column-backed parameter value.

* **Syntax:** `Parameter([Column])`, `Parameter([Column], required)`, `Parameter([Column], "Label"[, required])`, `Parameter("name"[, "type"[, required]])`
* **Requires:** a column identity or non-blank parameter name. Named parameters may declare `Text`, `Bool`, `Date`, `Time`, `Timestamp`, `Numeric`, `Duration`, `User`, or `Location`. The optional `required` value is boolean.
* **Returns:** the supplied value in its declared type, or `null` when an optional value is absent.
* **Best for:** reusable searches, filters, and workflow actions with client-supplied input.

```text theme={"theme":{"light":"github-light","dark":"github-dark"}}
Parameter([Minimum Quantity], true)
Parameter("radius", "Numeric", true)
```

The shorthand `[?Minimum Quantity]` reads the same parameter as `Parameter([Minimum Quantity])`.

<Warning>
  A required parameter raises a formula error if the form or workflow does not supply it.
</Warning>
