> For the complete documentation index, see [llms.txt](https://doc.wearepatchworks.com/product-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.wearepatchworks.com/product-documentation/process-flows/building-process-flows/process-flow-shapes.md).

# Process flow shapes

## Standard shapes

<table data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><p><strong>Assert</strong></p><p>Add an expected payload to compare/validate your processed payload.</p></td><td></td><td></td><td><a href="/files/s3Hwms0s4tjwhaFyf8vD">/files/s3Hwms0s4tjwhaFyf8vD</a></td><td><a href="/pages/UImyCH9s7yBX09kl8KKy">/pages/UImyCH9s7yBX09kl8KKy</a></td></tr><tr><td><p><strong>Branch</strong></p><p>Define multiple branches to be executed sequentially, using the same data.</p></td><td></td><td></td><td><a href="/files/V7iVxLMzKet3BaxbQzwC">/files/V7iVxLMzKet3BaxbQzwC</a></td><td><a href="/pages/SbKROjSHiyQePT2FZUN7">/pages/SbKROjSHiyQePT2FZUN7</a></td></tr><tr><td><p><strong>Connection</strong></p><p>Choose a connector instance and an endpoint to for syncing data.</p></td><td></td><td></td><td><a href="/files/oRpif8HPMnp0hJehI9bR">/files/oRpif8HPMnp0hJehI9bR</a></td><td><a href="/pages/ksVeuo8Bz6ah8fn0PpJx">/pages/ksVeuo8Bz6ah8fn0PpJx</a></td></tr><tr><td><p><strong>Filter</strong></p><p>Set filters to refine a payload before further processing takes place.</p></td><td></td><td></td><td><a href="/files/Ads8cnL3hMeKsCWhhZBn">/files/Ads8cnL3hMeKsCWhhZBn</a></td><td><a href="/pages/W8dQNd0BPMY9SOSg7haK">/pages/W8dQNd0BPMY9SOSg7haK</a></td></tr><tr><td><p><strong>Flow control</strong></p><p>Split one payload into smaller batches to be sent in multiple payloads.</p></td><td></td><td></td><td><a href="/files/yhc5MJkWCK9FsHWSnXqD">/files/yhc5MJkWCK9FsHWSnXqD</a></td><td><a href="/pages/uNI6ZNhC4NnwLaAhP1yN">/pages/uNI6ZNhC4NnwLaAhP1yN</a></td></tr><tr><td><p><strong>Manual payload</strong></p><p>Add a manual payload into your process flow for onward processing.</p></td><td></td><td></td><td><a href="/files/7poquULXRnhb9JWIbD3z">/files/7poquULXRnhb9JWIbD3z</a></td><td><a href="/pages/4NgngMhzA8xLo7xLd51X">/pages/4NgngMhzA8xLo7xLd51X</a></td></tr><tr><td><p><strong>Map</strong></p><p>Use field mappings and transformations to define where and how data is mapped from one connection to another.</p></td><td></td><td></td><td><a href="/files/EtbrA99G7dDNYX8wafzY">/files/EtbrA99G7dDNYX8wafzY</a></td><td><a href="/pages/sDacY10PFWZPapzdTUvr">/pages/sDacY10PFWZPapzdTUvr</a></td></tr><tr><td><p><strong>Notify</strong></p><p>Create custom logs and email notifications using static text and/or dynamic content from a process flow.</p></td><td></td><td></td><td><a href="/files/qocrrWly62h9KsViPmq8">/files/qocrrWly62h9KsViPmq8</a></td><td><a href="/pages/qJOdm6pHm3I8Ovog6Ola">/pages/qJOdm6pHm3I8Ovog6Ola</a></td></tr><tr><td><p><strong>Route</strong></p><p>Define routes for cases where data needs to flow down two or more paths.</p></td><td></td><td></td><td><a href="/files/fLhbfP8oyFqnqiNJga9M">/files/fLhbfP8oyFqnqiNJga9M</a></td><td><a href="/pages/7qvE65C5mdtXjrbB4swe">/pages/7qvE65C5mdtXjrbB4swe</a></td></tr><tr><td><p><strong>Run process flow</strong></p><p>Call one process flow (and pass in data) from another to form a chain.</p></td><td></td><td></td><td><a href="/files/ihcyy14GME14Pccj64yo">/files/ihcyy14GME14Pccj64yo</a></td><td><a href="/pages/1YdpDOKiycGviDZd7krP">/pages/1YdpDOKiycGviDZd7krP</a></td></tr><tr><td><p><strong>Set variables</strong></p><p>Define values for flow and/or metadata variables at any point in a flow.</p></td><td></td><td></td><td><a href="/files/bBzGvIblGBu5oqn8SDGA">/files/bBzGvIblGBu5oqn8SDGA</a></td><td><a href="/pages/T9gT7vCqVNpdJ4mwYRsa">/pages/T9gT7vCqVNpdJ4mwYRsa</a></td></tr><tr><td><p><strong>Split</strong></p><p>Split a payload by a given schema element, for onward processing.</p></td><td></td><td></td><td><a href="/files/YOgEh1iS7yVAwtcOGCFS">/files/YOgEh1iS7yVAwtcOGCFS</a></td><td><a href="/pages/fQWZMN73bKUIontUN4LA">/pages/fQWZMN73bKUIontUN4LA</a></td></tr><tr><td><strong>Track data</strong><br>Track given field values in data received from both connector and non-connector sources.</td><td></td><td></td><td><a href="/files/wdAHM6zoeUdXW9BEtlHz">/files/wdAHM6zoeUdXW9BEtlHz</a></td><td><a href="/pages/Y1n6bZHdxkq19kbUGscv">/pages/Y1n6bZHdxkq19kbUGscv</a></td></tr><tr><td><p><strong>Trigger</strong></p><p>Define when and how frequently the process flow will run.</p></td><td></td><td></td><td><a href="/files/eKFlxWEfVbbFmgZLtEFp">/files/eKFlxWEfVbbFmgZLtEFp</a></td><td><a href="/pages/iaAmboXWSZdWMW8agEKU">/pages/iaAmboXWSZdWMW8agEKU</a></td></tr><tr><td><p><strong>Try/catch</strong></p><p>Handle processing exceptions elegantly with a dedicated path for failed payloads.</p></td><td></td><td></td><td><a href="/files/gjYz5K4jHfLy7BoxqCw6">/files/gjYz5K4jHfLy7BoxqCw6</a></td><td><a href="/pages/YZid3TGyza7ptthhXJRv">/pages/YZid3TGyza7ptthhXJRv</a></td></tr></tbody></table>

## Advanced shapes

<table data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><p><strong>Add to cache</strong></p><p>Add the current data to a cache, which can be retrieved elsewhere in this or other process flows.</p></td><td></td><td></td><td><a href="/files/GFhZGG08dfjCnzIfRte0">/files/GFhZGG08dfjCnzIfRte0</a></td><td><a href="/pages/aGi157tdOz4wMkNdBOWh">/pages/aGi157tdOz4wMkNdBOWh</a></td></tr><tr><td><strong>Callback</strong><br>Return data to your API in a real-time, synchronous call.</td><td></td><td></td><td><a href="/files/1HzN7d7fkKd85VjeF4aE">/files/1HzN7d7fkKd85VjeF4aE</a></td><td><a href="/pages/uVzYgmmLbmQvINQa98BB">/pages/uVzYgmmLbmQvINQa98BB</a></td></tr><tr><td><strong>De-dupe</strong><br>Identify and remove duplicate data from an incoming payload.</td><td></td><td></td><td><a href="/files/E3rGDaD9Zhf3wnRroFGW">/files/E3rGDaD9Zhf3wnRroFGW</a></td><td><a href="/pages/LQRcBGzoCvqv2cEsqUsZ">/pages/LQRcBGzoCvqv2cEsqUsZ</a></td></tr><tr><td><p><strong>Load from cache</strong></p><p>Retrieve data from an existing cache.</p></td><td></td><td></td><td><a href="/files/gpy8n576MDFuhsfSxSYl">/files/gpy8n576MDFuhsfSxSYl</a></td><td><a href="/pages/0Fl03CW16xxoUrQrDhqo">/pages/0Fl03CW16xxoUrQrDhqo</a></td></tr><tr><td><p><strong>Script</strong></p><p>Apply scripts to transform an entire payload for onward processing.</p></td><td></td><td></td><td><a href="/files/uTDKLu6VDnk7J1NBxEgu">/files/uTDKLu6VDnk7J1NBxEgu</a></td><td><a href="/pages/0C93Lh1WJuGoTR9rN6NN">/pages/0C93Lh1WJuGoTR9rN6NN</a></td></tr></tbody></table>
