> 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/extensions.md).

# Docker Extensions

Docker Extensions expand platform capabilities using Docker container technology. A Docker Extension is a standard Docker image that the platform loads, executes, and exposes as functions inside the App Builder.

{% hint style="info" %}

#### Docker Extensions versus extension nodes

Docker Extensions add completely new function classes to the platform. Do not confuse them with [extension nodes](/app-builder/build-backend/extension-nodes.md) (modifiers, filters, recorders, and error handlers), which are the small nodes that attach directly to a function output on the canvas.
{% endhint %}

The platform supports two categories of Docker Extensions:

1. **Official extensions**: Pre-built, managed modules maintained by Heisenware.
2. **Custom Extensions**: User-created Docker images containing custom algorithms, drivers, or proprietary logic.

## Official extensions

Pre-built modules add advanced capabilities to the platform without manual coding:

<table><thead><tr><th width="220">Extension</th><th>Description</th></tr></thead><tbody><tr><td><a href="/app-builder/build-backend/functions/extensions/industrial-blockchain.md">Industrial blockchain</a></td><td>Provides immutable data logging and audit trails.</td></tr><tr><td><a href="/app-builder/build-backend/functions/extensions/rag-ai.md">RAG AI</a></td><td>Enables Retrieval-Augmented Generation for context-aware AI assistants.</td></tr><tr><td><a href="/app-builder/build-backend/functions/extensions/process-simulations.md">Process simulations</a></td><td>Simulates utilities consumption, CNC machine telemetry, and silo fill levels.</td></tr><tr><td><a href="/app-builder/build-backend/functions/extensions/ogc-sensorthings-api.md">OGC SensorThings API</a></td><td>Manages IoT sensor data via the standardized OGC SensorThings specification.</td></tr></tbody></table>

Once installed, these extensions run alongside standard platform services, appearing as selectable blocks in the Function Explorer.

<div align="left"><figure><img src="https://3495989837-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FE5Ketpww1s7TauSAJrJ8%2Fuploads%2Fgit-blob-51e82b416b38c2799cd00175894b0cc3081bb0eb%2Fheisenware_extentions_looped.gif?alt=media" alt="" width="485"><figcaption><p>Adding extensions to the App Builder</p></figcaption></figure></div>

## Custom Extensions

Build a custom Docker Extension by wrapping code inside a Code Adapter and loading the image into the platform or running it on your infrastructure. See the [Custom Extensions](/app-builder/build-backend/functions/extensions/custom-extensions.md) guide for deployment steps.


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
