> 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-manager/integrations-inbound-connections.md).

# Integrations (Inbound Connections)

The Integrations panel provides a centralized overview of all inbound data connections from external systems. Every external system that sends data to Heisenware (whether it is an IoT sensor, a custom Python script, or a Heisenware Agent) is tracked here.

<figure><img src="/files/K7fkGuejTTyOxQEFDQfs" alt=""><figcaption><p>Integrations panel</p></figcaption></figure>

## Integration Types

Heisenware supports three primary methods for connecting external data:

### Heisenware Native or Docker Agent

[Agents](/app-builder/build-backend/function-explorer/agents.md) are used for securely bridging data from private networks (on-premise servers, local databases) to the cloud.

* **Setup**: Native Agents are created and deployed directly within the App Builder. Docker Agents can be downloaded and deployed via Docker.
* **Management**: Once deployed, the Edge Agent entry is automatically generated in the Integrations panel for monitoring. No manual credentials are required.

### MQTT Client

The standard choice for general IoT use cases. Use this for sensors or devices that push data to Heisenware's MQTT broker.

### [VRPC](/developers/vrpc.md) Client

An advanced method used to connect custom code and proprietary libraries. This is the most powerful option for specialized software integrations.

## Connecting MQTT and VRPC Clients

While Agents connect automatically, MQTT and VRPC clients require authorization via one of two methods:

### Method 1: Manual Credential Creation

Use this method when you want to pre-configure your external client with a fixed username and password.

{% stepper %}
{% step %}

#### Create

Click Create in the Integrations panel.
{% endstep %}

{% step %}

#### Select type

Select if you need an MQTT or VRPC client.
{% endstep %}

{% step %}

#### Edit/copy credentials

Copy the automatically created credentials or edit them according to your needs.
{% endstep %}

{% step %}

#### Connect

Paste these credentials into your external client's configuration.
{% endstep %}
{% endstepper %}

### Method 2: Smart Onboarding

The preferred "passwordless" method. The external client initiates a request, which you simply approve within the App Builder.

For a detailed guide on this process, please refer to the [smart onboarding section](/app-builder/build-backend/function-explorer.md).

## Integrate Custom Code via VRPC

To integrate your code, you must write a [Code Adapter](/account/hosting-and-architecture.md#custom-code-adapters) around your existing Functions (which can then be loaded as a Custom Extension).

* **Supported Languages**: Arduino, C++, Node.js, Python, R, and React.
* **Use Cases**: Integrating legacy systems, running complex algorithms, or using specialized software libraries.

{% hint style="info" %}

#### Technical Implementation

For details, examples, and adapter setup, visit our [VRPC developer section](/developers/vrpc.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-manager/integrations-inbound-connections.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.
