> For the complete documentation index, see [llms.txt](https://v5docs.keyfax.biz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://v5docs.keyfax.biz/reference/expression-reference.md).

# Expression reference

An expression takes the value of a databox and works something out from it: part of a piece of text, a date a year from now, whether a number falls in a range, a tidy list built from several rows of data.

Expressions read the databox's own value without you naming it. `Upper` means "the value of this databox, in capitals". Where you need that value more than once in a single expression, refer to it as `ds`.

**The whole function set, by kind**

| Kind       | Functions                                                                                                                                                                                                        |
| ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Text       | `CSV` `Entry` `Exists` `FieldMerge` `Index` `IndexOf` `InList` `Item` `Len` `ListTidy` `Lower` `PadLeft` `Replace` `Row` `RowMerge` `SubStr` `Trim` `Upper` `WCase` `Chr` `ChCR` `ChLF` `ChCRLF` `HtmlLineBreak` |
| Numeric    | `Abs` `AsNum` `Between` `Int` `Max` `Min` `Mod` `Number` `Result` `Rnd` `Round` `Trunc`                                                                                                                          |
| Date       | `After` `AsDate` `Before` `BetweenDates` `Date` `DateAdd` `Day` `Month` `Now` `Today` `WeekDay` `Year`                                                                                                           |
| Logical    | `If` `Exists`                                                                                                                                                                                                    |
| Formatting | `Format`                                                                                                                                                                                                         |
| Address    | `AddrFull` `AddrName` `AddrMain` `AddrSalutation`                                                                                                                                                                |
| Other      | `ds` `Transform`                                                                                                                                                                                                 |

Function names are not case sensitive.

**Where expressions run**

An expression belongs to a databox and is evaluated when that databox is read. The same functions are available on every channel, and the results are identical whether the conversation is on the web, in a messaging app or on the telephone.

Dates and numbers are read and written in UK format.
