# Connectors

Connectors are an integral part of your application logic that handle the translation between Heisenware and the outside world. They allow your flows to communicate natively with third-party systems, industrial protocols, and external databases.

## Connection scenarios

Where a connector executes depends on whether the target system is accessible over the public internet.

### Direct cloud connection

If the system is accessible from the public internet (e.g., a cloud API, a web service, or a public MQTT broker), you can use the connector directly in your application backend. The Heisenware platform manages the connection and execution for you in the cloud.

### Local connection (via Edge Agent)

If the target system is on a private, isolated network with no inbound internet access (such as a PLC on a factory shop floor), it cannot be reached directly from the cloud.

In this scenario, you must use an Edge Agent (available as a native binary or Docker container).

* **Customized Native Agent**: You can compile a native agent directly inside the App Builder. You decide exactly which connectors and credentials you want to include in the package.
* **Deployment**: Once you have built your custom binary, you install it on a target system within the local network.
* **Visibility in library**: Once the agent is online, it automatically appears in your [library](https://docs.heisenware.com/app-builder/build-backend/functions-library). Inside the visual Agent representation, you will find the specific connector classes you selected during the build process.
* **Edge execution**: Using functions from this agent-specific category ensures that the logic is executed directly at the edge, allowing you to integrate local devices seamlessly.

{% hint style="info" %}
For a deep dive into the build process and deployment options, please refer to the [Edge Agent](https://docs.heisenware.com/app-builder/build-backend/functions-library/agents) article.
{% endhint %}

## Available Connectors

The following connectors are available. Most of them in both connection scenarios. Each link leads to a detailed guide on configuring and using that specific integration.

<table><thead><tr><th width="213.8148193359375">Connector</th><th>Description</th></tr></thead><tbody><tr><td><a href="connectors/allen-bradley">Allen-Bradley</a></td><td>Connects directly to Allen-Bradley PLCs for machine data acquisition and control.</td></tr><tr><td><a href="connectors/email">Email</a></td><td>Sends and receives emails via SMTP and IMAP.</td></tr><tr><td><a href="connectors/file-i-o">File I/O</a></td><td>Reads from and writes to files on a connected file system.</td></tr><tr><td><a href="connectors/graphql">GraphQL</a></td><td>Interacts with any GraphQL API for flexible data queries.</td></tr><tr><td><a data-mention href="connectors/heidenhain-dnc">heidenhain-dnc</a></td><td>Connects to Heidenhain DNC systems. Always requires a <a href="#local-connection-via-edge-agent">local connection scenario</a>.</td></tr><tr><td><a data-mention href="connectors/heidenhain-opc-ua">heidenhain-opc-ua</a></td><td>Connects to Heidenhain controllers using the OPC UA protocol.</td></tr><tr><td><a data-mention href="connectors/http-rest">http-rest</a></td><td>Makes requests to standard web APIs and HTTP endpoints.</td></tr><tr><td><a data-mention href="connectors/hydra-mip">hydra-mip</a></td><td>Integrates natively with the Manufacturing Integration Platform (MIP) and the corresponding MES Hydra from MPDV.</td></tr><tr><td><a data-mention href="connectors/kuando-busylight">kuando-busylight</a></td><td>Controls Kuando Busylight status indicators.</td></tr><tr><td><a data-mention href="connectors/label-printer">label-printer</a></td><td>Sends print commands to ZPL-compatible label printers.</td></tr><tr><td><a href="connectors/modbus">Modbus</a></td><td>Communicates with industrial devices using the Modbus protocol.</td></tr><tr><td><a data-mention href="connectors/mqtt-client">mqtt-client</a></td><td>Connects to an MQTT broker to publish and subscribe to topics.</td></tr><tr><td><a data-mention href="connectors/opc-ua-client">opc-ua-client</a></td><td>Connects to an OPC UA server for industrial automation data exchange.</td></tr><tr><td><a data-mention href="connectors/opc-ua-server">opc-ua-server</a></td><td>Deploys an OPC UA server to expose data from your application.</td></tr><tr><td><a data-mention href="connectors/operating-system-os">operating-system-os</a></td><td>Accesses stats and info from the host operating system.</td></tr><tr><td><a data-mention href="storage/relational-database">relational-database</a></td><td>Connects to external SQL databases.</td></tr><tr><td><a data-mention href="connectors/rs-232-485">rs-232-485</a></td><td>Communicates with devices over a serial port.</td></tr><tr><td><a data-mention href="connectors/sap-digital-manufacturing">sap-digital-manufacturing</a></td><td>Integrates natively with SAP Digital Manufacturing.</td></tr><tr><td><a data-mention href="connectors/siemens-s7">siemens-s7</a></td><td>Connects directly to Siemens S7 PLCs for data acquisition and control.</td></tr><tr><td><a data-mention href="storage/timeseries-database">timeseries-database</a></td><td>Connects to an external InfluxDB database.</td></tr><tr><td><a data-mention href="connectors/zebra-rfid-iot">zebra-rfid-iot</a></td><td>Interacts with Zebra RFID readers and devices.</td></tr></tbody></table>

{% hint style="success" %}

#### Internal Storage

Heisenware includes production-ready internal [PostgreSQL](https://docs.heisenware.com/app-builder/build-backend/functions-library/storage/relational-database) and internal [InfluxDB](https://docs.heisenware.com/app-builder/build-backend/functions-library/storage/timeseries-database) databases by default. You only need the connectors above if you are linking to your own *external* database servers.
{% endhint %}
