> ## Documentation Index
> Fetch the complete documentation index at: https://docs.condense.io/llms.txt
> Use this file to discover all available pages before exploring further.

# MQTT (Input, Stream)

# Overview

The MQTT Input Connector enables Condense to subscribe to MQTT topics and stream incoming messages into Apache Kafka for real-time processing. It supports secure communication using TCP, TLS, and Mutual TLS (mTLS), along with multiple authentication methods and configurable Quality of Service (QoS) levels.

The connector is ideal for ingesting IoT telemetry, sensor data, industrial equipment events, and other MQTT-based messaging into streaming applications.

***

# Key Features

The MQTT Input Connector provides:

* Subscribe to MQTT topics in real time
* Stream MQTT messages into Kafka topics
* Supports MQTT v3.1.1
* Configurable QoS levels
* TCP, One-Way TLS, and Mutual TLS support
* Username/password and certificate-based authentication
* JSON, String, and Binary payload support
* No-code deployment through the Condense UI

***

# Supported Authentication

| Authentication      | Supported |
| ------------------- | :-------: |
| None                |     ✅     |
| Username & Password |     ✅     |
| Client Certificate  |     ✅     |

***

# SSL/TLS Support

| Mode                     | Description                                   |
| ------------------------ | --------------------------------------------- |
| TCP                      | Plain MQTT communication                      |
| One-Way TLS              | Validates the broker certificate              |
| Two-Way TLS (Mutual TLS) | Validates both broker and client certificates |

***

# Supported Payload Formats

* JSON
* String
* Binary

***

# Typical Use Cases

The MQTT Input Connector is commonly used for:

* IoT sensor ingestion
* Vehicle telemetry
* Industrial automation
* Smart building monitoring
* Fleet management
* Device-to-cloud communication

***

# Prerequisites

Before configuring the connector:

* An accessible MQTT broker
* MQTT topic(s) to subscribe to
* Kafka topic to publish incoming events
* Authentication credentials (if required)
* TLS certificates (if using secure communication)

***

# How to Configure the MQTT Input Connector

## Step 1. Navigate to Connectors

1. Log in to Condense.
2. Navigate to **Connectors**.
3. Click **Create Connector**.
4. Select **MQTT Input Connector**.

> **Add Screenshot:** Connector Selection

***

## Step 2. Configure Broker Details

Provide:

* Connector Name
* Broker URL
* Broker Port
* Client ID
* MQTT Topic

> **Add Screenshot:** Broker Configuration

***

## Step 3. Configure Authentication

Select:

* None
* Username & Password
* Client Certificate

Enter the required credentials.

> **Add Screenshot:** Authentication Configuration

***

## Step 4. Configure SSL/TLS

Choose:

* TCP
* One-Way TLS
* Mutual TLS

Upload certificates where applicable.

> **Add Screenshot:** TLS Configuration

***

## Step 5. Configure Processing

Configure:

* QoS Level
* Kafka Topic
* Payload Format
* Batch Settings (optional)

***

## Step 6. Deploy

1. Review the configuration.
2. Click **Deploy Connector**.
3. Monitor deployment from the **Pipelines** page.

***

# Editing the MQTT Input Connector

1. Navigate to **Pipelines**.
2. Select the deployed MQTT Input Connector.
3. Click **Edit Configurations**.
4. Update the required settings.
5. Click **Deploy Connector**.

***

# Deleting the MQTT Input Connector

1. Navigate to **Pipelines**.
2. Select the connector.
3. Click **Delete Connector**.
4. Confirm deletion.

***

# Best Practices

* Use TLS for production deployments.
* Use Mutual TLS for sensitive environments.
* Configure QoS according to delivery guarantees.
* Use dedicated MQTT topics for different device groups.
* Monitor broker connectivity.

***

# Frequently Asked Questions (FAQs)

### Which MQTT protocol version is supported?

The connector supports MQTT v3.1.1.

***

### Which brokers are supported?

The connector can be used with MQTT brokers such as EMQX, Eclipse Mosquitto, HiveMQ, and other MQTT v3.1.1-compatible brokers.

***

### Which QoS levels are supported?

QoS 0, QoS 1, and QoS 2 are supported based on the broker configuration.

***

### Does the connector support TLS?

Yes. TCP, One-Way TLS, and Mutual TLS are supported.

***

### Can I subscribe to multiple topics?

Yes. Configure the required MQTT topic subscriptions based on your broker configuration.

***

### Which payload formats are supported?

JSON, String, and Binary.
