# Variables

You use variables as symbolic names for values in flows. A variable name must start with a letter, subsequent characters can also be digits and connecting punctuation characters like underscore. Variable names are case-insensitive, the following variables all refer to the same value; `FOO`, `foo` `Foo`.

A variable is declared when it’s named as an output variable in a block.

Note! Each running fiber has an independent set of values for the user declared variables, which can’t be directly modified by another fiber. Use the blocks in the concurrency category to exchange variable values with other fibers.

## Built-in variables

Automate has the following built-in variables:

#### Infinity

Constant holding the number for positive infinity.

#### NaN

Constant holding a number for (IEEE 754) Not-a-Number.

#### Now

An immutable variable holding a unix timestamp for the current time, i.e. seconds since midnight 1 January 1970 UTC. This variable is idempotent so it doesn’t change during the execution of a block when used in an input argument expression. See also clock function.

#### Pi

Constant holding the number that is closer than any other to pi, the ratio of the circumference of a circle to its diameter.