If you work with more than one broker — a local development instance, a staging cluster, a production site — the HUB remembers each one as a saved connection instead of a single remembered URL. Pick a broker from the list to sign in, probe every saved broker for reachability before you commit, and jump between brokers from the account menu without logging out and re-entering details.
On the login screen, click New Connection in the header (or click a saved card’s edit action to modify an existing one). The connection form opens in the same card.
2
Fill in the broker details
Enter a name, the Protocol (mqtt://, mqtts://, ws://, or wss://), Host, and Port. For a HUB and broker started together with Docker Compose, use Hostbroker rather than localhost — the HUB proxies MQTT from inside Docker.
Connection form for Coreflux local: name, protocol, host, port, and its identities
3
Add an identity
Add at least one identity: a username and password, or an anonymous identity if the broker allows anonymous access. A connection can hold several identities — see Identities and Switch User below.
4
Test, then Save or Connect
Click Test to attempt a throwaway connection with the details you entered, without saving anything. Click Save to store the connection for later, or Connect to save and sign in immediately.
A web HUB started with Docker can open New Connection with the broker already filled in, so a lab or demo does not make every visitor type the address. Set the variables on the HUB container. The HUB reads them when the container starts. The desktop app ignores them.Setting HUB_DEFAULT_CONNECTION_HOST turns the feature on. The other variables are optional. The values pre-fill the New Connection form only. They never create or rewrite a saved connection. The connection is stored when someone clicks Save or Connect, the same as a form they typed.
Variable
What it sets
HUB_DEFAULT_CONNECTION_HOST
Broker host. Setting this turns the feature on
HUB_DEFAULT_CONNECTION_NAME
Name on the form. When omitted, the name is filled in when the connection is saved
HUB_DEFAULT_CONNECTION_PROTOCOL
mqtt, mqtts, ws, or wss. A trailing :// is accepted. When omitted, the form uses ws
HUB_DEFAULT_CONNECTION_PORT
Port. When omitted, the usual port for that protocol
HUB_DEFAULT_CONNECTION_PATH
WebSocket path. When omitted, mqtt
HUB_DEFAULT_CONNECTION_USERNAME
Username on the form. When omitted, the form keeps its usual default identity
HUB_DEFAULT_CONNECTION_PASSWORD
Password for that username. Ignored when no username is set
The Compose example sets host broker, protocol mqtt, and port 1883 for a broker on the same Docker network.
The password is delivered to every browser that loads the HUB. Use this only for shared lab or demo credentials.
Each saved connection appears as a card on the login screen, showing its name, broker URL, and a reachability status the HUB probes in the background. You can see whether that broker answers before you open it.
Status
Meaning
Checking
The HUB is still probing this broker
Online
The broker answered
Sign-in failed
The broker answered, and the last sign-in did not succeed
Offline
The broker did not answer
Favorites — star a connection to pin it; use the All / Starred filter above the list to narrow the view.
Reorder — drag a card to change its position in the list.
Connect — pick an identity from the card’s dropdown and click Connect. With a card focused, the Enter key does the same.
Edit or delete — open a card to change its details, or remove it entirely.
A single saved connection can hold more than one identity — for example a day-to-day account and an admin account on the same broker. Mark one identity as the default for that connection, and switch between the others from the account pill without leaving the app: choose Switch user to reconnect as a different identity on the current broker, or Switch broker to reconnect to a different saved connection (using that connection’s default identity). Both close the current session cleanly and reopen it against the new target. The rest of that menu is covered in Desktop shell.
For mqtts:// and wss:// connections, open the connection’s detail panel to attach TLS material:
A CA certificate, if the broker’s certificate isn’t already trusted by your system.
A client certificate and private key, for brokers that require mutual TLS.
Server certificate verification is on by default for secure connections; only turn it off for trusted development brokers.
This is separate from connector certificate management (trust stores for OPC UA and similar connectors running on the broker) — see the connector’s own Certificate Management section when you configure a Connector.
The HUB detects the broker when you connect. You do not pick a broker type.When the connection is a generic MQTT broker, the dock keeps Data Viewer and UNS Viewer. Connectors, the LoT Editor, LoT Flow, Dashboards, and Cluster stay hidden. The status bar offers Know more about Coreflux, which explains what a Coreflux broker adds and links to the docs, the install guide, and coreflux.org. The account menu does not show LoT Templates or broker administration.While the HUB is still checking, the dock shows those same two apps. Know more about Coreflux appears once the check settles on a generic broker.After that session, the saved card is tagged MQTT. A card tagged Coreflux means the last session reached a Coreflux broker, and the usual apps are available. The tag is absent until a session has settled.
A Coreflux user without system access is still a Coreflux broker. You keep the usual apps. The LoT Editor still needs system access on that broker host, and the status bar can show No SYS. That session is not the generic-broker case, and the card is tagged Coreflux.
Desktop app — passwords and the TLS private key are encrypted at rest using your operating system’s secure storage. They are never written to the plain settings file the HUB otherwise syncs to disk.
Browser app — credentials are kept for the session and are not written to disk by the HUB; use your browser’s own security practices (a trusted device, a locked profile) when saving connections there.
The broker’s TLS certificate (the public part) can still be attached to a saved connection either way, since it isn’t sensitive.
Saved connections are the This machine tab: a host, a port, and a username you store in this HUB. Coreflux Fleet is the other tab. It lists brokers your organization registered at portal.coreflux.org and connects with your account token instead of a saved password. Fleet rows are not added to this list. See Account, fleet, and Cloud mode.
Install the broker and HUB, and make your first connection.
Managing Connectors
Configure connectors, including per-connector TLS trust stores.
Last modified on October 21, 2026
Was this page helpful?
⌘I
{"docsConfig":{"theme":"luma","$schema":"https://mintlify.com/docs.json","name":"Coreflux Documentation","colors":{"primary":"#eb470b","light":"#fc833b","dark":"#c3330b"},"logo":{"light":"https://mintcdn.com/coreflux/7tBTxEEkDVX4IRGH/images/logo/logo_light_docs_glyph.png?fit=max\u0026auto=format\u0026n=7tBTxEEkDVX4IRGH\u0026q=85\u0026s=56a469c914780a6d8c40a4329c0b0879","dark":"https://mintcdn.com/coreflux/7tBTxEEkDVX4IRGH/images/logo/logo_dark_docs_glyph.png?fit=max\u0026auto=format\u0026n=7tBTxEEkDVX4IRGH\u0026q=85\u0026s=b14cc68d9c3e2e98017af536fefc8670"},"favicon":"https://mintcdn.com/coreflux/A0D_IE52Pl2ItO0u/images/favicon.ico?fit=max\u0026auto=format\u0026n=A0D_IE52Pl2ItO0u\u0026q=85\u0026s=e8416ed10b42351291ab50f0dcdb31a8","appearance":{"default":"dark"},"background":{"color":{"light":"#FFFFFF","dark":"#010c10"}},"navbar":{"primary":{"type":"button","label":"Start Free","href":"https://portal.coreflux.org/"}},"footer":{"socials":{"github":"https://github.com/CorefluxCommunity","discord":"https://discord.com/invite/A3pPrptNMm","linkedin":"https://www.linkedin.com/company/coreflux","youtube":"https://www.youtube.com/@Coreflux","website":"https://www.coreflux.org/"}},"fonts":{"family":"Plus Jakarta Sans"},"styling":{"eyebrows":"breadcrumbs","codeblocks":{"theme":{"light":"css-variables","dark":"css-variables"},"languages":{"custom":["/languages/lot.json"]}},"latex":true},"integrations":{"ga4":{"measurementId":"G-1WXMSGSFY6"}},"contextual":{"options":["chatgpt","claude","mcp","cursor","vscode"],"display":"header"},"metadata":{"timestamp":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"coreflux","hasAudioNarration":false,"actualSubdomain":"coreflux","customDomains":["docs.coreflux.org"],"gitSource":{"type":"github","owner":"corefluxcommunity","repo":"documentation","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6adf28df1cea9adffa70bbce","collectionId":"54e175c9-f8df-4f82-8be0-ec9bf6a23513","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6adf28df1cea9adffa70bbce"},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6adf28df1cea9adffa70bbce","clientVersion":"0.0.3990","searchFilterCounts":[{"language":"default","tag":"LoT Language","count":608},{"language":"default","tag":"LoT CONNECTOR","count":307},{"language":"default","tag":"REST API apps","count":268},{"language":"default","tag":"LoT ROUTE","count":146},{"language":"default","tag":"Coreflux MQTT Broker","count":82},{"language":"default","tag":"Developing and Managing Coreflux","count":72},{"language":"default","tag":"Coreflux HUB","count":71},{"language":"default","tag":"Best Practices and Usage Patterns","count":54},{"language":"default","tag":"Industrial Routes","count":52},{"language":"default","tag":"Quick Start","count":50}]},"assistantConfig":{"enableAskAiButton":true,"enableStarterQuestions":true,"enableContextualStarterQuestions":true,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"email":"joao.leiriao@coreflux.org","showHelpButton":true}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"starterQuestions":[{"_id":"695521f38da86e410a42ce70","deploymentId":"69317161c82f64ea7c1871b0","questionText":"What is LoT and how does it work?","status":"active","generatedBy":"manual","createdAt":"2025-12-31T13:15:31.284Z","updatedAt":"2025-12-31T13:15:31.284Z","__v":0},{"_id":"695521ec8da86e410a42ce3c","deploymentId":"69317161c82f64ea7c1871b0","questionText":"How do I install Coreflux locally?","status":"active","generatedBy":"manual","createdAt":"2025-12-31T13:15:24.487Z","updatedAt":"2025-12-31T13:15:24.487Z","__v":0},{"_id":"695521e68da86e410a42ce23","deploymentId":"69317161c82f64ea7c1871b0","questionText":"How do I create my first action?","status":"active","generatedBy":"manual","createdAt":"2025-12-31T13:15:18.088Z","updatedAt":"2025-12-31T13:15:18.088Z","__v":0}],"isAtlas":false,"googleFontsInlined":true},"customCss":[{"filePath":"global.css","href":"/_mintlify/custom/coreflux/0c480ab36c4d46ee/global.css"}],"page":{"pagePath":"hub/connections","slug":"/hub/connections","pageMetadata":{"title":"Connections Manager","description":"Save multiple broker connections, switch between them without logging out, and secure each one with its own TLS certificates","keywords":["connections","connections manager","HUB","login","broker connection","TLS","switch broker","switch user","identities","HUB_DEFAULT_CONNECTION_HOST","default connection","Docker"],"href":"/hub/connections"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Save multiple broker connections, switch between them without logging out, and secure each one with its own TLS certificates\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,em:`em`,hr:`hr`,li:`li`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Card,CardGroup,Frame,Heading,Note,OptimizedImage,Step,Steps,Table,Warning}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(Frame,{caption:`Coreflux HUB login screen with two saved local connections, their broker type and live status, and a New Connection button`,children:[_jsx(OptimizedImage,{className:`mint-block dark:mint-hidden`,src:`https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/connections/hub-login-screen-light.png?fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=19b9b3a1e41004e0baee97fcf8ccdf4b`,alt:`Coreflux HUB login card with Local Connections 2: Coreflux local at mqtt://localhost:18840 tagged Coreflux and Mosquitto local at mqtt://localhost:18830 tagged MQTT, both Online with an anonymous identity and Connect buttons, plus All and Starred filters and New Connection`,\"data-og-width\":`1560`,width:`1560`,\"data-og-height\":`1032`,height:`1032`,\"data-path\":`images/connections/hub-login-screen-light.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/connections/hub-login-screen-light.png?w=280\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=af0cf6d198c63dd6664332adbacaf580 280w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/connections/hub-login-screen-light.png?w=560\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=754bb65954bc9e800da22f6f341b3cd2 560w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/connections/hub-login-screen-light.png?w=840\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=1fb3c2d9ee0768f4f4b9c48493b7e6cb 840w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/connections/hub-login-screen-light.png?w=1100\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=25b05075044b312dbc91a11628b435a8 1100w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/connections/hub-login-screen-light.png?w=1650\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=2dc3c851ad71b800acd7fe808c953ad9 1650w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/connections/hub-login-screen-light.png?w=2500\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=a62e672cf43a701daaba3d549518dd06 2500w`}),_jsx(OptimizedImage,{className:`mint-hidden dark:mint-block`,src:`https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/connections/hub-login-screen-dark.png?fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=3558a60630b57ff015f0cd32b89a283c`,alt:`Coreflux HUB login card with Local Connections 2: Coreflux local at mqtt://localhost:18840 tagged Coreflux and Mosquitto local at mqtt://localhost:18830 tagged MQTT, both Online with an anonymous identity and Connect buttons, plus All and Starred filters and New Connection`,\"data-og-width\":`1560`,width:`1560`,\"data-og-height\":`1032`,height:`1032`,\"data-path\":`images/connections/hub-login-screen-dark.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/connections/hub-login-screen-dark.png?w=280\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=53bd62a3e9a0b679061b1a98a0c0bb7b 280w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/connections/hub-login-screen-dark.png?w=560\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=f9ab26f49186534e07a4f7791e5cf9b3 560w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/connections/hub-login-screen-dark.png?w=840\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=245461c68b332e5b65404184477d2f6a 840w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/connections/hub-login-screen-dark.png?w=1100\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=9211bddfff8dae6919d06e2dc34f4b0f 1100w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/connections/hub-login-screen-dark.png?w=1650\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=3a5f177d4e2323efa7a79d1fc0c266aa 1650w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/connections/hub-login-screen-dark.png?w=2500\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=9749e2193bbbfc25750e6b38cf1cdf0b 2500w`})]}),`\n`,_jsx(Heading,{level:`2`,id:`why-use-the-connections-manager`,children:`Why Use the Connections Manager`}),`\n`,_jsx(_components.p,{children:`If you work with more than one broker — a local development instance, a staging cluster, a production site — the HUB remembers each one as a saved connection instead of a single remembered URL. Pick a broker from the list to sign in, probe every saved broker for reachability before you commit, and jump between brokers from the account menu without logging out and re-entering details.`}),`\n`,_jsx(Heading,{level:`2`,id:`adding-a-connection`,children:`Adding a Connection`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open New Connection`,children:_jsxs(_components.p,{children:[`On the login screen, click `,_jsx(_components.strong,{children:`New Connection`}),` in the header (or click a saved card’s edit action to modify an existing one). The connection form opens in the same card.`]})}),_jsxs(Step,{title:`Fill in the broker details`,children:[_jsxs(_components.p,{children:[`Enter a name, the `,_jsx(_components.strong,{children:`Protocol`}),` (`,_jsx(_components.code,{children:`mqtt://`}),`, `,_jsx(_components.code,{children:`mqtts://`}),`, `,_jsx(_components.code,{children:`ws://`}),`, or `,_jsx(_components.code,{children:`wss://`}),`), `,_jsx(_components.strong,{children:`Host`}),`, and `,_jsx(_components.strong,{children:`Port`}),`. For a HUB and broker started together with Docker Compose, use `,_jsx(_components.strong,{children:`Host`}),` `,_jsx(_components.code,{children:`broker`}),` rather than `,_jsx(_components.code,{children:`localhost`}),` — the HUB proxies MQTT from inside Docker.`]}),_jsxs(Frame,{caption:`Connection form for Coreflux local: name, protocol, host, port, and its identities`,children:[_jsx(OptimizedImage,{className:`mint-block dark:mint-hidden`,src:`https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/connections/hub-login-setup-light.png?fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=8a0bc7ffdfd5adeaff1721a8a0c3acf2`,alt:`Coreflux HUB connection form for Coreflux local with protocol mqtt://, host localhost, port 18840, the preview mqtt://localhost:18840, an Authentication row No username or password marked Default, Add user, Advanced options, and Save, Test, and Connect buttons`,\"data-og-width\":`1560`,width:`1560`,\"data-og-height\":`1032`,height:`1032`,\"data-path\":`images/connections/hub-login-setup-light.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/connections/hub-login-setup-light.png?w=280\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=ee323e73045343c1f754e9aca5212066 280w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/connections/hub-login-setup-light.png?w=560\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=fd8f0c05981510cd21a391d9fb8c7968 560w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/connections/hub-login-setup-light.png?w=840\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=f8cee79c64f32e7d44ad0348cb9f53d0 840w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/connections/hub-login-setup-light.png?w=1100\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=56fa7018177a52da9daf95644912dc92 1100w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/connections/hub-login-setup-light.png?w=1650\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=451b68d2d36feec06c27f8f8bd9a52ed 1650w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/connections/hub-login-setup-light.png?w=2500\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=7cb88f545ada982563f468e47ffc614c 2500w`}),_jsx(OptimizedImage,{className:`mint-hidden dark:mint-block`,src:`https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/connections/hub-login-setup-dark.png?fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=783615967bc93e9b2a6463c4d6b7ce25`,alt:`Coreflux HUB connection form for Coreflux local with protocol mqtt://, host localhost, port 18840, the preview mqtt://localhost:18840, an Authentication row No username or password marked Default, Add user, Advanced options, and Save, Test, and Connect buttons`,\"data-og-width\":`1560`,width:`1560`,\"data-og-height\":`1032`,height:`1032`,\"data-path\":`images/connections/hub-login-setup-dark.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/connections/hub-login-setup-dark.png?w=280\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=4170218e05a03082d6bb8051a2180d60 280w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/connections/hub-login-setup-dark.png?w=560\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=49946305c688e5c7202ce0918ca5f413 560w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/connections/hub-login-setup-dark.png?w=840\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=cc6cf3bcfde9efb3dff47e485eef4d8a 840w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/connections/hub-login-setup-dark.png?w=1100\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=b52a2cf84d432924ea5f6c049ef145d0 1100w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/connections/hub-login-setup-dark.png?w=1650\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=9c759d428cf007dd171914d9e1a41851 1650w, https://mintcdn.com/coreflux/9PekAdlvyyrySLnc/images/connections/hub-login-setup-dark.png?w=2500\u0026fit=max\u0026auto=format\u0026n=9PekAdlvyyrySLnc\u0026q=85\u0026s=095db990089bd827b2e441a89dccfc8e 2500w`})]})]}),_jsx(Step,{title:`Add an identity`,children:_jsxs(_components.p,{children:[`Add at least one identity: a username and password, or an anonymous identity if the broker allows anonymous access. A connection can hold several identities — see `,_jsx(_components.a,{href:`#identities-and-switch-user`,children:`Identities and Switch User`}),` below.`]})}),_jsx(Step,{title:`Test, then Save or Connect`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Test`}),` to attempt a throwaway connection with the details you entered, without saving anything. Click `,_jsx(_components.strong,{children:`Save`}),` to store the connection for later, or `,_jsx(_components.strong,{children:`Connect`}),` to save and sign in immediately.`]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`default-connection-web-/-docker`,children:`Default connection (web / Docker)`}),`\n`,_jsxs(_components.p,{children:[`A web HUB started with Docker can open `,_jsx(_components.strong,{children:`New Connection`}),` with the broker already filled in, so a lab or demo does not make every visitor type the address. Set the variables on the HUB container. The HUB reads them when the container starts. The desktop app ignores them.`]}),`\n`,_jsxs(_components.p,{children:[`Setting `,_jsx(_components.code,{children:`HUB_DEFAULT_CONNECTION_HOST`}),` turns the feature on. The other variables are optional. The values pre-fill the `,_jsx(_components.strong,{children:`New Connection`}),` form only. They never create or rewrite a saved connection. The connection is stored when someone clicks `,_jsx(_components.strong,{children:`Save`}),` or `,_jsx(_components.strong,{children:`Connect`}),`, the same as a form they typed.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Variable`}),_jsx(_components.th,{children:`What it sets`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`HUB_DEFAULT_CONNECTION_HOST`})}),_jsx(_components.td,{children:`Broker host. Setting this turns the feature on`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`HUB_DEFAULT_CONNECTION_NAME`})}),_jsx(_components.td,{children:`Name on the form. When omitted, the name is filled in when the connection is saved`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`HUB_DEFAULT_CONNECTION_PROTOCOL`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`mqtt`}),`, `,_jsx(_components.code,{children:`mqtts`}),`, `,_jsx(_components.code,{children:`ws`}),`, or `,_jsx(_components.code,{children:`wss`}),`. A trailing `,_jsx(_components.code,{children:`://`}),` is accepted. When omitted, the form uses `,_jsx(_components.code,{children:`ws`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`HUB_DEFAULT_CONNECTION_PORT`})}),_jsx(_components.td,{children:`Port. When omitted, the usual port for that protocol`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`HUB_DEFAULT_CONNECTION_PATH`})}),_jsxs(_components.td,{children:[`WebSocket path. When omitted, `,_jsx(_components.code,{children:`mqtt`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`HUB_DEFAULT_CONNECTION_USERNAME`})}),_jsx(_components.td,{children:`Username on the form. When omitted, the form keeps its usual default identity`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`HUB_DEFAULT_CONNECTION_PASSWORD`})}),_jsx(_components.td,{children:`Password for that username. Ignored when no username is set`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.a,{href:`/latest/quick-start/installation`,children:`Compose example`}),` sets host `,_jsx(_components.code,{children:`broker`}),`, protocol `,_jsx(_components.code,{children:`mqtt`}),`, and port `,_jsx(_components.code,{children:`1883`}),` for a broker on the same Docker network.`]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`The password is delivered to every browser that loads the HUB. Use this only for shared lab or demo credentials.`})}),`\n`,_jsx(Heading,{level:`2`,id:`saved-connections`,children:`Saved Connections`}),`\n`,_jsx(_components.p,{children:`Each saved connection appears as a card on the login screen, showing its name, broker URL, and a reachability status the HUB probes in the background. You can see whether that broker answers before you open it.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Status`}),_jsx(_components.th,{children:`Meaning`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Checking`})}),_jsx(_components.td,{children:`The HUB is still probing this broker`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Online`})}),_jsx(_components.td,{children:`The broker answered`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Sign-in failed`})}),_jsx(_components.td,{children:`The broker answered, and the last sign-in did not succeed`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Offline`})}),_jsx(_components.td,{children:`The broker did not answer`})]})]})]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Favorites`}),` — star a connection to pin it; use the `,_jsx(_components.strong,{children:`All / Starred`}),` filter above the list to narrow the view.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Reorder`}),` — drag a card to change its position in the list.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Connect`}),` — pick an identity from the card’s dropdown and click `,_jsx(_components.strong,{children:`Connect`}),`. With a card focused, the Enter key does the same.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Edit or delete`}),` — open a card to change its details, or remove it entirely.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`identities-and-switch-user`,children:`Identities and Switch User`}),`\n`,_jsxs(_components.p,{children:[`A single saved connection can hold more than one identity — for example a day-to-day account and an admin account on the same broker. Mark one identity as the `,_jsx(_components.strong,{children:`default`}),` for that connection, and switch between the others from the account pill without leaving the app: choose `,_jsx(_components.strong,{children:`Switch user`}),` to reconnect as a different identity on the `,_jsx(_components.em,{children:`current`}),` broker, or `,_jsx(_components.strong,{children:`Switch broker`}),` to reconnect to a `,_jsx(_components.em,{children:`different`}),` saved connection (using that connection’s default identity). Both close the current session cleanly and reopen it against the new target. The rest of that menu is covered in `,_jsx(_components.a,{href:`/hub/overview#logo-and-the-account-pill`,children:`Desktop shell`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`securing-a-connection-with-tls`,children:`Securing a Connection with TLS`}),`\n`,_jsxs(_components.p,{children:[`For `,_jsx(_components.code,{children:`mqtts://`}),` and `,_jsx(_components.code,{children:`wss://`}),` connections, open the connection’s detail panel to attach TLS material:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`A `,_jsx(_components.strong,{children:`CA certificate`}),`, if the broker’s certificate isn’t already trusted by your system.`]}),`\n`,_jsxs(_components.li,{children:[`A `,_jsx(_components.strong,{children:`client certificate and private key`}),`, for brokers that require mutual TLS.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`Server certificate verification is on by default for secure connections; only turn it off for trusted development brokers.`}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`This is separate from `,_jsx(_components.strong,{children:`connector`}),` certificate management (trust stores for OPC UA and similar connectors running `,_jsx(_components.em,{children:`on`}),` the broker) — see the connector’s own Certificate Management section when you configure a `,_jsx(_components.a,{href:`/hub/routes/overview`,children:`Connector`}),`.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`when-the-broker-is-not-coreflux`,children:`When the Broker Is Not Coreflux`}),`\n`,_jsx(_components.p,{children:`The HUB detects the broker when you connect. You do not pick a broker type.`}),`\n`,_jsxs(_components.p,{children:[`When the connection is a generic MQTT broker, the dock keeps `,_jsx(_components.strong,{children:`Data Viewer`}),` and `,_jsx(_components.strong,{children:`UNS Viewer`}),`. Connectors, the LoT Editor, LoT Flow, Dashboards, and Cluster stay hidden. The status bar offers `,_jsx(_components.strong,{children:`Know more about Coreflux`}),`, which explains what a Coreflux broker adds and links to the docs, the install guide, and `,_jsx(_components.a,{href:`https://coreflux.org`,children:`coreflux.org`}),`. The account menu does not show `,_jsx(_components.strong,{children:`LoT Templates`}),` or broker administration.`]}),`\n`,_jsxs(_components.p,{children:[`While the HUB is still checking, the dock shows those same two apps. `,_jsx(_components.strong,{children:`Know more about Coreflux`}),` appears once the check settles on a generic broker.`]}),`\n`,_jsxs(_components.p,{children:[`After that session, the saved card is tagged `,_jsx(_components.strong,{children:`MQTT`}),`. A card tagged `,_jsx(_components.strong,{children:`Coreflux`}),` means the last session reached a Coreflux broker, and the usual apps are available. The tag is absent until a session has settled.`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`A Coreflux user without system access is still a Coreflux broker. You keep the usual apps. The LoT Editor still needs system access on that broker host, and the status bar can show `,_jsx(_components.strong,{children:`No SYS`}),`. That session is not the generic-broker case, and the card is tagged `,_jsx(_components.strong,{children:`Coreflux`}),`.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`where-credentials-are-stored`,children:`Where Credentials Are Stored`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Desktop app`}),` — passwords and the TLS private key are encrypted at rest using your operating system’s secure storage. They are never written to the plain settings file the HUB otherwise syncs to disk.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Browser app`}),` — credentials are kept for the session and are not written to disk by the HUB; use your browser’s own security practices (a trusted device, a locked profile) when saving connections there.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`The broker’s TLS `,_jsx(_components.strong,{children:`certificate`}),` (the public part) can still be attached to a saved connection either way, since it isn’t sensitive.`]}),`\n`,_jsx(Heading,{level:`2`,id:`coreflux-account-and-fleet`,children:`Coreflux account and fleet`}),`\n`,_jsxs(_components.p,{children:[`Saved connections are the `,_jsx(_components.strong,{children:`This machine`}),` tab: a host, a port, and a username you store in this HUB. `,_jsx(_components.strong,{children:`Coreflux Fleet`}),` is the other tab. It lists brokers your organization registered at `,_jsx(_components.a,{href:`https://portal.coreflux.org`,children:`portal.coreflux.org`}),` and connects with your account token instead of a saved password. Fleet rows are not added to this list. See `,_jsx(_components.a,{href:`/hub/account-and-fleet`,children:`Account, fleet, and Cloud mode`}),`.`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`next-steps`,children:`Next Steps`}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`Installation`,icon:`download`,href:`/latest/quick-start/installation`,children:_jsx(_components.p,{children:`Install the broker and HUB, and make your first connection.`})}),_jsx(Card,{title:`Managing Connectors`,icon:`plug`,href:`/hub/routes/overview`,children:_jsx(_components.p,{children:`Configure connectors, including per-connector TLS trust stores.`})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":{"theme":{"light":"css-variables","dark":"css-variables"},"languages":{"custom":["/languages/lot.json"]}},"config":{},"pageMetadata":{"title":"Connections Manager","description":"Save multiple broker connections, switch between them without logging out, and secure each one with its own TLS certificates","keywords":["connections","connections manager","HUB","login","broker connection","TLS","switch broker","switch user","identities","HUB_DEFAULT_CONNECTION_HOST","default connection","Docker"],"href":"/hub/connections"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Why Use the Connections Manager","slug":"why-use-the-connections-manager","depth":2,"children":[]},{"title":"Adding a Connection","slug":"adding-a-connection","depth":2,"children":[]},{"title":"Default connection (web / Docker)","slug":"default-connection-web-/-docker","depth":2,"children":[]},{"title":"Saved Connections","slug":"saved-connections","depth":2,"children":[]},{"title":"Identities and Switch User","slug":"identities-and-switch-user","depth":2,"children":[]},{"title":"Securing a Connection with TLS","slug":"securing-a-connection-with-tls","depth":2,"children":[]},{"title":"When the Broker Is Not Coreflux","slug":"when-the-broker-is-not-coreflux","depth":2,"children":[]},{"title":"Where Credentials Are Stored","slug":"where-credentials-are-stored","depth":2,"children":[]},{"title":"Coreflux account and fleet","slug":"coreflux-account-and-fleet","depth":2,"children":[]},{"title":"Next Steps","slug":"next-steps","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/coreflux/a521143ded12b642/scripts/mermaid-flow.js"],"dynamicCss":".mint-block {\n display: block\n}\n.mint-hidden {\n display: none\n}\n.dark\\:mint-block:is(.dark *) {\n display: block\n}\n.dark\\:mint-hidden:is(.dark *) {\n display: none\n}","subdomain":"coreflux","siteName":"Coreflux Documentation","title":"Connections Manager - Coreflux Documentation","contextualStarterQuestions":[{"_id":"6ad8c629aa2a055d5a1841ca","deploymentId":"69317161c82f64ea7c1871b0","questionText":"How do I save multiple connections?","status":"active","generatedBy":"contextual","path":"hub/connections","createdAt":"2026-10-21T14:03:21.394Z","updatedAt":"2026-10-21T14:03:21.394Z","__v":0},{"_id":"6ad8c629aa2a055d5a1841cc","deploymentId":"69317161c82f64ea7c1871b0","questionText":"How do I secure connections with TLS?","status":"active","generatedBy":"contextual","path":"hub/connections","createdAt":"2026-10-21T14:03:21.394Z","updatedAt":"2026-10-21T14:03:21.394Z","__v":0},{"_id":"6ad8c629aa2a055d5a1841cb","deploymentId":"69317161c82f64ea7c1871b0","questionText":"Can I switch between brokers easily?","status":"active","generatedBy":"contextual","path":"hub/connections","createdAt":"2026-10-21T14:03:21.394Z","updatedAt":"2026-10-21T14:03:21.394Z","__v":0}],"navMaps":{"firstHrefInVersion":{"v2.22":{"href":"/hub/connections","matchLevel":0},"v2.14":{"href":"/hub/connections","matchLevel":0},"v2.2":{"href":"/v2.2","matchLevel":3},"v2.1":{"href":"/v2.1","matchLevel":3},"v2.0":{"href":"/v2.0","matchLevel":3},"v1.10":{"href":"/v1.10","matchLevel":3}},"firstHrefInLanguage":{}},"lastModified":"2026-10-21T14:02:09.648Z","gitLastModified":"2026-10-21T14:00:26.000Z","originalFileLocation":"hub/connections.md"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"dark\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Save multiple broker connections, switch between them without logging out, and secure each one with its own TLS certificates\">\u003cmeta data-mint-head name=\"application-name\" content=\"Coreflux Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/coreflux/ZsajMlQvPJiYnJ5s/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/coreflux/ZsajMlQvPJiYnJ5s/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/coreflux/ZsajMlQvPJiYnJ5s/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/coreflux/ZsajMlQvPJiYnJ5s/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/coreflux/ZsajMlQvPJiYnJ5s/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/coreflux/ZsajMlQvPJiYnJ5s/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/coreflux/ZsajMlQvPJiYnJ5s/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/coreflux/ZsajMlQvPJiYnJ5s/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/coreflux/ZsajMlQvPJiYnJ5s/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Connections Manager - Coreflux Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Save multiple broker connections, switch between them without logging out, and secure each one with its own TLS certificates\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Coreflux Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.coreflux.org/hub/connections\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://coreflux.mintlify.app/_mintlify/api/og/v2?division=Coreflux+HUB\u0026amp;title=Connections+Manager\u0026amp;description=Save+multiple+broker+connections%2C+switch+between+them+without+logging+out%2C+and+secure+each+one+with+its+own+TLS+certificates\u0026amp;theme=b63f1147494e66c8a7509625\u0026amp;signature=e2724af35e1cf50ebe663861abf70b3d43661d0bcc41cb1f9abf24dc6155b5d3\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Connections Manager - Coreflux Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Save multiple broker connections, switch between them without logging out, and secure each one with its own TLS certificates\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://coreflux.mintlify.app/_mintlify/api/og/v2?division=Coreflux+HUB\u0026amp;title=Connections+Manager\u0026amp;description=Save+multiple+broker+connections%2C+switch+between+them+without+logging+out%2C+and+secure+each+one+with+its+own+TLS+certificates\u0026amp;theme=b63f1147494e66c8a7509625\u0026amp;signature=e2724af35e1cf50ebe663861abf70b3d43661d0bcc41cb1f9abf24dc6155b5d3\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/coreflux/ZsajMlQvPJiYnJ5s/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Coreflux Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#eb470b\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.coreflux.org/hub/connections\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/hub/connections.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.coreflux.org/#organization\",\"name\":\"Coreflux Documentation\",\"url\":\"https://docs.coreflux.org\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/coreflux/7tBTxEEkDVX4IRGH/images/logo/logo_light_docs_glyph.png?fit=max\u0026auto=format\u0026n=7tBTxEEkDVX4IRGH\u0026q=85\u0026s=56a469c914780a6d8c40a4329c0b0879\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.coreflux.org#website\",\"name\":\"Coreflux Documentation\",\"url\":\"https://docs.coreflux.org\",\"publisher\":{\"@id\":\"https://docs.coreflux.org/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.coreflux.org/hub/connections#webpage\",\"url\":\"https://docs.coreflux.org/hub/connections\",\"name\":\"Connections Manager\",\"description\":\"Save multiple broker connections, switch between them without logging out, and secure each one with its own TLS certificates\",\"dateModified\":\"2026-10-21T14:00:26.000Z\",\"isPartOf\":{\"@id\":\"https://docs.coreflux.org#website\"},\"breadcrumb\":{\"@id\":\"https://docs.coreflux.org/hub/connections#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.coreflux.org/hub/connections#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Coreflux HUB\",\"item\":\"https://docs.coreflux.org/hub/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Connections Manager\",\"item\":\"https://docs.coreflux.org/hub/connections\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.coreflux.org/hub/connections#article\",\"headline\":\"Connections Manager\",\"name\":\"Connections Manager\",\"description\":\"Save multiple broker connections, switch between them without logging out, and secure each one with its own TLS certificates\",\"url\":\"https://docs.coreflux.org/hub/connections\",\"mainEntityOfPage\":{\"@id\":\"https://docs.coreflux.org/hub/connections#webpage\"},\"dateModified\":\"2026-10-21T14:00:26.000Z\",\"keywords\":\"connections, connections manager, HUB, login, broker connection, TLS, switch broker, switch user, identities, HUB_DEFAULT_CONNECTION_HOST, default connection, Docker\",\"publisher\":{\"@id\":\"https://docs.coreflux.org/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.coreflux.org#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Coreflux Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Coreflux Documentation","nav":{"global":null,"versions":[{"version":"v2.22","default":true,"tag":"Latest","groups":[{"group":"Quick Start","pages":[{"title":"Welcome to Coreflux","sidebarTitle":"Welcome","icon":"house","mode":"frame","href":"/latest"},{"title":"Installation","icon":"download","href":"/latest/quick-start/installation"},{"title":"Updating Your Coreflux","icon":"rotate","href":"/latest/updating-coreflux"},{"title":"Getting Started","icon":"rocket","href":"/latest/quick-start/getting-started"},{"title":"Using Coreflux HUB","icon":"globe","href":"/latest/quick-start/using-hub"},{"title":"Using LoT Notebooks","sidebarTitle":"Using LoT Notebooks","icon":"code","href":"/latest/quick-start/vscode"},{"title":"Using AI with Coreflux","icon":"wand-magic-sparkles","href":"/latest/quick-start/using-ai"},{"title":"Build Your First Dashboard","icon":"rocket","href":"/latest/quick-start/building-dashboards"},{"title":"Creating Agents in Coreflux","icon":"robot","href":"/latest/quick-start/creating-agents"},{"title":"Best Practices \u0026 Patterns","icon":"book-open","href":"/latest/quick-start/best-practices"}]},{"group":"Coreflux MQTT Broker","pages":[{"title":"MQTT Broker","href":"/latest/mqtt-broker/overview"},{"title":"MQTT Protocol","href":"/latest/mqtt-broker/protocol"},{"title":"High-Availability Clustering","href":"/latest/mqtt-broker/clustering"},{"group":"Configuring the Broker","pages":[{"title":"Broker Configuration","href":"/latest/mqtt-broker/configuration"},{"title":"OIDC and Bearer Authentication","href":"/latest/mqtt-broker/oidc-authentication"},{"title":"MCP Server","href":"/latest/mqtt-broker/mcp-server"},{"title":"MQTT State Durability","href":"/latest/mqtt-broker/durability"},{"title":"Environment Variables \u0026 Secrets","href":"/latest/mqtt-broker/secrets-and-env"},{"title":"Startup Options \u0026 Deployment","href":"/latest/mqtt-broker/startup-options"},{"title":"Licensing and Enrollment","href":"/latest/mqtt-broker/licensing"}]},{"group":"Operating the Broker","pages":[{"title":"Operational Endpoints","href":"/latest/mqtt-broker/operational-endpoints"},{"title":"System ($SYS) Topics","href":"/latest/mqtt-broker/sys-topics"},{"title":"Broker Commands","href":"/latest/mqtt-broker/commands"}]}]},{"group":"LoT Language","pages":[{"title":"Introduction to LoT","href":"/latest/lot-language/introduction"},{"group":"LoT ACTION","pages":[{"title":"ACTION Overview","href":"/latest/lot-language/actions/overview"},{"title":"ACTION Syntax Reference","href":"/latest/lot-language/actions/syntax"},{"title":"ACTION Triggers","href":"/latest/lot-language/actions/events"},{"title":"Callable ACTIONs","href":"/latest/lot-language/actions/callable-actions"},{"title":"ACTION Operations Reference","href":"/latest/lot-language/actions/operations"},{"title":"ACTION Python Integration","href":"/latest/lot-language/actions/python-integration"}]},{"group":"LoT MODEL","pages":[{"title":"MODEL Overview","href":"/latest/lot-language/models/overview"},{"title":"MODEL Syntax and Components","href":"/latest/lot-language/models/schema-definition"},{"title":"MODEL Publishing","href":"/latest/lot-language/models/publish-model"},{"title":"MODEL Inheritance","href":"/latest/lot-language/models/model-inheritance"},{"title":"MODEL Protobuf","href":"/latest/lot-language/models/protobuf"},{"title":"MODEL Examples","href":"/latest/lot-language/models/examples"}]},{"group":"LoT CONNECTOR","pages":[{"title":"Connectors Overview","href":"/latest/lot-language/routes/overview"},{"title":"Store and Forward Configuration","href":"/latest/lot-language/routes/store-and-forward"},{"group":"System Connectors","pages":[{"title":"System Connectors","href":"/latest/lot-language/routes/system-routes"},{"title":"MQTT Bridge Connector","href":"/latest/lot-language/routes/system/mqtt-bridge"},{"title":"Sparkplug B Connector","href":"/latest/lot-language/routes/system/sparkplug-b"},{"title":"Sparkplug Host Connector","href":"/latest/lot-language/routes/system/sparkplug-host"}]},{"group":"Industrial Connectors","pages":[{"title":"Industrial Connectors Overview","href":"/latest/lot-language/routes/industrial/overview"},{"title":"Modbus TCP Client Connector","href":"/latest/lot-language/routes/industrial/modbus-tcp-client"},{"title":"Modbus Serial Client Connector","href":"/latest/lot-language/routes/industrial/modbus-serial-client"},{"title":"Modbus TCP Server Connector","href":"/latest/lot-language/routes/industrial/modbus-tcp-server"},{"title":"Siemens S7 Connector","href":"/latest/lot-language/routes/industrial/siemens-s7"},{"title":"OPC UA Client Connector","href":"/latest/lot-language/routes/industrial/opcua-client"},{"title":"OPC UA Server Connector","href":"/latest/lot-language/routes/industrial/opcua-server"},{"title":"ADS Connector (Beckhoff)","href":"/latest/lot-language/routes/industrial/ads"},{"title":"Allen-Bradley Connector","href":"/latest/lot-language/routes/industrial/allen-bradley"},{"title":"EtherNet/IP Connector","href":"/latest/lot-language/routes/industrial/ethernetip"},{"title":"FINS Connector (Omron)","href":"/latest/lot-language/routes/industrial/fins"},{"title":"BACnet/IP Connector","href":"/latest/lot-language/routes/industrial/bacnet"}]},{"group":"Data Storage Connectors","pages":[{"title":"Data Storage Connectors Overview","href":"/latest/lot-language/routes/data-storage/overview"},{"title":"PostgreSQL Connector","href":"/latest/lot-language/routes/data-storage/postgresql"},{"title":"MySQL Connector","href":"/latest/lot-language/routes/data-storage/mysql"},{"title":"MariaDB Connector","href":"/latest/lot-language/routes/data-storage/mariadb"},{"title":"SQL Server Connector","href":"/latest/lot-language/routes/data-storage/sqlserver"},{"title":"MongoDB Connector","href":"/latest/lot-language/routes/data-storage/mongodb"},{"title":"OpenSearch Connector","href":"/latest/lot-language/routes/data-storage/opensearch"},{"title":"CrateDB Connector","href":"/latest/lot-language/routes/data-storage/cratedb"},{"title":"Snowflake Connector","href":"/latest/lot-language/routes/data-storage/snowflake"},{"title":"File Storage Connector","href":"/latest/lot-language/routes/data-storage/file-storage"}]},{"group":"Streaming Connectors","pages":[{"title":"Kafka Connector","href":"/latest/lot-language/routes/streaming/kafka"},{"title":"gRPC Connector","href":"/latest/lot-language/routes/streaming/grpc"}]},{"group":"Notification Connectors","pages":[{"title":"Email Connector","href":"/latest/lot-language/routes/notifications/email"}]},{"title":"REST API Connectors","href":"/latest/lot-language/routes/rest-api-routes"},{"group":"REST API apps","pages":[{"title":"REST API Apps","href":"/latest/lot-language/routes/rest-api-apps/index"},{"title":"Acumatica Cloud ERP REST API","href":"/latest/lot-language/routes/rest-api-apps/acumatica-cloud-erp"},{"title":"Airtable","href":"/latest/lot-language/routes/rest-api-apps/airtable"},{"title":"Amazon Bedrock Control","href":"/latest/lot-language/routes/rest-api-apps/amazon-bedrock-control"},{"title":"Amazon Bedrock Runtime","href":"/latest/lot-language/routes/rest-api-apps/amazon-bedrock-runtime"},{"title":"Amazon CloudWatch","href":"/latest/lot-language/routes/rest-api-apps/amazon-cloudwatch"},{"title":"Amazon DynamoDB","href":"/latest/lot-language/routes/rest-api-apps/amazon-dynamodb"},{"title":"Amazon S3","href":"/latest/lot-language/routes/rest-api-apps/amazon-s3"},{"title":"Amazon SNS","href":"/latest/lot-language/routes/rest-api-apps/amazon-sns"},{"title":"Anaplan","href":"/latest/lot-language/routes/rest-api-apps/anaplan"},{"title":"Anthropic","href":"/latest/lot-language/routes/rest-api-apps/anthropic"},{"title":"Apache Superset","href":"/latest/lot-language/routes/rest-api-apps/apache-superset"},{"title":"Apprise API","href":"/latest/lot-language/routes/rest-api-apps/apprise-api"},{"title":"Aras Innovator Api","href":"/latest/lot-language/routes/rest-api-apps/aras-innovator-api"},{"title":"Asana","href":"/latest/lot-language/routes/rest-api-apps/asana"},{"title":"Auth0","href":"/latest/lot-language/routes/rest-api-apps/auth0"},{"title":"Autodesk Platform Services Api","href":"/latest/lot-language/routes/rest-api-apps/autodesk-platform-services-api"},{"title":"AVEVA CONNECT data services","href":"/latest/lot-language/routes/rest-api-apps/aveva-connect-data-services"},{"title":"Aveva Mes Api","href":"/latest/lot-language/routes/rest-api-apps/aveva-mes-api"},{"title":"AVEVA PI Web API","href":"/latest/lot-language/routes/rest-api-apps/aveva-pi-web-api"},{"title":"AWS IoT Core","href":"/latest/lot-language/routes/rest-api-apps/aws-iot-core"},{"title":"AWS IoT SiteWise","href":"/latest/lot-language/routes/rest-api-apps/aws-iot-sitewise"},{"title":"Azure Blob Storage and Data Lake Gen2","href":"/latest/lot-language/routes/rest-api-apps/azure-blob-storage-and-data-lake-gen2"},{"title":"Azure Cosmos DB","href":"/latest/lot-language/routes/rest-api-apps/azure-cosmos-db"},{"title":"Azure Data Explorer and Fabric Eventhouse","href":"/latest/lot-language/routes/rest-api-apps/azure-data-explorer-and-fabric-eventhouse"},{"title":"Azure DevOps","href":"/latest/lot-language/routes/rest-api-apps/azure-devops"},{"title":"Azure Digital Twins","href":"/latest/lot-language/routes/rest-api-apps/azure-digital-twins"},{"title":"Azure Event Hubs","href":"/latest/lot-language/routes/rest-api-apps/azure-event-hubs"},{"title":"Azure IoT Hub","href":"/latest/lot-language/routes/rest-api-apps/azure-iot-hub"},{"title":"Azure Monitor","href":"/latest/lot-language/routes/rest-api-apps/azure-monitor"},{"title":"Azure OpenAI and Azure AI Foundry","href":"/latest/lot-language/routes/rest-api-apps/azure-openai-and-azure-ai-foundry"},{"title":"Azure Service Bus","href":"/latest/lot-language/routes/rest-api-apps/azure-service-bus"},{"title":"balena","href":"/latest/lot-language/routes/rest-api-apps/balena"},{"title":"Bar Tender Actions","href":"/latest/lot-language/routes/rest-api-apps/bar-tender-actions"},{"title":"Bar Tender Cloud","href":"/latest/lot-language/routes/rest-api-apps/bar-tender-cloud"},{"title":"Bar Tender Print Portal","href":"/latest/lot-language/routes/rest-api-apps/bar-tender-print-portal"},{"title":"Blynk Device Api","href":"/latest/lot-language/routes/rest-api-apps/blynk-device-api"},{"title":"Blynk Platform Api","href":"/latest/lot-language/routes/rest-api-apps/blynk-platform-api"},{"title":"BMC Helix ITSM","href":"/latest/lot-language/routes/rest-api-apps/bmc-helix-itsm"},{"title":"Box Upload","href":"/latest/lot-language/routes/rest-api-apps/box-upload"},{"title":"Box","href":"/latest/lot-language/routes/rest-api-apps/box"},{"title":"Canary Read","href":"/latest/lot-language/routes/rest-api-apps/canary-read"},{"title":"Canary Write","href":"/latest/lot-language/routes/rest-api-apps/canary-write"},{"title":"ChirpStack v4","href":"/latest/lot-language/routes/rest-api-apps/chirpstack-v4"},{"title":"Clarify (Searis)","href":"/latest/lot-language/routes/rest-api-apps/clarify"},{"title":"ClickHouse","href":"/latest/lot-language/routes/rest-api-apps/clickhouse"},{"title":"Cloud Firestore","href":"/latest/lot-language/routes/rest-api-apps/cloud-firestore"},{"title":"Coupa","href":"/latest/lot-language/routes/rest-api-apps/coupa"},{"title":"Critical Manufacturing MES","href":"/latest/lot-language/routes/rest-api-apps/critical-manufacturing-mes"},{"title":"Cumulocity","href":"/latest/lot-language/routes/rest-api-apps/cumulocity"},{"title":"Databricks","href":"/latest/lot-language/routes/rest-api-apps/databricks"},{"title":"Datacake","href":"/latest/lot-language/routes/rest-api-apps/datacake"},{"title":"Datadog","href":"/latest/lot-language/routes/rest-api-apps/datadog"},{"title":"DELMIA Apriso (Dassault Systèmes)","href":"/latest/lot-language/routes/rest-api-apps/delmia-apriso"},{"title":"Dhl Api","href":"/latest/lot-language/routes/rest-api-apps/dhl-api"},{"title":"Dhl Location Finder","href":"/latest/lot-language/routes/rest-api-apps/dhl-location-finder"},{"title":"Dhl Parcel De","href":"/latest/lot-language/routes/rest-api-apps/dhl-parcel-de"},{"title":"Discord","href":"/latest/lot-language/routes/rest-api-apps/discord"},{"title":"Docker Hub","href":"/latest/lot-language/routes/rest-api-apps/docker-hub"},{"title":"Docu Sign ESignature","href":"/latest/lot-language/routes/rest-api-apps/docu-sign-esignature"},{"title":"Docu Sign OAuth","href":"/latest/lot-language/routes/rest-api-apps/docu-sign-oauth"},{"title":"Domo","href":"/latest/lot-language/routes/rest-api-apps/domo"},{"title":"Dropbox Content","href":"/latest/lot-language/routes/rest-api-apps/dropbox-content"},{"title":"Dropbox Notify","href":"/latest/lot-language/routes/rest-api-apps/dropbox-notify"},{"title":"Dropbox","href":"/latest/lot-language/routes/rest-api-apps/dropbox"},{"title":"Dynamics 365 Field Service and Connected Field Service","href":"/latest/lot-language/routes/rest-api-apps/dynamics-365-field-service-and-connected-field-service"},{"title":"Dynamics 365 Business Central","href":"/latest/lot-language/routes/rest-api-apps/dynamics365-bc"},{"title":"Microsoft Dynamics 365 Finance and Supply Chain","href":"/latest/lot-language/routes/rest-api-apps/dynamics365-fscm"},{"title":"Dynamics 365 Dataverse Web API","href":"/latest/lot-language/routes/rest-api-apps/dynamics365"},{"title":"Dynatrace","href":"/latest/lot-language/routes/rest-api-apps/dynatrace"},{"title":"EasyPost","href":"/latest/lot-language/routes/rest-api-apps/easypost"},{"title":"Eclipse Ditto (digital twins)","href":"/latest/lot-language/routes/rest-api-apps/eclipse-ditto"},{"title":"Eclipse hawkBit (OTA)","href":"/latest/lot-language/routes/rest-api-apps/eclipse-hawkbit"},{"title":"Elasticsearch and Elastic Cloud","href":"/latest/lot-language/routes/rest-api-apps/elasticsearch-and-elastic-cloud"},{"title":"Electricity Maps","href":"/latest/lot-language/routes/rest-api-apps/electricity-maps"},{"title":"Enphase Enlighten API v4","href":"/latest/lot-language/routes/rest-api-apps/enphase-enlighten-api-v4"},{"title":"Enphase","href":"/latest/lot-language/routes/rest-api-apps/enphase"},{"title":"ENTSO-E Transparency Platform REST API","href":"/latest/lot-language/routes/rest-api-apps/entso-e-transparency-platform"},{"title":"Epicor Kinetic REST API","href":"/latest/lot-language/routes/rest-api-apps/epicor-kinetic"},{"title":"ERedes Open Data","href":"/latest/lot-language/routes/rest-api-apps/eredes-open-data"},{"title":"Excel Online","href":"/latest/lot-language/routes/rest-api-apps/excel-online"},{"title":"Fed Ex Api","href":"/latest/lot-language/routes/rest-api-apps/fed-ex-api"},{"title":"Fed Ex Auth","href":"/latest/lot-language/routes/rest-api-apps/fed-ex-auth"},{"title":"Fed Ex Docs","href":"/latest/lot-language/routes/rest-api-apps/fed-ex-docs"},{"title":"Firebase Cloud Messaging (HTTP v1)","href":"/latest/lot-language/routes/rest-api-apps/firebase-cloud-messaging"},{"title":"Firebase Realtime Database and Cloud Firestore","href":"/latest/lot-language/routes/rest-api-apps/firebase-realtime-database-and-cloud-firestore"},{"title":"Firebase Realtime Database","href":"/latest/lot-language/routes/rest-api-apps/firebase-realtime-database"},{"title":"Flow Fuse Api","href":"/latest/lot-language/routes/rest-api-apps/flow-fuse-api"},{"title":"Fracttal One Api","href":"/latest/lot-language/routes/rest-api-apps/fracttal-one-api"},{"title":"Freshdesk and Freshservice REST API","href":"/latest/lot-language/routes/rest-api-apps/freshdesk-and-freshservice"},{"title":"Fronius Solar API (local)","href":"/latest/lot-language/routes/rest-api-apps/fronius-solar-api"},{"title":"GE Vernova Proficy Historian","href":"/latest/lot-language/routes/rest-api-apps/ge-vernova-proficy-historian"},{"title":"Gemini Api","href":"/latest/lot-language/routes/rest-api-apps/gemini-api"},{"title":"Geotab (MyGeotab API) REST API","href":"/latest/lot-language/routes/rest-api-apps/geotab"},{"title":"GitHub REST API","href":"/latest/lot-language/routes/rest-api-apps/github"},{"title":"GitLab","href":"/latest/lot-language/routes/rest-api-apps/gitlab"},{"title":"Golioth","href":"/latest/lot-language/routes/rest-api-apps/golioth"},{"title":"Google Address Validation","href":"/latest/lot-language/routes/rest-api-apps/google-address-validation"},{"title":"Google Air Quality","href":"/latest/lot-language/routes/rest-api-apps/google-air-quality"},{"title":"Google BigQuery","href":"/latest/lot-language/routes/rest-api-apps/google-bigquery"},{"title":"Google Cloud Pub/Sub","href":"/latest/lot-language/routes/rest-api-apps/google-cloud-pub-sub"},{"title":"Google Cloud Storage","href":"/latest/lot-language/routes/rest-api-apps/google-cloud-storage"},{"title":"Google Drive","href":"/latest/lot-language/routes/rest-api-apps/google-drive"},{"title":"Google Geolocation","href":"/latest/lot-language/routes/rest-api-apps/google-geolocation"},{"title":"Google Maps Web Services","href":"/latest/lot-language/routes/rest-api-apps/google-maps-web-services"},{"title":"Google Places","href":"/latest/lot-language/routes/rest-api-apps/google-places"},{"title":"Google Roads","href":"/latest/lot-language/routes/rest-api-apps/google-roads"},{"title":"Google Routes","href":"/latest/lot-language/routes/rest-api-apps/google-routes"},{"title":"Google Sheets","href":"/latest/lot-language/routes/rest-api-apps/google-sheets"},{"title":"Google Weather","href":"/latest/lot-language/routes/rest-api-apps/google-weather"},{"title":"Grafana Loki","href":"/latest/lot-language/routes/rest-api-apps/grafana-loki"},{"title":"Grafana","href":"/latest/lot-language/routes/rest-api-apps/grafana"},{"title":"Help Scout","href":"/latest/lot-language/routes/rest-api-apps/help-scout"},{"title":"Here Browse","href":"/latest/lot-language/routes/rest-api-apps/here-browse"},{"title":"Here Discover","href":"/latest/lot-language/routes/rest-api-apps/here-discover"},{"title":"Here Geocode","href":"/latest/lot-language/routes/rest-api-apps/here-geocode"},{"title":"HERE Geocoding","href":"/latest/lot-language/routes/rest-api-apps/here-geocoding"},{"title":"Here Isoline","href":"/latest/lot-language/routes/rest-api-apps/here-isoline"},{"title":"Here Lookup","href":"/latest/lot-language/routes/rest-api-apps/here-lookup"},{"title":"Here Matrix","href":"/latest/lot-language/routes/rest-api-apps/here-matrix"},{"title":"Here Multi Reverse Geocode","href":"/latest/lot-language/routes/rest-api-apps/here-multi-reverse-geocode"},{"title":"Here Reverse Geocode","href":"/latest/lot-language/routes/rest-api-apps/here-reverse-geocode"},{"title":"Here Route Matching","href":"/latest/lot-language/routes/rest-api-apps/here-route-matching"},{"title":"Here Routing","href":"/latest/lot-language/routes/rest-api-apps/here-routing"},{"title":"Here Tour Planning","href":"/latest/lot-language/routes/rest-api-apps/here-tour-planning"},{"title":"Here Traffic","href":"/latest/lot-language/routes/rest-api-apps/here-traffic"},{"title":"Here Waypoints Sequence","href":"/latest/lot-language/routes/rest-api-apps/here-waypoints-sequence"},{"title":"High Byte Config","href":"/latest/lot-language/routes/rest-api-apps/high-byte-config"},{"title":"High Byte Data","href":"/latest/lot-language/routes/rest-api-apps/high-byte-data"},{"title":"Home Assistant","href":"/latest/lot-language/routes/rest-api-apps/home-assistant"},{"title":"HTTPBin REST API","href":"/latest/lot-language/routes/rest-api-apps/httpbin"},{"title":"HubSpot CRM API","href":"/latest/lot-language/routes/rest-api-apps/hubspot"},{"title":"Hugging Face Dedicated Endpoint","href":"/latest/lot-language/routes/rest-api-apps/hugging-face-dedicated-endpoint"},{"title":"Hugging Face Hub","href":"/latest/lot-language/routes/rest-api-apps/hugging-face-hub"},{"title":"Hugging Face Inference Endpoints","href":"/latest/lot-language/routes/rest-api-apps/hugging-face-inference-endpoints"},{"title":"Hugging Face Inference Providers","href":"/latest/lot-language/routes/rest-api-apps/hugging-face-inference-providers"},{"title":"HxGN EAM (Hexagon, formerly Infor EAM)","href":"/latest/lot-language/routes/rest-api-apps/hxgn-eam"},{"title":"IBM Maximo Manage","href":"/latest/lot-language/routes/rest-api-apps/ibm-maximo-manage"},{"title":"IFS Cloud REST API","href":"/latest/lot-language/routes/rest-api-apps/ifs-cloud"},{"title":"Ignition (Inductive Automation)","href":"/latest/lot-language/routes/rest-api-apps/ignition"},{"title":"InfluxDB","href":"/latest/lot-language/routes/rest-api-apps/influxdb"},{"title":"Infor CloudSuite via ION API Gateway REST API","href":"/latest/lot-language/routes/rest-api-apps/infor-cloudsuite-via-ion-api-gateway"},{"title":"Intercom","href":"/latest/lot-language/routes/rest-api-apps/intercom"},{"title":"Jira Cloud (Software)","href":"/latest/lot-language/routes/rest-api-apps/jira-cloud"},{"title":"Jira Service Management","href":"/latest/lot-language/routes/rest-api-apps/jira-service-management"},{"title":"JSONPlaceholder REST API","href":"/latest/lot-language/routes/rest-api-apps/jsonplaceholder"},{"title":"Kepware Config","href":"/latest/lot-language/routes/rest-api-apps/kepware-config"},{"title":"Kepware Iot Gateway","href":"/latest/lot-language/routes/rest-api-apps/kepware-iot-gateway"},{"title":"Limble CMMS","href":"/latest/lot-language/routes/rest-api-apps/limble-cmms"},{"title":"Litmus Edge","href":"/latest/lot-language/routes/rest-api-apps/litmus-edge"},{"title":"Looker","href":"/latest/lot-language/routes/rest-api-apps/looker"},{"title":"Losant","href":"/latest/lot-language/routes/rest-api-apps/losant"},{"title":"MachineMetrics","href":"/latest/lot-language/routes/rest-api-apps/machinemetrics"},{"title":"Mailgun","href":"/latest/lot-language/routes/rest-api-apps/mailgun"},{"title":"MaintainX","href":"/latest/lot-language/routes/rest-api-apps/maintainx"},{"title":"Mapbox","href":"/latest/lot-language/routes/rest-api-apps/mapbox"},{"title":"Mattermost","href":"/latest/lot-language/routes/rest-api-apps/mattermost"},{"title":"Memfault","href":"/latest/lot-language/routes/rest-api-apps/memfault"},{"title":"Mender","href":"/latest/lot-language/routes/rest-api-apps/mender"},{"title":"Metabase","href":"/latest/lot-language/routes/rest-api-apps/metabase"},{"title":"Microsoft Power BI","href":"/latest/lot-language/routes/rest-api-apps/microsoft-power-bi"},{"title":"Microsoft Teams","href":"/latest/lot-language/routes/rest-api-apps/microsoft-teams"},{"title":"MinIO","href":"/latest/lot-language/routes/rest-api-apps/minio"},{"title":"Mistral AI","href":"/latest/lot-language/routes/rest-api-apps/mistral-ai"},{"title":"monday.com","href":"/latest/lot-language/routes/rest-api-apps/monday-com"},{"title":"My Dhl Express","href":"/latest/lot-language/routes/rest-api-apps/my-dhl-express"},{"title":"N3uron","href":"/latest/lot-language/routes/rest-api-apps/n3uron"},{"title":"Oracle NetSuite (SuiteTalk REST)","href":"/latest/lot-language/routes/rest-api-apps/netsuite"},{"title":"New Relic","href":"/latest/lot-language/routes/rest-api-apps/new-relic"},{"title":"Nextcloud","href":"/latest/lot-language/routes/rest-api-apps/nextcloud"},{"title":"Node Red Admin","href":"/latest/lot-language/routes/rest-api-apps/node-red-admin"},{"title":"Node Red Http In","href":"/latest/lot-language/routes/rest-api-apps/node-red-http-in"},{"title":"Notion","href":"/latest/lot-language/routes/rest-api-apps/notion"},{"title":"ntfy","href":"/latest/lot-language/routes/rest-api-apps/ntfy"},{"title":"OCPI 2.2.1 (EV charging roaming)","href":"/latest/lot-language/routes/rest-api-apps/ocpi-2-2-1"},{"title":"Odoo","href":"/latest/lot-language/routes/rest-api-apps/odoo"},{"title":"Okta","href":"/latest/lot-language/routes/rest-api-apps/okta"},{"title":"Ollama (local models)","href":"/latest/lot-language/routes/rest-api-apps/ollama"},{"title":"Open-Meteo REST API","href":"/latest/lot-language/routes/rest-api-apps/open-meteo"},{"title":"OpenADR 3.0 (demand response)","href":"/latest/lot-language/routes/rest-api-apps/openadr-3-0"},{"title":"OpenAI","href":"/latest/lot-language/routes/rest-api-apps/openai"},{"title":"OpenAQ","href":"/latest/lot-language/routes/rest-api-apps/openaq"},{"title":"OpenEI","href":"/latest/lot-language/routes/rest-api-apps/openei"},{"title":"OpenWeatherMap REST API","href":"/latest/lot-language/routes/rest-api-apps/openweathermap"},{"title":"Opsgenie","href":"/latest/lot-language/routes/rest-api-apps/opsgenie"},{"title":"Oracle E-Business Suite (Integrated SOA Gateway)","href":"/latest/lot-language/routes/rest-api-apps/oracle-e-business-suite"},{"title":"Oracle Fusion Cloud ERP and SCM","href":"/latest/lot-language/routes/rest-api-apps/oracle-fusion-erp"},{"title":"Oracle JD Edwards EnterpriseOne","href":"/latest/lot-language/routes/rest-api-apps/oracle-jd-edwards"},{"title":"Osm Nominatim","href":"/latest/lot-language/routes/rest-api-apps/osm-nominatim"},{"title":"Osm Osrm","href":"/latest/lot-language/routes/rest-api-apps/osm-osrm"},{"title":"PagerDuty","href":"/latest/lot-language/routes/rest-api-apps/pagerduty"},{"title":"Particle","href":"/latest/lot-language/routes/rest-api-apps/particle"},{"title":"Pipedrive","href":"/latest/lot-language/routes/rest-api-apps/pipedrive"},{"title":"Postman Echo REST API","href":"/latest/lot-language/routes/rest-api-apps/postman-echo"},{"title":"Project Haystack","href":"/latest/lot-language/routes/rest-api-apps/project-haystack"},{"title":"Prometheus, Alertmanager and Pushgateway","href":"/latest/lot-language/routes/rest-api-apps/prometheus-alertmanager-and-pushgateway"},{"title":"PTC Windchill (Windchill REST Services)","href":"/latest/lot-language/routes/rest-api-apps/ptc-windchill"},{"title":"PurpleAir","href":"/latest/lot-language/routes/rest-api-apps/purpleair"},{"title":"Pushover","href":"/latest/lot-language/routes/rest-api-apps/pushover"},{"title":"QAD Adaptive ERP","href":"/latest/lot-language/routes/rest-api-apps/qad-adaptive-erp"},{"title":"QAD Redzone","href":"/latest/lot-language/routes/rest-api-apps/qad-redzone"},{"title":"Qlik Cloud","href":"/latest/lot-language/routes/rest-api-apps/qlik-cloud"},{"title":"QuestDB","href":"/latest/lot-language/routes/rest-api-apps/questdb"},{"title":"QuickBooks Online","href":"/latest/lot-language/routes/rest-api-apps/quickbooks-online"},{"title":"Ren Data Hub","href":"/latest/lot-language/routes/rest-api-apps/ren-data-hub"},{"title":"Rhize Api","href":"/latest/lot-language/routes/rest-api-apps/rhize-api"},{"title":"Rockwell Plex Smart Manufacturing Platform","href":"/latest/lot-language/routes/rest-api-apps/rockwell-plex-smart-manufacturing-platform"},{"title":"Salesforce","href":"/latest/lot-language/routes/rest-api-apps/salesforce"},{"title":"Samsara REST API","href":"/latest/lot-language/routes/rest-api-apps/samsara"},{"title":"Sap Ariba Open Api","href":"/latest/lot-language/routes/rest-api-apps/sap-ariba-open-api"},{"title":"SAP Business One Service Layer","href":"/latest/lot-language/routes/rest-api-apps/sap-b1"},{"title":"SAP Digital Manufacturing","href":"/latest/lot-language/routes/rest-api-apps/sap-digital-manufacturing"},{"title":"SAP Field Service Management","href":"/latest/lot-language/routes/rest-api-apps/sap-field-service-management"},{"title":"SAP S/4HANA Cloud","href":"/latest/lot-language/routes/rest-api-apps/sap-s4hana-cloud"},{"title":"SAP S/4HANA on-premise / ECC (Gateway)","href":"/latest/lot-language/routes/rest-api-apps/sap-s4hana-onprem"},{"title":"SAP SuccessFactors","href":"/latest/lot-language/routes/rest-api-apps/sap-successfactors"},{"title":"Seeq","href":"/latest/lot-language/routes/rest-api-apps/seeq"},{"title":"SendGrid","href":"/latest/lot-language/routes/rest-api-apps/sendgrid"},{"title":"Sentry","href":"/latest/lot-language/routes/rest-api-apps/sentry"},{"title":"Sepasoft MES for Ignition","href":"/latest/lot-language/routes/rest-api-apps/sepasoft-mes-for-ignition"},{"title":"Service Titan Api","href":"/latest/lot-language/routes/rest-api-apps/service-titan-api"},{"title":"ServiceMax (PTC)","href":"/latest/lot-language/routes/rest-api-apps/servicemax"},{"title":"ServiceNow","href":"/latest/lot-language/routes/rest-api-apps/servicenow"},{"title":"SharePoint and OneDrive (Microsoft Graph)","href":"/latest/lot-language/routes/rest-api-apps/sharepoint-and-onedrive"},{"title":"Shelly Cloud Control","href":"/latest/lot-language/routes/rest-api-apps/shelly-cloud-control"},{"title":"Shelly Gen2 Rpc","href":"/latest/lot-language/routes/rest-api-apps/shelly-gen2-rpc"},{"title":"Shopify","href":"/latest/lot-language/routes/rest-api-apps/shopify"},{"title":"Siemens Industrial Edge Management","href":"/latest/lot-language/routes/rest-api-apps/siemens-industrial-edge-management"},{"title":"Siemens Insights Hub","href":"/latest/lot-language/routes/rest-api-apps/siemens-insights-hub"},{"title":"Siemens Opcenter Execution","href":"/latest/lot-language/routes/rest-api-apps/siemens-opcenter-execution"},{"title":"Siemens Teamcenter","href":"/latest/lot-language/routes/rest-api-apps/siemens-teamcenter"},{"title":"Siemens WinCC Unified (GraphQL server)","href":"/latest/lot-language/routes/rest-api-apps/siemens-wincc-unified"},{"title":"Sight Machine","href":"/latest/lot-language/routes/rest-api-apps/sight-machine"},{"title":"Slack REST API","href":"/latest/lot-language/routes/rest-api-apps/slack"},{"title":"Smartsheet","href":"/latest/lot-language/routes/rest-api-apps/smartsheet"},{"title":"Snowflake SQL API","href":"/latest/lot-language/routes/rest-api-apps/snowflake-sql-api"},{"title":"SolarEdge Monitoring API","href":"/latest/lot-language/routes/rest-api-apps/solaredge-monitoring-api"},{"title":"SolarEdge","href":"/latest/lot-language/routes/rest-api-apps/solaredge"},{"title":"Soracom","href":"/latest/lot-language/routes/rest-api-apps/soracom"},{"title":"Splunk Enterprise and Cloud","href":"/latest/lot-language/routes/rest-api-apps/splunk-enterprise-and-cloud"},{"title":"Stripe REST API","href":"/latest/lot-language/routes/rest-api-apps/stripe"},{"title":"SugarCRM","href":"/latest/lot-language/routes/rest-api-apps/sugarcrm"},{"title":"Supabase","href":"/latest/lot-language/routes/rest-api-apps/supabase"},{"title":"Tableau (Server and Cloud)","href":"/latest/lot-language/routes/rest-api-apps/tableau"},{"title":"TDengine","href":"/latest/lot-language/routes/rest-api-apps/tdengine"},{"title":"Telegram Bot API","href":"/latest/lot-language/routes/rest-api-apps/telegram-bot-api"},{"title":"Teltonika RMS","href":"/latest/lot-language/routes/rest-api-apps/teltonika-rms"},{"title":"The Things Stack","href":"/latest/lot-language/routes/rest-api-apps/the-things-stack"},{"title":"ThingsBoard","href":"/latest/lot-language/routes/rest-api-apps/thingsboard"},{"title":"Traccar (open-source GPS server) REST API","href":"/latest/lot-language/routes/rest-api-apps/traccar"},{"title":"Trackunit Iris","href":"/latest/lot-language/routes/rest-api-apps/trackunit-iris"},{"title":"Trello","href":"/latest/lot-language/routes/rest-api-apps/trello"},{"title":"Tulip","href":"/latest/lot-language/routes/rest-api-apps/tulip"},{"title":"Twilio (SMS, Voice, WhatsApp)","href":"/latest/lot-language/routes/rest-api-apps/twilio"},{"title":"Ubidots","href":"/latest/lot-language/routes/rest-api-apps/ubidots"},{"title":"UpKeep","href":"/latest/lot-language/routes/rest-api-apps/upkeep"},{"title":"Ups Api","href":"/latest/lot-language/routes/rest-api-apps/ups-api"},{"title":"Veeva Vault Api","href":"/latest/lot-language/routes/rest-api-apps/veeva-vault-api"},{"title":"Vertex Ai","href":"/latest/lot-language/routes/rest-api-apps/vertex-ai"},{"title":"Victron VRM API","href":"/latest/lot-language/routes/rest-api-apps/victron-vrm-api"},{"title":"WattTime","href":"/latest/lot-language/routes/rest-api-apps/watttime"},{"title":"Webfleet (Bridgestone)","href":"/latest/lot-language/routes/rest-api-apps/webfleet"},{"title":"WhatsApp Business Platform (Meta Cloud API)","href":"/latest/lot-language/routes/rest-api-apps/whatsapp-business-platform"},{"title":"Workday","href":"/latest/lot-language/routes/rest-api-apps/workday"},{"title":"Xero","href":"/latest/lot-language/routes/rest-api-apps/xero"},{"title":"Zabbix","href":"/latest/lot-language/routes/rest-api-apps/zabbix"},{"title":"Zendesk Support","href":"/latest/lot-language/routes/rest-api-apps/zendesk-support"},{"title":"Zoho CRM REST API","href":"/latest/lot-language/routes/rest-api-apps/zoho-crm"}]},{"title":"MCP Connectors","href":"/latest/lot-language/routes/mcp-routes"},{"title":"AI Connectors and Agents","href":"/latest/lot-language/routes/ai-routes"},{"group":"Media Connectors","pages":[{"title":"Media Connectors","href":"/latest/lot-language/routes/media/overview"},{"title":"Barcode Connector","href":"/latest/lot-language/routes/media/barcode"},{"title":"Video Input Connector","href":"/latest/lot-language/routes/media/video-input"},{"title":"Audio Input Connector","href":"/latest/lot-language/routes/media/audio-input"}]},{"title":"Connector Examples","href":"/latest/lot-language/routes/examples"}]},{"group":"LoT AGENT","pages":[{"title":"Agents Overview","href":"/latest/lot-language/agents/overview"},{"title":"Agent Syntax","href":"/latest/lot-language/agents/syntax"},{"title":"Agent Examples","href":"/latest/lot-language/agents/examples"}]},{"group":"LoT THING","pages":[{"title":"Things Overview","href":"/latest/lot-language/things/overview"},{"title":"Thing Syntax","href":"/latest/lot-language/things/syntax"},{"title":"Thing Examples","href":"/latest/lot-language/things/examples"}]},{"group":"LoT RULE","pages":[{"title":"RULE Overview","href":"/latest/lot-language/rules/overview"},{"title":"RULE Syntax","href":"/latest/lot-language/rules/syntax"},{"title":"RBAC with LoT Rules","href":"/latest/lot-language/rules/rbac"}]},{"group":"LoT PANEL","pages":[{"title":"Defining a Panel","href":"/latest/lot-language/panels/defining-panels"},{"title":"Data Binding","href":"/latest/lot-language/panels/data-binding"},{"title":"Actions \u0026 Events","href":"/latest/lot-language/panels/actions-events"}]},{"group":"Best Practices and Usage Patterns","pages":[{"title":"Naming conventions","href":"/latest/lot-language/usage-patterns/naming-conventions"},{"title":"Designing your data layer","href":"/latest/lot-language/usage-patterns/data-layer"},{"title":"Working with JSON","href":"/latest/lot-language/usage-patterns/working-with-json"},{"title":"Writing reusable logic","href":"/latest/lot-language/usage-patterns/reusable-logic"},{"title":"Alarms and monitoring","href":"/latest/lot-language/usage-patterns/alarms-and-monitoring"},{"title":"Connecting to the outside world","href":"/latest/lot-language/usage-patterns/integrations"},{"title":"Production architecture","href":"/latest/lot-language/usage-patterns/production-architecture"},{"title":"Project organization","href":"/latest/lot-language/usage-patterns/project-organization"},{"title":"Anti-patterns","href":"/latest/lot-language/usage-patterns/anti-patterns"}]}]},{"group":"Coreflux HUB","tag":"2.12","pages":[{"title":"Coreflux HUB Overview","description":"Manage your Coreflux broker—explore MQTT topics, edit LoT code, configure connectors, and monitor system health from the browser or the standalone desktop app","href":"/hub/overview"},{"title":"Connections Manager","href":"/hub/connections"},{"title":"Account, Fleet, and Cloud Mode","description":"Sign in to Coreflux HUB with an organization account, open brokers from the fleet, and see how Cloud mode differs from a HUB you run yourself","href":"/hub/account-and-fleet"},{"title":"AI Assistant","href":"/hub/ai-assistant"},{"group":"Viewing MQTT Data","pages":[{"title":"MQTT Overview","href":"/hub/mqtt/overview"},{"title":"Data Viewer","href":"/hub/mqtt/data-viewer"},{"title":"UNS Viewer","href":"/hub/mqtt/uns-viewer"},{"title":"Connected Clients","href":"/hub/mqtt/connected-clients"}]},{"title":"LoT Editor","href":"/hub/lot-editor"},{"title":"LoT Flow","href":"/hub/lot-flow"},{"title":"Cluster Viewer","href":"/hub/cluster-viewer"},{"group":"Dashboards","pages":[{"title":"Dashboards in the HUB","href":"/hub/dashboards/overview"},{"title":"Dashboard Manager","href":"/hub/dashboards/manager"},{"group":"Component Reference","pages":[{"title":"Display Components","href":"/hub/dashboards/components/display"},{"title":"Input \u0026 Control Components","href":"/hub/dashboards/components/inputs"},{"title":"Container Components","href":"/hub/dashboards/components/containers"}]},{"title":"Common Patterns","href":"/hub/dashboards/patterns"}]},{"group":"Managing Connectors","pages":[{"title":"Connectors Overview","href":"/hub/routes/overview"},{"title":"Connector Configuration","href":"/hub/routes/configuration"},{"title":"Connectors Monitoring","href":"/hub/routes/monitoring"}]},{"group":"Administering the Broker","pages":[{"title":"System Overview","href":"/hub/system/overview"},{"title":"System Configuration","href":"/hub/system/configuration"},{"title":"Certificates","href":"/hub/system/certificates"},{"title":"User Management","href":"/hub/system/user-management"},{"title":"Command Console","href":"/hub/system/command-console"},{"title":"Broker Logs","href":"/hub/system/broker-logs"}]}]},{"group":"VS Code - LoT Notebooks","tag":"1.0","pages":[{"title":"How to Use a LoT Notebook","href":"/lot-notebooks/usage"},{"title":"How to Debug in LoT Notebooks","href":"/lot-notebooks/debug"},{"title":"Tutorials","href":"/lot-notebooks/tutorials"},{"title":"File Format","href":"/lot-notebooks/file-format"}]},{"group":"Coreflux Portal","pages":[{"title":"Coreflux Portal","href":"/portal/overview"},{"title":"Getting Started with the Portal","href":"/portal/getting-started"},{"title":"Fleet","href":"/portal/fleet"},{"title":"Licensing","href":"/portal/licensing"},{"title":"Team and Settings","href":"/portal/team-and-settings"}]},{"group":"Using AI with Coreflux","pages":[{"title":"Model Context Protocol (MCP)","href":"/ai/mcp"},{"title":"Coreflux Agent Skills","href":"/ai/agent-skills"},{"title":"Developing with LoT Using AI","href":"/ai/developing-with-lot"},{"title":"AI-Assisted Development Best Practices","href":"/ai/best-practices"}]},{"group":"Product Updates","pages":[{"title":"Release Notes","href":"/product-updates/release-notes"}]}]},{"version":"v2.14","default":false,"groups":[{"group":"Quick Start","pages":[{"title":"Welcome","icon":"house","href":"/v2.14"},{"title":"Installation","icon":"download","href":"/v2.14/quick-start/installation"},{"title":"Updating Your Coreflux","icon":"rotate","href":"/v2.14/updating-coreflux"},{"title":"Getting Started","icon":"rocket","href":"/v2.14/quick-start/getting-started"},{"title":"Using Coreflux HUB","icon":"globe","href":"/v2.14/quick-start/using-hub"},{"title":"Using LoT Notebooks","sidebarTitle":"Using LoT Notebooks","icon":"code","href":"/v2.14/quick-start/vscode"},{"title":"Using AI with Coreflux","icon":"wand-magic-sparkles","href":"/v2.14/quick-start/using-ai"},{"title":"Build Your First Dashboard","icon":"rocket","href":"/v2.14/quick-start/building-dashboards"},{"title":"Creating Agents in Coreflux","icon":"robot","href":"/v2.14/quick-start/creating-agents"},{"title":"Best Practices \u0026 Patterns","icon":"book-open","href":"/v2.14/quick-start/best-practices"}]},{"group":"Coreflux MQTT Broker","pages":[{"title":"MQTT Broker","href":"/v2.14/mqtt-broker/overview"},{"title":"MQTT Protocol","href":"/v2.14/mqtt-broker/protocol"},{"title":"High-Availability Clustering","href":"/v2.14/mqtt-broker/clustering"},{"group":"Configuring the Broker","pages":[{"title":"Broker Configuration","href":"/v2.14/mqtt-broker/configuration"},{"title":"MQTT State Durability","href":"/v2.14/mqtt-broker/durability"},{"title":"Environment Variables \u0026 Secrets","href":"/v2.14/mqtt-broker/secrets-and-env"},{"title":"Startup Options \u0026 Deployment","href":"/v2.14/mqtt-broker/startup-options"}]},{"group":"Operating the Broker","pages":[{"title":"System ($SYS) Topics","href":"/v2.14/mqtt-broker/sys-topics"},{"title":"Broker Commands","href":"/v2.14/mqtt-broker/commands"}]}]},{"group":"LoT Language","pages":[{"title":"Introduction to LoT","href":"/v2.14/lot-language/introduction"},{"group":"LoT ACTION","pages":[{"title":"ACTION Overview","href":"/v2.14/lot-language/actions/overview"},{"title":"ACTION Syntax Reference","href":"/v2.14/lot-language/actions/syntax"},{"title":"ACTION Triggers","href":"/v2.14/lot-language/actions/events"},{"title":"Callable ACTIONs","href":"/v2.14/lot-language/actions/callable-actions"},{"title":"ACTION Operations Reference","href":"/v2.14/lot-language/actions/operations"},{"title":"ACTION Python Integration","href":"/v2.14/lot-language/actions/python-integration"}]},{"group":"LoT MODEL","pages":[{"title":"MODEL Overview","href":"/v2.14/lot-language/models/overview"},{"title":"MODEL Syntax and Components","href":"/v2.14/lot-language/models/schema-definition"},{"title":"MODEL Publishing","href":"/v2.14/lot-language/models/publish-model"},{"title":"MODEL Inheritance","href":"/v2.14/lot-language/models/model-inheritance"},{"title":"MODEL Protobuf","href":"/v2.14/lot-language/models/protobuf"},{"title":"MODEL Examples","href":"/v2.14/lot-language/models/examples"}]},{"group":"LoT ROUTE","pages":[{"title":"Routes Overview","href":"/v2.14/lot-language/routes/overview"},{"title":"Route Overload Configuration","href":"/v2.14/lot-language/routes/route-config"},{"group":"System Routes","pages":[{"title":"System Routes","href":"/v2.14/lot-language/routes/system-routes"},{"title":"MQTT Bridge Route","href":"/v2.14/lot-language/routes/system/mqtt-bridge"},{"title":"Sparkplug B Route","href":"/v2.14/lot-language/routes/system/sparkplug-b"},{"title":"Sparkplug Host Route","href":"/v2.14/lot-language/routes/system/sparkplug-host"}]},{"group":"Industrial Routes","pages":[{"title":"Industrial Routes Overview","href":"/v2.14/lot-language/routes/industrial/overview"},{"title":"Modbus TCP Client Route","href":"/v2.14/lot-language/routes/industrial/modbus-tcp-client"},{"title":"Modbus Serial Client Route","href":"/v2.14/lot-language/routes/industrial/modbus-serial-client"},{"title":"Modbus TCP Server Route","href":"/v2.14/lot-language/routes/industrial/modbus-tcp-server"},{"title":"Siemens S7 Route","href":"/v2.14/lot-language/routes/industrial/siemens-s7"},{"title":"OPC UA Client Route","href":"/v2.14/lot-language/routes/industrial/opcua-client"},{"title":"OPC UA Server Route","href":"/v2.14/lot-language/routes/industrial/opcua-server"},{"title":"ADS Route (Beckhoff)","href":"/v2.14/lot-language/routes/industrial/ads"},{"title":"Allen-Bradley Route","href":"/v2.14/lot-language/routes/industrial/allen-bradley"},{"title":"EtherNet/IP Route","href":"/v2.14/lot-language/routes/industrial/ethernetip"},{"title":"FINS Route (Omron)","href":"/v2.14/lot-language/routes/industrial/fins"},{"title":"BACnet/IP Route","href":"/v2.14/lot-language/routes/industrial/bacnet"}]},{"group":"Data Storage Routes","pages":[{"title":"Data Storage Routes Overview","href":"/v2.14/lot-language/routes/data-storage/overview"},{"title":"PostgreSQL Route","href":"/v2.14/lot-language/routes/data-storage/postgresql"},{"title":"MySQL Route","href":"/v2.14/lot-language/routes/data-storage/mysql"},{"title":"MariaDB Route","href":"/v2.14/lot-language/routes/data-storage/mariadb"},{"title":"SQL Server Route","href":"/v2.14/lot-language/routes/data-storage/sqlserver"},{"title":"MongoDB Route","href":"/v2.14/lot-language/routes/data-storage/mongodb"},{"title":"OpenSearch Route","href":"/v2.14/lot-language/routes/data-storage/opensearch"},{"title":"CrateDB Route","href":"/v2.14/lot-language/routes/data-storage/cratedb"},{"title":"Snowflake Route","href":"/v2.14/lot-language/routes/data-storage/snowflake"},{"title":"File Storage Route","href":"/v2.14/lot-language/routes/data-storage/file-storage"}]},{"group":"Streaming Routes","pages":[{"title":"Kafka Route","href":"/v2.14/lot-language/routes/streaming/kafka"}]},{"group":"Notification Routes","pages":[{"title":"Email Route","href":"/v2.14/lot-language/routes/notifications/email"}]},{"title":"REST API Routes","href":"/v2.14/lot-language/routes/rest-api-routes"},{"title":"MCP Routes","href":"/v2.14/lot-language/routes/mcp-routes"},{"title":"AI Routes","href":"/v2.14/lot-language/routes/ai-routes"},{"title":"Media Routes","href":"/v2.14/lot-language/routes/media-routes"},{"title":"Route Examples","href":"/v2.14/lot-language/routes/examples"}]},{"group":"LoT RULE","pages":[{"title":"RULE Overview","href":"/v2.14/lot-language/rules/overview"},{"title":"RULE Syntax","href":"/v2.14/lot-language/rules/syntax"},{"title":"RBAC with LoT Rules","href":"/v2.14/lot-language/rules/rbac"}]},{"group":"LoT PANEL","pages":[{"title":"Defining a Panel","href":"/v2.14/lot-language/panels/defining-panels"},{"title":"Data Binding","href":"/v2.14/lot-language/panels/data-binding"},{"title":"Actions \u0026 Events","href":"/v2.14/lot-language/panels/actions-events"}]},{"group":"Best Practices and Usage Patterns","pages":[{"title":"Naming conventions","href":"/v2.14/lot-language/usage-patterns/naming-conventions"},{"title":"Designing your data layer","href":"/v2.14/lot-language/usage-patterns/data-layer"},{"title":"Working with JSON","href":"/v2.14/lot-language/usage-patterns/working-with-json"},{"title":"Writing reusable logic","href":"/v2.14/lot-language/usage-patterns/reusable-logic"},{"title":"Alarms and monitoring","href":"/v2.14/lot-language/usage-patterns/alarms-and-monitoring"},{"title":"Connecting to the outside world","href":"/v2.14/lot-language/usage-patterns/integrations"},{"title":"Production architecture","href":"/v2.14/lot-language/usage-patterns/production-architecture"},{"title":"Project organization","href":"/v2.14/lot-language/usage-patterns/project-organization"},{"title":"Anti-patterns","href":"/v2.14/lot-language/usage-patterns/anti-patterns"}]}]},{"group":"Coreflux HUB","tag":"2.3","pages":[{"title":"Coreflux HUB Overview","description":"Manage your Coreflux broker—explore MQTT topics, edit LoT code, configure connectors, and monitor system health from the browser or the standalone desktop app","href":"/hub/overview"},{"title":"Connections Manager","href":"/hub/connections"},{"title":"AI Assistant","description":"Chat with the built-in Coreflux HUB assistant to get insights from live data, build dashboards, and develop LoT Actions using plain language","href":"/hub/ai-assistant"},{"group":"Viewing MQTT Data","pages":[{"title":"MQTT Overview","href":"/hub/mqtt/overview"},{"title":"Data Viewer","href":"/hub/mqtt/data-viewer"},{"title":"UNS Viewer","href":"/hub/mqtt/uns-viewer"},{"title":"Connected Clients","href":"/hub/mqtt/connected-clients"}]},{"title":"LoT Editor","href":"/hub/lot-editor"},{"title":"LoT Flow","href":"/hub/lot-flow"},{"title":"Cluster Viewer","href":"/hub/cluster-viewer"},{"group":"Dashboards","pages":[{"title":"Dashboards in the HUB","href":"/hub/dashboards/overview"},{"title":"Dashboard Manager","href":"/hub/dashboards/manager"},{"group":"Component Reference","pages":[{"title":"Display Components","href":"/hub/dashboards/components/display"},{"title":"Input \u0026 Control Components","href":"/hub/dashboards/components/inputs"},{"title":"Container Components","href":"/hub/dashboards/components/containers"}]},{"title":"Common Patterns","href":"/hub/dashboards/patterns"}]},{"group":"Managing Routes","pages":[{"title":"Connectors Overview","href":"/hub/routes/overview"},{"title":"Connector Configuration","href":"/hub/routes/configuration"},{"title":"Connectors Monitoring","href":"/hub/routes/monitoring"}]},{"group":"Administering the Broker","pages":[{"title":"System Overview","href":"/hub/system/overview"},{"title":"System Configuration","href":"/hub/system/configuration"},{"title":"User Management","href":"/hub/system/user-management"},{"title":"Command Console","href":"/hub/system/command-console"},{"title":"Broker Logs","href":"/hub/system/broker-logs"}]}]},{"group":"VS Code - LoT Notebooks","tag":"1.0","pages":[{"title":"How to Use a LoT Notebook","href":"/lot-notebooks/usage"},{"title":"How to Debug in LoT Notebooks","href":"/lot-notebooks/debug"},{"title":"Tutorials","href":"/lot-notebooks/tutorials"},{"title":"File Format","href":"/lot-notebooks/file-format"}]},{"group":"Using AI with Coreflux","pages":[{"title":"Model Context Protocol (MCP)","href":"/ai/mcp"},{"title":"Developing with LoT Using AI","href":"/ai/developing-with-lot"},{"title":"AI-Assisted Development Best Practices","href":"/ai/best-practices"}]},{"group":"Product Updates","pages":[{"title":"Release Notes","href":"/product-updates/release-notes"}]}]},{"version":"v2.2","pages":[{"title":"v2.2","href":"/v2.2"}]},{"version":"v2.1","default":false,"pages":[{"title":"v2.1","href":"/v2.1"}]},{"version":"v2.0","default":false,"pages":[{"title":"v2.0","href":"/v2.0"}]},{"version":"v1.10","default":false,"pages":[{"title":"v1.10","href":"/v1.10"}]}]},"title":"Connections Manager - Coreflux Documentation","buildId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","deploymentId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-BbYRHtLl.js","DynamicMarkdown-DN96a4Ur.js","zoom-image-lightbox-D7yRe3On.js","lightbox-handle-r17bVUz3.js"]}