Skip to main content

Data Pipeline Overview

Data pipeline routes enable data flow between your Coreflux broker and external systems. They connect your broker to other MQTT brokers and email services.
Like a postal forwarding service. Mail (messages) sent to your old address (local broker) automatically gets forwarded to your new address (remote broker). You set up the forwarding rules once, and it just works.
The pipeline route types are:
  • MQTT Bridge - Broker-to-broker communication for edge-to-cloud sync and multi-site connectivity
  • Email - Send notifications and alerts triggered by MQTT messages

MQTT Bridge

The MQTT_BRIDGE route enables seamless data transfer between two MQTT brokers. Use it for edge-to-cloud synchronization, multi-site connectivity, or backup systems.

Basic Syntax


Connection Configuration

string
required
IP address or hostname of the broker. Use SELF for the local broker.
integer
required
MQTT port (typically 1883 for unencrypted, 8883 for TLS).
string
required
Unique client identifier for the bridge connection.
string
Authentication username.
string
Authentication password.
boolean
Enable TLS encryption. Default: false.
boolean
Allow untrusted certificates. Default: false.
string
Path to CA certificate file.
string
Path to client certificate for mTLS.
string
Client certificate password.
integer
Number of reconnection attempts. Default: 5.

Mapping Configuration

string
required
Topic pattern to subscribe to on the source broker. Supports wildcards.
string
required
Topic to publish to on the destination broker.
string
required
Data flow direction: out (source→dest), in (dest→source), or both.

Bridge Examples

Send local sensor data to a cloud broker:

Email Route

The EMAIL route sends templated emails based on MQTT messages. Ideal for alerts, notifications, and reports.

Basic Syntax


SMTP Configuration

string
required
SMTP server address (e.g., smtp.gmail.com, smtp.office365.com).
integer
required
SMTP port (typically 587 for TLS, 465 for SSL).
boolean
Enable TLS encryption. Recommended: true.
string
required
Email account to send from.
string
required
Email password or app-specific password.

Event Configuration

string
MQTT topic to trigger email sending.
string
MQTT topic to publish send status.
string
Path to HTML email template file.
string
Email subject line (supports placeholders).
string
Email recipient address (supports placeholders).

Template Placeholders

Email Examples

Send immediate alerts for critical events:
For Gmail, use an App Password instead of your regular password. Enable 2FA on your Google account first.

Troubleshooting

  • Verify IP address and port are correct
  • Check firewall allows outbound connections on the configured port
  • Ensure remote broker is running and accessible
  • Try increasing RECONNECTION_RETRIES
  • Verify certificate paths are correct
  • Ensure certificates are valid and not expired
  • Check certificate chain is complete
  • For testing, use ALLOW_UNTRUSTED_CERTS "true" (not recommended for production)
  • Verify SOURCE_TOPIC and DESTINATION_TOPIC are correct
  • Check DIRECTION setting matches your expected data flow
  • Ensure CLIENT_ID is unique across all connections
  • Check broker logs for subscription errors
  • Verify SMTP credentials are correct
  • For Gmail, ensure you’re using an App Password
  • Check firewall allows outbound SMTP connections
  • Verify recipient email address is valid
  • Double-check USERNAME and PASSWORD
  • Ensure 2FA is enabled if using app passwords
  • Some providers require enabling “less secure apps” access
  • Check for account lockouts due to failed attempts

Best Practices

Always enable TLS when connecting to external brokers:
Each bridge connection needs a unique CLIENT_ID to avoid conflicts:
Use WITH BROKER SELF during development:
Store passwords securely and use app-specific passwords where available.
Configure appropriate retry settings:

Next Steps

Data Storage Routes

Store MQTT data in databases.

REST API Routes

Full REST API client/server configuration.
Last modified on July 3, 2026