Message backbone — Queue publish & browse

The built-in flowdrome.mq broker (zero config): publish an order event, check queue depth, browse without consuming — the decoupling backbone between producer and consumer flows (pair with the Thread Pool demo).

What’s inside

5 nodes — every type links to its full reference page.

StepNodeType
Order event Inject input.inject
Publish event Message Queue utility.mq
Queue depth Message Queue utility.mq
Browse (no consume) Message Queue utility.mq
Backbone view Console utility.console

Import it

  1. Studio → Import — paste the JSON below (or the URL /docs/templates/message-backbone-queue-publish-browse.json).
  2. Or ask the AI Copilot with the JSON pasted after the phrase:
    import this workflow json into a new workflow named "Message backbone — Queue publish & browse"
  3. Any credentials the nodes need are ${credential.…} references — add them once in Admin → Credentials and the template picks them up. Nothing secret ships in a template.
The workflow document (flowdrome.workflow.v1, 3 node types)
{
  "schemaVersion": "flowdrome.workflow.v1",
  "id": "",
  "name": "Message backbone — Queue publish & browse",
  "version": "0",
  "status": "draft",
  "nodes": [
    {
      "id": "seed",
      "type": "input.inject",
      "label": "Order event",
      "category": "trigger",
      "config": {
        "contentType": "application/json",
        "payload": {
          "orderId": "A-1002",
          "event": "order.paid"
        }
      },
      "position": {
        "x": 0,
        "y": 0
      }
    },
    {
      "id": "pub",
      "type": "utility.mq",
      "label": "Publish event",
      "category": "queue",
      "config": {
        "provider": "flowdrome",
        "credentialId": "",
        "operation": "publish",
        "queue": "nd-orders-mrsqq4ol",
        "messageField": "",
        "maxMessages": 10,
        "timeoutMs": 15000,
        "broker": "",
        "token": "",
        "deleteOnRead": true,
        "host": "localhost",
        "port": 6379,
        "password": "",
        "db": 0,
        "tls": false,
        "rejectUnauthorized": false
      },
      "position": {
        "x": 530,
        "y": 0
      }
    },
    {
      "id": "stats",
      "type": "utility.mq",
      "label": "Queue depth",
      "category": "queue",
      "config": {
        "provider": "flowdrome",
        "credentialId": "",
        "operation": "stats",
        "queue": "nd-orders-mrsqq4ol",
        "messageField": "",
        "maxMessages": 10,
        "timeoutMs": 15000,
        "broker": "",
        "token": "",
        "deleteOnRead": true,
        "host": "localhost",
        "port": 6379,
        "password": "",
        "db": 0,
        "tls": false,
        "rejectUnauthorized": false
      },
      "position": {
        "x": 1060,
        "y": 0
      }
    },
    {
      "id": "peek",
      "type": "utility.mq",
      "label": "Browse (no consume)",
      "category": "queue",
      "config": {
        "provider": "flowdrome",
        "credentialId": "",
        "operation": "browse",
        "queue": "nd-orders-mrsqq4ol",
        "messageField": "",
        "maxMessages": 10,
        "timeoutMs": 15000,
        "broker": "",
        "token": "",
        "deleteOnRead": true,
        "host": "localhost",
        "port": 6379,
        "password": "",
        "db": 0,
        "tls": false,
        "rejectUnauthorized": false
      },
      "position": {
        "x": 1590,
        "y": 0
      }
    },
    {
      "id": "out",
      "type": "utility.console",
      "label": "Backbone view",
      "category": "utility",
      "config": {
        "message": "depth + peek: {{ $json }}"
      },
      "position": {
        "x": 2120,
        "y": 0
      }
    }
  ],
  "edges": [
    {
      "id": "e0",
      "sourceNodeId": "seed",
      "sourcePort": "output",
      "targetNodeId": "pub",
      "targetPort": "input"
    },
    {
      "id": "e1",
      "sourceNodeId": "pub",
      "sourcePort": "output",
      "targetNodeId": "stats",
      "targetPort": "input"
    },
    {
      "id": "e2",
      "sourceNodeId": "stats",
      "sourcePort": "output",
      "targetNodeId": "peek",
      "targetPort": "input"
    },
    {
      "id": "e3",
      "sourceNodeId": "peek",
      "sourcePort": "output",
      "targetNodeId": "out",
      "targetPort": "input"
    }
  ],
  "triggers": [
    {
      "id": "t0",
      "nodeId": "seed"
    }
  ],
  "meta": {
    "snippets": [],
    "source": "template-gallery",
    "description": "The built-in flowdrome.mq broker (zero config): publish an order event, check queue depth, browse without consuming — the decoupling backbone between producer and consumer flows (pair with the Thread Pool demo)."
  }
}

Generated from the verified demo corpus — this exact document seeds and runs on a fresh Flowdrome. Raw JSON: message-backbone-queue-publish-browse.json.