Skip to content

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:

ServiceRoleTag
EMQX BrokerMQTT message transportCONNECT
EMQX TablesTime-series data storageSTORE
EMQX FleetsDevice registry and state managementMANAGE
EMQX AgentsEvent-driven AI automationAUTOMATE

EMQX Agents works with EMQX Broker and EMQX Tables through connectors. You can create an Agents deployment before or after the other services. During deployment creation, you can optionally select a compatible network used by an EMQX Broker, EMQX Tables, or EMQX Fleets deployment to place the services in the same VPC for private connectivity. Services in different networks communicate through public addresses.

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.

Template

A template is a reusable, built-in starting point for a common agent scenario. A template includes instructions, a trigger, tools, and supporting workspace files. You can use the template as provided or customize its instructions, variables, and connector selections when starting a chat.

Templates are read-only. You cannot create, edit, or delete templates. Customizing a template creates a new chat and workspace without changing the original template.

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, instructions, a trigger, tools, and skills. You can view the deployed configuration and workspace files 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 supports the following 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.
  • EMQX Fleets: Operate EMQX Fleets device registry and related device management capabilities.
  • MCP connectors: Connect to external tools through the Model Context Protocol (MCP), such as Gmail and Slack. MCP connectors only require a connector name during creation. After the connector is created, EMQX Agents automatically starts the authorization flow.

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:

StatusMeaning
QueuedThe run is waiting in the execution queue.
RunningThe run is being executed.
SucceededThe run completed successfully.
DroppedThe run did not start because the execution queue was full.
FailedThe run ended because of an execution error.
TimeoutThe run exceeded its execution time limit.

Skill

A skill is a reusable capability bundled into an agent workspace. 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. The Builder can generate skills during a chat or update skills inherited from a template.

How It Works

  1. Add connectors. Connect your EMQX Broker, EMQX Tables, EMQX Fleets, or MCP services so the agent has access to your data, messaging infrastructure, device registry, and external tools.

  2. Choose an authoring path. Start a chat and describe the automation in plain language, or select a built-in template and optionally customize its instructions.

  3. Review and refine the workspace. The Builder creates or updates the agent instructions, trigger, tools, skills, scripts, and assets. Continue the chat to provide missing variables or connectors and refine the behavior.

  4. Deploy the agent. After the agent definition passes validation, click Deploy Agent in the chat to create a running agent from the generated definition.

  5. 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.publish, tables.sql, or tools exposed by MCP connectors, and completes the task.

  6. 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.
  • External workflow automation: Use MCP connectors to interact with services such as Gmail and Slack.
  • Operational notifications: Detect stalled devices or missing heartbeats and notify on-call teams.

Plans and Availability

EMQX Agents is available to all users as a Public Beta with the Starter plan. You can create an Agents deployment directly from the EMQX Cloud Console. Usage is free during the Public Beta.

SpecificationValue
PlanStarter
AvailabilityPublic Beta
Billing during betaFree
Cloud platformGoogle Cloud

Next Steps