EMQX Agents
EMQX Agents is a hosted service in EMQX Cloud for building and running event-driven AI agents on top of your MQTT and time-series data. Instead of writing custom automation code, you describe what you want an agent to do in plain language, and the platform builds and deploys it for you.
Agents react to MQTT messages, query time-series data, and publish actions back to your devices, without extra middleware or long-running service loops to manage.
EMQX Agents in EMQX Cloud
EMQX Agents is the automation layer of the EMQX Cloud platform:
| Service | Role | Tag |
|---|---|---|
| EMQX Broker | MQTT message transport | CONNECT |
| EMQX Tables | Time-series data storage | STORE |
| EMQX Fleets | Device registry and state management | MANAGE |
| EMQX Agents | Event-driven AI automation | AUTOMATE |
EMQX Agents is built on top of EMQX Broker and EMQX Tables. An EMQX Agents deployment must be associated with an existing network that has at least one Broker or Tables deployment in the same region.
Core Concepts
Chat
A chat is a conversation with the built-in LLM where you describe what you want an agent to do. The LLM interprets your request, writes the agent instructions and skills, and assembles an agent definition ready to deploy. You can iterate in the chat (refining behavior, adjusting the trigger topic, or testing logic) before committing to a deployment.
Chats are also useful for one-off tasks that do not need to run continuously, such as querying recent device data or summarizing an operational incident.
Agent
An agent is a deployed, long-running process that reacts to events and acts on your infrastructure. Each agent is driven by an agent definition generated from a chat session, and runs in an isolated sandbox. When a triggering MQTT message arrives, the agent starts a run: it loads its instructions and skills, calls the tools it needs, and completes the task.
An agent has a name, a description, a trigger, a set of tools, and a prompt: all generated automatically from your chat. You can view these from the agent detail page.
Connector
A connector is a configured connection to an external service that agents and chats can use. Each connector exposes a typed set of actions the agent can call. EMQX Agents currently supports two connector types:
- EMQX Broker: Subscribe to MQTT topics as triggers, and publish messages as actions.
- EMQX Tables: Query and write time-series data through SQL.
Connectors are created and managed at the deployment level and can be reused across multiple agents and chats.
Run
A run is a single execution of an agent triggered by one inbound event. Each run has a status, a duration, token usage, and a timeline of events showing exactly what the agent did: which tools it called, what responses it received, and what the final outcome was.
Run statuses include:
| Status | Meaning |
|---|---|
success | The agent completed the task. |
failed | The agent encountered an error it could not recover from. |
timeout | The run exceeded the configured time limit. |
cancelled | The run was cancelled before completion. |
Skill
A skill is a reusable capability that the LLM generates during a chat and bundles into the agent definition. Skills encapsulate domain-specific logic (for example, maintaining a rolling average of temperature readings per device) so the agent can invoke them consistently across runs. Skills are generated automatically and do not require manual authoring.
How It Works
Add connectors. Connect your EMQX Broker and EMQX Tables deployments so the agent has access to your data and messaging infrastructure.
Describe your automation in a chat. Open a new chat, select the connectors you want to use, and describe what you want in plain language. The LLM generates a complete agent definition including the trigger, tools, skills, and prompt.
Deploy the agent. Click Deploy Agent in the chat to create a running agent from the generated definition. The agent starts listening on the configured MQTT topic immediately.
Events trigger runs. Each time an MQTT message arrives on the trigger topic, the agent executes a run. It applies its logic, calls tools such as
mqtt.publishortables.sql, and completes the task.Monitor and iterate. Review run history, success rates, token usage, and per-run timelines from the agent detail page. To change the agent's behavior, return to a chat and redeploy.
Common Use Cases
- Anomaly detection: Monitor device telemetry and publish an alert when a rolling average exceeds a threshold.
- Incident summarization: Aggregate recent MQTT events and generate a human-readable summary on demand.
- Conditional actions: Publish a command to a device topic when sensor data meets a defined condition.
- Data enrichment: Query EMQX Tables in response to an MQTT event and publish the result back to the broker.
- Operational notifications: Detect stalled devices or missing heartbeats and notify on-call teams.
Plans and Availability
EMQX Agents is currently in Public Beta with the Starter plan. During the beta period, usage is free.
| Specification | Value |
|---|---|
| Plan | Starter |
| Availability | Public Beta |
| Billing during beta | Free (Trial) |
| Cloud platforms | AWS, Google Cloud |