> For the complete documentation index, see [llms.txt](https://docs.rootcause.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.rootcause.ai/more-details/applications/application-modules/expression.md).

# Expression

> Compute one value from a, b and c with the scalar grammar.

Computes one scalar from `a`, `b` and `c` with the scalar grammar, producing a value of `kind`. Only `a` is required, so a one-operand expression needs no placeholder wiring.

## At a glance

|                          |                              |
| ------------------------ | ---------------------------- |
| Module type              | `Expression`                 |
| Category                 | Primitives · Scalar and json |
| Default tier             | `reactive`                   |
| Runs on                  | `reactive`, `durable`        |
| Starts a flow            | no                           |
| Holds a body             | no                           |
| Keeps state between runs | no                           |
| Available in             | every application type       |

## Parameters

### `kind`

`"string" | "number" | "boolean" | "datetime"` · required · defaults to `"number"`

The type of the result.

### `expression`

`string` · required · defaults to `""`

The scalar expression over `a`, `b` and `c`.

## Inputs

| Port | Kind     | Required | Description                                                                                                                           |
| ---- | -------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| `on` | `event`  | no       | Implicit on every module that does not itself start a flow: wire an event here to make this module the start of what that event runs. |
| `a`  | `scalar` | yes      | The first operand.                                                                                                                    |
| `b`  | `scalar` | no       | The second operand, if the expression uses one.                                                                                       |
| `c`  | `scalar` | no       | The third operand, if the expression uses one.                                                                                        |

## Outputs

| Port    | Kind     | Connects to                        | Description                     |
| ------- | -------- | ---------------------------------- | ------------------------------- |
| `value` | `scalar` | `scalar`, `json`, `text`, `signal` | What `expression` evaluated to. |

***

[← All application modules](/more-details/applications/application-modules.md)
