> For the complete documentation index, see [llms.txt](https://docs.zerowork.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.zerowork.io/using-zerowork/using-building-blocks/dynamic-inputs.md).

# Dynamic Inputs

All building block input fields accept dynamic inputs.

#### **References to Variables and Tables**

**Example**

* "Hello {id: 123, name: "Profile name"}, I wanted to reach out because...."

{% content-ref url="/pages/8Z5QCnjLyMAUf8q7w9Tb" %}
[References to Variables and Tables](/using-zerowork/using-building-blocks/dynamic-inputs/references-to-variables-and-tables.md)
{% endcontent-ref %}

#### Code in Inputs

***Code in inputs*** ***is available when using Desktop Agent version 1.1.72 and higher***

Use `${...}` for an expression and `$${...}` for a code block. Expressions insert the result of the expression. Code blocks run full code and must `return` a value to insert.

**Examples**

* **Using `${...}` (expression)**\
  "This is my secret password stored locally: ${await zw\.deviceStorage.get("password")}"
* **Using `$${...}` (code block)**\
  "This is my more elaborate input: $${\
  &#x20;  import axios from "axios"; // any import auto-installs locally\
  &#x20;  const res = await axios.get("<https://mydomain.com/my/api/url");\\>
  &#x20;  return res.data;\
  }."

{% content-ref url="/pages/cQADB6rzTXDMYBnlrrSR" %}
[Code in Inputs](/using-zerowork/using-building-blocks/dynamic-inputs/code-in-inputs.md)
{% endcontent-ref %}

#### **Spintax**

Helps vary content on sites with anti-spam measures that check message or email uniqueness.

**Example**

* "{ Hi | Hey | Howdy }! How { are you | are things going }?"

{% content-ref url="/pages/GbCANNIXV812fhJ3AxYc" %}
[Spintax](/using-zerowork/using-building-blocks/dynamic-inputs/spintax.md)
{% endcontent-ref %}
