# 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="https://3495989837-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FE5Ketpww1s7TauSAJrJ8%2Fuploads%2FjuIojIK12x9cnNRNp8bj%2FIntegrations.png?alt=media&#x26;token=c93d9e40-18f7-4292-96c7-d8064dcdbda5" alt=""><figcaption><p>Integrations panel</p></figcaption></figure>

## Integration Types

Heisenware supports three primary methods for connecting external data:

### Heisenware Edge Agent

Used for securely bridging data from private networks (on-premise servers, local databases) to the cloud.

* **Setup**: [Edge Agents](https://docs.heisenware.com/app-builder/build-backend/functions-library/agents) are created and deployed directly within the App Builder.
* **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](https://docs.heisenware.com/developers/vrpc) 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.&#x20;

For a detailed guide on this process, please refer to the [smart onboarding section](https://docs.heisenware.com/app-builder/build-backend/functions-library).

## Integrate Custom Code via VRPC

To integrate your code, you must implement a [code adapter](https://docs.heisenware.com/account/hosting-and-architecture#custom-code-adapters) around your existing functions. This standardizes the interface so Heisenware can communicate with your code.

* **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](https://docs.heisenware.com/developers/vrpc).
{% endhint %}
