# Utilities

The Utilities category contains the foundational building blocks for data processing, timing, and asset generation. Unlike [connectors](/app-builder/build-backend/function-explorer/connectors.md) or [storage](/app-builder/build-backend/function-explorer/storage.md), these classes do not require external systems. They provide the core logic and helper tools to manage your application's behavior.

#### Available utility classes

* [**Barcode Generation**](/app-builder/build-backend/function-explorer/utilities/barcode-generation.md): Dynamically generates barcodes and QR codes as images or binary data for labels and UI display.
* [**Counter**](/app-builder/build-backend/function-explorer/utilities/counter.md): Manages incremental values—perfect for tracking production counts or sequence numbers.
* [**Cron**](/app-builder/build-backend/function-explorer/utilities/cron.md): Provides a powerful way to schedule automated tasks (like daily reports or backups) using the standard cron expression format.
* [**Data Processing**](/app-builder/build-backend/function-explorer/utilities/data-processing.md): Essential functions for manipulating data, such as merging objects, filtering arrays, or mapping value ranges.
* [**Data Simulation**](/app-builder/build-backend/function-explorer/utilities/data-simulation.md): Generates synthetic data points to test your logic before connecting to real hardware.
* [**Event Simulation**](/app-builder/build-backend/function-explorer/utilities/event-simulation.md): Triggers mock events to verify that your reactive flows (like alarms or UI changes) respond correctly.
* [**PDF Processing**](/app-builder/build-backend/function-explorer/utilities/pdf-processing.md): Tools to split, merge, or modify existing PDF documents.
* [**PDF Templates**](/app-builder/build-backend/function-explorer/utilities/pdf-templates.md): Generates professional, dynamic PDF documents (like invoices or delivery notes) using HTML/CSS templates.
* [**Stopwatch**](/app-builder/build-backend/function-explorer/utilities/stopwatch.md): A high-resolution timer for accurately measuring intervals.
* [**Timer**](/app-builder/build-backend/function-explorer/utilities/timer.md): Introduces delays or "wait" periods into your flows.
* [**Users**](/app-builder/build-backend/function-explorer/utilities/users.md): A service for programmatically managing users and application access. Use it to list available apps, registered users, and generate dynamic invitation links.

{% hint style="info" %}

#### Pro Tip: Testing with simulated data

When building complex industrial logic, use Data and Event Simulation during the initial build phase. This allows you to verify that your dashboards and databases are working correctly before you ever touch a physical PLC or sensor. Once your logic is proven, simply swap the simulation blocks for your actual [connectors](/app-builder/build-backend/function-explorer/connectors.md).
{% endhint %}


---

# Agent Instructions: 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:

```
GET https://docs.heisenware.com/app-builder/build-backend/function-explorer/utilities.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
