---
title: Receive Your First MQTT Message in Tactigon SHAPE
description: Test MQTT communication without a physical sensor. Use MQTTX Web to send a sample temperature value through the public EMQX broker and display the received payload in Tactigon SHAPE.
url: "https://thetactigon.com/docs/receive-mqtt-message-shape/"
updated: "2026-11-05"
category: MQTT
---

# Receive Your First MQTT Message in Tactigon SHAPE

Receive your first MQTT message in SHAPE without connecting a physical sensor. In this tutorial, you will send a sample temperature value from MQTTX Web and display the received data in Tactigon SHAPE.

You will use a browser-based client and a public broker. No additional client or broker installation is required.

## What you will build

The message follows this path:

**MQTTX Web → public EMQX broker → Tactigon SHAPE**

MQTTX acts as the **publisher**, simulating an external device. SHAPE acts as the **subscriber**, listening for messages on the selected topic.

The broker forwards messages between them. The topic identifies the channel, while the payload contains the data.

## Before you begin

You need:

- Tactigon SHAPE installed and accessible in your browser.
- An internet connection.
- MQTTX Web open in another browser tab.

If SHAPE is not installed, follow **[Install](https://thetactigon.com/docs/install-shape-docker/) SHAPE with Docker** first.

**Use sample data only.** The public broker is shared with other users. Do not send passwords, personal information or confidential data.

## 1. Connect MQTTX Web

Open [MQTTX Web](https://mqttx.app/web-client?utm_source=chatgpt.com) and create a new connection.

Enter these settings:

| Setting | Value |
| --- | --- |
| Name | `SHAPE MQTT test` |
| Protocol | `wss://` |
| Host | `broker.emqx.io` |
| Port | `8084` |
| Path | `/mqtt` |
| Client ID | Keep the generated identifier |

Connect and check that the client reports a connected state.

## 2. Configure your Shape

In Tactigon SHAPE, create a new Shape or open **Edit Shape** for an existing project.

In the **MQTT** section, confirm:

| Setting | Value |
| --- | --- |
| Broker address | `broker.emqx.io` |
| Port | `1883` |

Use the hostname without a protocol prefix. Save the configuration.

SHAPE uses a TCP connection, while MQTTX Web uses secure WebSocket. They connect to the same broker despite using different ports.

![	Create Shape dialog showing MQTT broker broker.emqx.io and port 1883.](https://thetactigon.com/wp-content/uploads/2026/10/Screenshot-2026-10-29-162913.png)
In the MQTT section, keep broker.emqx.io and port 1883 for this tutorial.

## 3. Add the MQTT reception block

Open the visual editor and add the MQTT message reception block.

Set its topic to:

```
shape/input
```

Inside its **do** section, add a **Debug** block connected to the received `payload` variable.

This tells SHAPE to display the incoming message whenever a message arrives on the topic.

Save and run your Shape before sending the test message.

## 4. Publish a sample temperature

Return to MQTTX Web.

Set the destination topic to:

```
shape/input
```

Select JSON as the payload format and enter:

```
{
  "Temperatura": 40
}
```

Click **Publish**.

The value is demonstration data entered manually. It does not represent a measurement from a connected sensor.

## 5. Check the result in SHAPE

Return to the running Shape and inspect its Debug output.

You should see the received payload containing the `Temperatura` field and the value `40`. The console’s formatting may differ from the JSON shown above.

You have now passed a message from an external client, through an MQTT broker, into your visual program.

## If the message does not appear

Check the following:

| Check | What to verify |
| --- | --- |
| Broker | Both applications use `broker.emqx.io` |
| Topic | Both use exactly `shape/input`, including letter case |
| MQTTX connection | The browser client is connected before publishing |
| SHAPE execution | The Shape is running before the message is sent |
| Debug block | It is inside the reception block and connected to `payload` |

The public broker is shared. To reduce interference from other users, you can replace `shape/input` with a distinctive topic name. Use exactly the same replacement in SHAPE and MQTTX.

## Already using MQTTX Desktop?

You can perform the same exercise with MQTTX Desktop.

Connect to `broker.emqx.io` using `mqtt://` and port `1883`. Keep the same topic and payload used in this tutorial.

Installation of MQTTX Desktop and deployment of a local broker are outside this guide’s scope.

## Next step

Continue to **[Send MQTT messages from Tactigon SHAPE](https://thetactigon.com/docs/send-mqtt-messages-shape/)** to reverse the direction: SHAPE publishes a message and MQTTX receives it.
