# Using Building Blocks

## 1. Dynamic Inputs

All building block input fields support:

* References to variables and tables — "Hello {id: 123, name: "Profile name"}
* Code in inputs — "This is my secret password stored only locally: ${await zw\.deviceStorage.get("password")}" ***(Code in inputs is available in version 1.1.72, not yet live.)***
* Spintax to randomize input — "{ Hi | Hey | Howdy }! How { are you | are things going }?" 

{% content-ref url="using-building-blocks/dynamic-inputs" %}
[dynamic-inputs](https://docs.zerowork.io/using-zerowork/using-building-blocks/dynamic-inputs)
{% endcontent-ref %}

***

## 2. Building Blocks

Below are the documentation pages for all building blocks in ZeroWork.

### Browser

{% content-ref url="using-building-blocks/open-link" %}
[open-link](https://docs.zerowork.io/using-zerowork/using-building-blocks/open-link)
{% endcontent-ref %}

{% content-ref url="using-building-blocks/save-page-url" %}
[save-page-url](https://docs.zerowork.io/using-zerowork/using-building-blocks/save-page-url)
{% endcontent-ref %}

{% content-ref url="using-building-blocks/switch-or-close-tab" %}
[switch-or-close-tab](https://docs.zerowork.io/using-zerowork/using-building-blocks/switch-or-close-tab)
{% endcontent-ref %}

{% content-ref url="using-building-blocks/go-back-or-forward" %}
[go-back-or-forward](https://docs.zerowork.io/using-zerowork/using-building-blocks/go-back-or-forward)
{% endcontent-ref %}

{% content-ref url="using-building-blocks/switch-frame" %}
[switch-frame](https://docs.zerowork.io/using-zerowork/using-building-blocks/switch-frame)
{% endcontent-ref %}

{% content-ref url="using-building-blocks/browser-alert" %}
[browser-alert](https://docs.zerowork.io/using-zerowork/using-building-blocks/browser-alert)
{% endcontent-ref %}

### Web Interaction

{% content-ref url="using-building-blocks/click-web-element" %}
[click-web-element](https://docs.zerowork.io/using-zerowork/using-building-blocks/click-web-element)
{% endcontent-ref %}

{% content-ref url="using-building-blocks/check-web-element" %}
[check-web-element](https://docs.zerowork.io/using-zerowork/using-building-blocks/check-web-element)
{% endcontent-ref %}

{% content-ref url="using-building-blocks/save-web-element" %}
[save-web-element](https://docs.zerowork.io/using-zerowork/using-building-blocks/save-web-element)
{% endcontent-ref %}

{% content-ref url="using-building-blocks/insert-text-or-data" %}
[insert-text-or-data](https://docs.zerowork.io/using-zerowork/using-building-blocks/insert-text-or-data)
{% endcontent-ref %}

{% content-ref url="using-building-blocks/hover-web-element" %}
[hover-web-element](https://docs.zerowork.io/using-zerowork/using-building-blocks/hover-web-element)
{% endcontent-ref %}

{% content-ref url="using-building-blocks/select-web-dropdown" %}
[select-web-dropdown](https://docs.zerowork.io/using-zerowork/using-building-blocks/select-web-dropdown)
{% endcontent-ref %}

{% content-ref url="using-building-blocks/keyboard-action" %}
[keyboard-action](https://docs.zerowork.io/using-zerowork/using-building-blocks/keyboard-action)
{% endcontent-ref %}

### Logic

{% content-ref url="using-building-blocks/start-condition-and-set-condition" %}
[start-condition-and-set-condition](https://docs.zerowork.io/using-zerowork/using-building-blocks/start-condition-and-set-condition)
{% endcontent-ref %}

{% content-ref url="using-building-blocks/start-repeat" %}
[start-repeat](https://docs.zerowork.io/using-zerowork/using-building-blocks/start-repeat)
{% endcontent-ref %}

{% content-ref url="using-building-blocks/after-repeat" %}
[after-repeat](https://docs.zerowork.io/using-zerowork/using-building-blocks/after-repeat)
{% endcontent-ref %}

{% content-ref url="using-building-blocks/break-repeat" %}
[break-repeat](https://docs.zerowork.io/using-zerowork/using-building-blocks/break-repeat)
{% endcontent-ref %}

{% content-ref url="using-building-blocks/try-catch" %}
[try-catch](https://docs.zerowork.io/using-zerowork/using-building-blocks/try-catch)
{% endcontent-ref %}

{% content-ref url="using-building-blocks/raise-error" %}
[raise-error](https://docs.zerowork.io/using-zerowork/using-building-blocks/raise-error)
{% endcontent-ref %}

{% content-ref url="using-building-blocks/abort-run" %}
[abort-run](https://docs.zerowork.io/using-zerowork/using-building-blocks/abort-run)
{% endcontent-ref %}

### Data

{% content-ref url="using-building-blocks/update-data" %}
[update-data](https://docs.zerowork.io/using-zerowork/using-building-blocks/update-data)
{% endcontent-ref %}

{% content-ref url="using-building-blocks/number-operations" %}
[number-operations](https://docs.zerowork.io/using-zerowork/using-building-blocks/number-operations)
{% endcontent-ref %}

{% content-ref url="using-building-blocks/format-data" %}
[format-data](https://docs.zerowork.io/using-zerowork/using-building-blocks/format-data)
{% endcontent-ref %}

{% content-ref url="using-building-blocks/split-data" %}
[split-data](https://docs.zerowork.io/using-zerowork/using-building-blocks/split-data)
{% endcontent-ref %}

{% content-ref url="using-building-blocks/apply-regex" %}
[apply-regex](https://docs.zerowork.io/using-zerowork/using-building-blocks/apply-regex)
{% endcontent-ref %}

{% content-ref url="using-building-blocks/remove-duplicates" %}
[remove-duplicates](https://docs.zerowork.io/using-zerowork/using-building-blocks/remove-duplicates)
{% endcontent-ref %}

{% content-ref url="using-building-blocks/delete-data" %}
[delete-data](https://docs.zerowork.io/using-zerowork/using-building-blocks/delete-data)
{% endcontent-ref %}

### External

{% content-ref url="using-building-blocks/ask-chatgpt" %}
[ask-chatgpt](https://docs.zerowork.io/using-zerowork/using-building-blocks/ask-chatgpt)
{% endcontent-ref %}

{% content-ref url="using-building-blocks/send-notification" %}
[send-notification](https://docs.zerowork.io/using-zerowork/using-building-blocks/send-notification)
{% endcontent-ref %}

{% content-ref url="using-building-blocks/apis-send-http-request" %}
[apis-send-http-request](https://docs.zerowork.io/using-zerowork/using-building-blocks/apis-send-http-request)
{% endcontent-ref %}

{% content-ref url="using-building-blocks/write-javascript" %}
[write-javascript](https://docs.zerowork.io/using-zerowork/using-building-blocks/write-javascript)
{% endcontent-ref %}

### Files

{% content-ref url="using-building-blocks/save-file" %}
[save-file](https://docs.zerowork.io/using-zerowork/using-building-blocks/save-file)
{% endcontent-ref %}

{% content-ref url="using-building-blocks/upload-file" %}
[upload-file](https://docs.zerowork.io/using-zerowork/using-building-blocks/upload-file)
{% endcontent-ref %}

### Tools

{% content-ref url="using-building-blocks/delay" %}
[delay](https://docs.zerowork.io/using-zerowork/using-building-blocks/delay)
{% endcontent-ref %}

{% content-ref url="using-building-blocks/record-date" %}
[record-date](https://docs.zerowork.io/using-zerowork/using-building-blocks/record-date)
{% endcontent-ref %}

{% content-ref url="using-building-blocks/take-screenshot" %}
[take-screenshot](https://docs.zerowork.io/using-zerowork/using-building-blocks/take-screenshot)
{% endcontent-ref %}

{% content-ref url="using-building-blocks/save-from-clipboard" %}
[save-from-clipboard](https://docs.zerowork.io/using-zerowork/using-building-blocks/save-from-clipboard)
{% endcontent-ref %}

{% content-ref url="using-building-blocks/log" %}
[log](https://docs.zerowork.io/using-zerowork/using-building-blocks/log)
{% endcontent-ref %}

***

## 3. Building Block Options

Learn about options like deactivating building blocks, skipping a loop, auto-aligning blocks, and selecting multiple blocks.

{% content-ref url="using-building-blocks/building-block-options" %}
[building-block-options](https://docs.zerowork.io/using-zerowork/using-building-blocks/building-block-options)
{% endcontent-ref %}
