> For the complete documentation index, see [llms.txt](https://docs.heisenware.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.heisenware.com/app-builder/build-backend/functions/utilities.md).

# Utilities

Utilities provide core data processing, timing, and asset generation features without requiring external systems. Use these classes to manage internal App logic and behavior.

## Available utility classes

<table><thead><tr><th width="220">Class</th><th>Description</th></tr></thead><tbody><tr><td><a href="/pages/cH4jhGd1rn6Aua5ON57y">Barcode generation</a></td><td>Generates 1D and 2D barcodes or QR codes as images or binary data.</td></tr><tr><td><a href="/pages/eVHdT6nZZ4oadlpDUBBr">Counter</a></td><td>Manages numerical values, such as production counts or sequence numbers.</td></tr><tr><td><a href="/pages/GlLOydboxYJGWAlcJE2B">Cron</a></td><td>Schedules automated tasks using standard cron expressions.</td></tr><tr><td><a href="/pages/xkkMu9fT0xvrfY7MH8DL">Data processing</a></td><td>Manipulates data by merging objects, filtering arrays, or mapping value ranges.</td></tr><tr><td><a href="/pages/xmFIQfq0xteO150LaZRn">Data simulation</a></td><td>Generates synthetic data points to test logic before connecting physical hardware.</td></tr><tr><td><a href="/pages/qTjfhcKrJhpcsBkMiCrF">Event simulation</a></td><td>Triggers mock events to verify that reactive flows respond correctly.</td></tr><tr><td><a href="/pages/7MOSJiISKmFuRjtXQMEQ">PDF processing</a></td><td>Splits, merges, or modifies existing PDF documents.</td></tr><tr><td><a href="/pages/K3yuOEOZG5xK9U2HN1qE">PDF templates</a></td><td>Generates PDF documents by merging App data with pre-designed layouts.</td></tr><tr><td><a href="/pages/NXjFC8OfW5Y6ejpPhW7E">Stopwatch</a></td><td>Measures time intervals using a high-resolution timer.</td></tr><tr><td><a href="/pages/BxdJVwFoILLisS5joFkM">Timer</a></td><td>Runs countdowns, maps progress to custom ranges, and introduces delays into flows.</td></tr><tr><td><a href="/pages/mxGhEdfwOMTRDrmbnnJg">Users</a></td><td>Manages users and App access programmatically.</td></tr></tbody></table>

{% hint style="info" %}

#### Testing with simulated data

Use data and event simulation nodes to test logic during the initial development phase. This verifies that dashboards and databases work correctly before connecting to a physical PLC or sensor. Once the logic works, replace the simulation classes with actual [connectors](/app-builder/build-backend/functions/connectors.md).
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.heisenware.com/app-builder/build-backend/functions/utilities.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
