# Dynamic variables

## Introduction

As you work with shapes in process flows, you'll be used to updating shape settings with required values. Mostly, you'll define static values - for example, selecting or entering a data item to be used as a de-dupe key, entering a key name for an add to cache shape - there are dozens of settings that you might configure when building process flows. &#x20;

However, there may be times where the value of a field can't be defined as a static value because it needs to be resolved dynamically, based on data received from the incoming payload and/or defined for the process flow as a whole. This can be achieved using:

* [Payload variables](https://doc.wearepatchworks.com/product-documentation/process-flows/building-process-flows/dynamic-variables/payload-variables)
* [Metadata variables](https://doc.wearepatchworks.com/product-documentation/process-flows/building-process-flows/dynamic-variables/metadata-variables)
* [Flow variables](https://doc.wearepatchworks.com/product-documentation/process-flows/building-process-flows/dynamic-variables/flow-variables)

## Where can dynamic variables be used?

Lots of our process flow shapes include settings where you can enter a static value, or provide a variable/parameter to be resolved dynamically. Please refer to our [shapes documentation](https://doc.wearepatchworks.com/product-documentation/process-flows/building-process-flows/process-flow-shapes) for specific guidance for each shape.
