[{"data":1,"prerenderedAt":618},["ShallowReactive",2],{"docs-\u002Fdocs\u002Fuser\u002Fteambroker\u002F":3,"docs-nav":161},{"id":4,"title":5,"body":6,"description":16,"extension":149,"layout":150,"meta":151,"navGroup":150,"navGroupOrder":150,"navOrder":150,"navTitle":152,"navigation":153,"originalPath":154,"path":155,"redirect":150,"seo":156,"stem":157,"updated":158,"version":159,"__hash__":160},"docs\u002Fdocs\u002Fuser\u002Fteambroker.md","Getting Started with Team Broker",{"type":7,"value":8,"toc":142},"minimark",[9,13,17,20,25,34,37,41,53,60,67,71,78,100,103,109,119,127,130,136],[10,11,5],"h1",{"id":12},"getting-started-with-team-broker",[14,15,16],"p",{},"When FlowFuse is deployed with an Enterprise license from v2.11.0 onwards comes with the option to enable a MQTT broker for each Team.",[14,18,19],{},"This is a single shared MQTT broker, but each team has their own separate topic space and the ability to provision credentials for clients.",[21,22,24],"h2",{"id":23},"foreword","Foreword",[14,26,27,28,33],{},"FlowFuse offers zero config MQTT integration with the Team Broker via the ",[29,30,32],"a",{"href":31},"\u002Fdocs\u002Fuser\u002Fmqtt-nodes\u002F","FlowFuse MQTT Nodes"," that greatly simplifies the whole process by removing the need for manual configuration.",[14,35,36],{},"If you wish to continue using traditional MQTT clients, the below sections will guide you through the process of creating clients and connecting to the broker.",[21,38,40],{"id":39},"creating-clients","Creating Clients",[14,42,43,44,48,49,52],{},"When creating clients you can specify a username, it will prepended to the the Team's id e.g.  ",[45,46,47],"code",{},"alice"," will become ",[45,50,51],{},"alice@32E4NEO5pY",".",[14,54,55,56,52],{},"This username should also be used as the MQTT Client ID in order to connect to the broker. Examples of how to do this are in the ",[29,57,59],{"href":58},"#connecting-to-the-broker","next section",[14,61,62],{},[63,64],"img",{"alt":65,"src":66},"Create Broker Client","\u002Fdocs\u002Fcloud\u002Fimages\u002Fcreate-broker-client.png",[21,68,70],{"id":69},"connecting-to-the-broker","Connecting to the Broker",[14,72,73,74,77],{},"The broker for FlowFuse Cloud is available on ",[45,75,76],{},"broker.flowfuse.cloud"," and supports the following connection types:",[79,80,81,88,94],"ul",{},[82,83,84,85],"li",{},"MQTT on port ",[45,86,87],{},"1883",[82,89,90,91],{},"MQTT over TLS on port ",[45,92,93],{},"8883",[82,95,96,97],{},"MQTT over secure WebSockets on port ",[45,98,99],{},"443",[14,101,102],{},"For Self Hosted instances, please ask your Administrator for hostname and ports.",[14,104,105,106],{},"You can connect to the broker using any MQTT client, for example ",[45,107,108],{},"mosquitto_sub",[110,111,116],"pre",{"className":112,"code":114,"language":115},[113],"language-text","mosquitto_sub -u \"alice@32E4NEO5pY\" -i \"alice@32E4NEO5pY\" -P \"password\" -h broker.flowfuse.cloud -t \"#\"\n","text",[45,117,114],{"__ignoreMap":118},"",[14,120,121,122,126],{},"Please note that username ",[123,124,125],"strong",{},"must"," also be used for the client id to connect to the team broker. This does mean that each\nusername\u002Fpassword can only be used with a single MQTT client at a time.",[14,128,129],{},"Or in Node-RED as follows",[14,131,132],{},[63,133],{"alt":134,"src":135},"Node-RED MQTT Client Connection","\u002Fdocs\u002Fcloud\u002Fimages\u002Fnode-red-mqtt-connection.png",[14,137,138],{},[63,139],{"alt":140,"src":141},"Node-RED MQTT Client Security","\u002Fdocs\u002Fcloud\u002Fimages\u002Fnode-red-mqtt-security.png",{"title":118,"searchDepth":143,"depth":143,"links":144},4,[145,147,148],{"id":23,"depth":146,"text":24},2,{"id":39,"depth":146,"text":40},{"id":69,"depth":146,"text":70},"md",null,{},"Team Broker",true,"user\u002Fteambroker.md","\u002Fdocs\u002Fuser\u002Fteambroker",{"title":5,"description":16},"docs\u002Fuser\u002Fteambroker","2025-08-19 17:45:04 +0100","2.33.2","4eSEJCyjuJbu9fzWUX24Ro_fBhYt4zVcyeQVPRXTW28",[162,170,190,202],{"name":163,"order":164,"children":165},"FlowFuse User Manuals",1,[166],{"title":167,"path":168,"group":163,"groupOrder":164,"order":146,"children":169},"FlowFuse API","\u002Fdocs\u002Fapi",[],{"name":171,"order":143,"children":172},"FlowFuse Self-Hosted",[173,177],{"title":174,"path":175,"group":171,"groupOrder":143,"order":164,"children":176},"Quick Start","\u002Fdocs\u002Fquick-start",[],{"title":178,"path":179,"group":171,"groupOrder":143,"order":180,"children":181},"Upgrading FlowFuse","\u002Fdocs\u002Fupgrade",3,[182,186],{"title":183,"path":184,"order":150,"children":185},"Installing a license","\u002Fdocs\u002Fupgrade\u002Fopen-source-to-premium",[],{"title":187,"path":188,"order":150,"children":189},"Upgrading the Node-RED version","\u002Fdocs\u002Fupgrade\u002Fnodered-version",[],{"name":191,"order":192,"children":193},"Support",5,[194,198],{"title":195,"path":196,"group":191,"groupOrder":192,"order":180,"children":197},"Premium Support","\u002Fdocs\u002Fpremium-support",[],{"title":199,"path":200,"group":191,"groupOrder":192,"order":150,"children":201},"Debugging Node-RED issues","\u002Fdocs\u002Fdebugging",[],{"name":203,"order":150,"children":204},"Other",[205,253,265,343,392,411,485,496],{"title":206,"path":207,"order":150,"children":208},"admin","\u002Fdocs\u002Fadmin",[209,213,225,233,237,241,245,249],{"title":210,"path":211,"order":164,"children":212},"Administering FlowFuse","\u002Fdocs\u002Fadmin\u002Fintroduction",[],{"title":214,"path":215,"order":150,"children":216},"Configuring Single Sign-On (SSO)","\u002Fdocs\u002Fadmin\u002Fsso",[217,221],{"title":218,"path":219,"order":150,"children":220},"LDAP SSO","\u002Fdocs\u002Fadmin\u002Fsso\u002Fldap",[],{"title":222,"path":223,"order":150,"children":224},"SAML SSO","\u002Fdocs\u002Fadmin\u002Fsso\u002Fsaml",[],{"title":226,"path":227,"order":150,"children":228},"hardening","\u002Fdocs\u002Fadmin\u002Fhardening",[229],{"title":230,"path":231,"order":150,"children":232},"Kubernetes Hardening","\u002Fdocs\u002Fadmin\u002Fhardening\u002Fkubernetes",[],{"title":234,"path":235,"order":150,"children":236},"Monitoring","\u002Fdocs\u002Fadmin\u002Fmonitoring",[],{"title":238,"path":239,"order":150,"children":240},"Observability","\u002Fdocs\u002Fadmin\u002Fobservability",[],{"title":242,"path":243,"order":150,"children":244},"Soft Launch Enablement","\u002Fdocs\u002Fadmin\u002Ffeature-flags",[],{"title":246,"path":247,"order":150,"children":248},"Telemetry","\u002Fdocs\u002Fadmin\u002Ftelemetry",[],{"title":250,"path":251,"order":150,"children":252},"User Management","\u002Fdocs\u002Fadmin\u002Fuser-management",[],{"title":254,"path":255,"order":150,"children":256},"cloud","\u002Fdocs\u002Fcloud",[257,261],{"title":258,"path":259,"order":164,"children":260},"Introduction","\u002Fdocs\u002Fcloud\u002Fintroduction",[],{"title":262,"path":263,"order":150,"children":264},"FlowFuse Cloud Billing","\u002Fdocs\u002Fcloud\u002Fbilling",[],{"title":266,"path":267,"order":150,"children":268},"contribute","\u002Fdocs\u002Fcontribute",[269,272,276,280,284,288,292,300,336,339],{"title":258,"path":270,"order":164,"children":271},"\u002Fdocs\u002Fcontribute\u002Fintroduction",[],{"title":273,"path":274,"order":150,"children":275},"Adding Template Settings","\u002Fdocs\u002Fcontribute\u002Fadding-template-settings",[],{"title":277,"path":278,"order":150,"children":279},"API Design","\u002Fdocs\u002Fcontribute\u002Fapi-design",[],{"title":281,"path":282,"order":150,"children":283},"Creating debug stack containers","\u002Fdocs\u002Fcontribute\u002Fcreating-debug-stack-containers",[],{"title":285,"path":286,"order":150,"children":287},"Database migrations","\u002Fdocs\u002Fcontribute\u002Fdb-migrations",[],{"title":289,"path":290,"order":150,"children":291},"FlowFuse Architecture","\u002Fdocs\u002Fcontribute\u002Farchitecture",[],{"title":293,"path":294,"order":150,"children":295},"Local Install","\u002Fdocs\u002Fcontribute\u002Flocal",[296],{"title":297,"path":298,"order":150,"children":299},"Local Stacks","\u002Fdocs\u002Fcontribute\u002Flocal\u002Fstacks",[],{"title":301,"path":302,"order":150,"children":303},"State Flows","\u002Fdocs\u002Fcontribute\u002Fworkflows",[304,308,312,316,320,324,328,332],{"title":305,"path":306,"order":150,"children":307},"Device Editor","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fdevice-editor",[],{"title":309,"path":310,"order":150,"children":311},"Instance states","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fproject-states",[],{"title":313,"path":314,"order":150,"children":315},"Invite External Users","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Finvite-external-user",[],{"title":317,"path":318,"order":150,"children":319},"Project Creation","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fproject-create",[],{"title":321,"path":322,"order":150,"children":323},"Reset Password Flow","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fpassword-reset",[],{"title":325,"path":326,"order":150,"children":327},"Team creation Flow","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fteam-create",[],{"title":329,"path":330,"order":150,"children":331},"User Login Flows","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Flogin",[],{"title":333,"path":334,"order":150,"children":335},"User Sign up Flow","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fsignup",[],{"title":152,"path":337,"order":150,"children":338},"\u002Fdocs\u002Fcontribute\u002Fteam-broker",[],{"title":340,"path":341,"order":150,"children":342},"Working with Feature Flags","\u002Fdocs\u002Fcontribute\u002Ffeature-flags",[],{"title":344,"path":345,"order":150,"children":346},"device-agent","\u002Fdocs\u002Fdevice-agent",[347,351,354,358,362,367],{"title":348,"path":349,"order":164,"children":350},"FlowFuse Device Agent Introduction","\u002Fdocs\u002Fdevice-agent\u002Fintroduction",[],{"title":174,"path":352,"order":146,"children":353},"\u002Fdocs\u002Fdevice-agent\u002Fquickstart",[],{"title":355,"path":356,"order":143,"children":357},"Register your Remote Instance","\u002Fdocs\u002Fdevice-agent\u002Fregister",[],{"title":359,"path":360,"order":192,"children":361},"Running the Agent","\u002Fdocs\u002Fdevice-agent\u002Frunning",[],{"title":363,"path":364,"order":365,"children":366},"Deploying your Flows","\u002Fdocs\u002Fdevice-agent\u002Fdeploy",6,[],{"title":368,"path":369,"order":150,"children":370},"install","\u002Fdocs\u002Fdevice-agent\u002Finstall",[371,376,380,384,388],{"title":372,"path":373,"group":374,"order":164,"children":375},"Overview","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Foverview","DeviceAgentInstallation",[],{"title":377,"path":378,"group":374,"order":146,"children":379},"Device Agent Installer","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Fdevice-agent-installer",[],{"title":381,"path":382,"group":374,"order":180,"children":383},"Docker Install","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Fdocker",[],{"title":385,"path":386,"group":374,"order":143,"children":387},"Kubernetes Install","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Fkubernetes",[],{"title":389,"path":390,"group":374,"order":192,"children":391},"Manual Install with NPM","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Fmanual",[],{"title":393,"path":394,"order":150,"children":395},"hardware","\u002Fdocs\u002Fhardware",[396,399,403,407],{"title":372,"path":397,"order":164,"children":398},"\u002Fdocs\u002Fhardware\u002Fintroduction",[],{"title":400,"path":401,"order":146,"children":402},"ctrlX - Node-RED","\u002Fdocs\u002Fhardware\u002Fctrlx-node-red",[],{"title":404,"path":405,"order":180,"children":406},"ctrlX - Device Agent","\u002Fdocs\u002Fhardware\u002Fctrlx-device-agent",[],{"title":408,"path":409,"order":180,"children":410},"Raspberry Pi with Raspbian","\u002Fdocs\u002Fhardware\u002Fraspbian",[],{"title":368,"path":412,"order":150,"children":413},"\u002Fdocs\u002Finstall",[414,417,421,425,445,449,453,457],{"title":372,"path":415,"order":164,"children":416},"\u002Fdocs\u002Finstall\u002Fintroduction",[],{"title":418,"path":419,"order":150,"children":420},"Configuring FlowFuse","\u002Fdocs\u002Finstall\u002Fconfiguration",[],{"title":422,"path":423,"order":150,"children":424},"DNS Setup","\u002Fdocs\u002Finstall\u002Fdns-setup",[],{"title":426,"path":427,"order":150,"children":428},"Docker install","\u002Fdocs\u002Finstall\u002Fdocker",[429,433,437,441],{"title":430,"path":431,"order":150,"children":432},"Add Project Stacks on Docker","\u002Fdocs\u002Finstall\u002Fdocker\u002Fstacks",[],{"title":434,"path":435,"order":150,"children":436},"Docker Engine on Windows","\u002Fdocs\u002Finstall\u002Fdocker\u002Fwindows-docker-ce",[],{"title":438,"path":439,"order":150,"children":440},"Docker from AWS Market Place","\u002Fdocs\u002Finstall\u002Fdocker\u002Faws-marketplace",[],{"title":442,"path":443,"order":150,"children":444},"Docker on Digital Ocean","\u002Fdocs\u002Finstall\u002Fdocker\u002Fdigital-ocean",[],{"title":446,"path":447,"order":150,"children":448},"Email configuration","\u002Fdocs\u002Finstall\u002Femail-providers",[],{"title":450,"path":451,"order":150,"children":452},"First Run Setup","\u002Fdocs\u002Finstall\u002Ffirst-run",[],{"title":454,"path":455,"order":150,"children":456},"FlowFuse File Storage","\u002Fdocs\u002Finstall\u002Ffile-storage",[],{"title":458,"path":459,"order":150,"children":460},"Install FlowFuse on Kubernetes","\u002Fdocs\u002Finstall\u002Fkubernetes",[461,465,469,473,477,481],{"title":462,"path":463,"order":150,"children":464},"AWS EKS Installation","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Faws",[],{"title":466,"path":467,"order":150,"children":468},"AWS EKS Installation with Terraform and Helm","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Faws-terraform",[],{"title":470,"path":471,"order":150,"children":472},"Digital Ocean Kubernetes Installation","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Fdigital-ocean",[],{"title":474,"path":475,"order":150,"children":476},"Ingress Controller Migration","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Fingress-controller-migration",[],{"title":478,"path":479,"order":150,"children":480},"Kubernetes Project Stacks","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Fstacks",[],{"title":482,"path":483,"order":150,"children":484},"OpenShift Installation","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Fopenshift",[],{"title":486,"path":487,"order":150,"children":488},"migration","\u002Fdocs\u002Fmigration",[489,492],{"title":258,"path":490,"order":164,"children":491},"\u002Fdocs\u002Fmigration\u002Fintroduction",[],{"title":493,"path":494,"order":150,"children":495},"Node-RED Tools plugin","\u002Fdocs\u002Fmigration\u002Fnode-red-tools",[],{"title":497,"path":498,"order":150,"children":499},"user","\u002Fdocs\u002Fuser",[500,504,508,512,516,521,525,529,533,537,541,545,557,561,564,568,572,576,580,584,588,592,596,600,604,608,610,614],{"title":501,"path":502,"order":164,"children":503},"Getting Started","\u002Fdocs\u002Fuser\u002Fintroduction",[],{"title":505,"path":506,"order":164,"children":507},"Static asset service","\u002Fdocs\u002Fuser\u002Fstatic-asset-service",[],{"title":509,"path":510,"order":146,"children":511},"Bill of Materials","\u002Fdocs\u002Fuser\u002Fbill-of-materials",[],{"title":513,"path":514,"order":146,"children":515},"FlowFuse Concepts","\u002Fdocs\u002Fuser\u002Fconcepts",[],{"title":517,"path":518,"order":519,"children":520},"Instance States","\u002Fdocs\u002Fuser\u002Finstance-states",10,[],{"title":522,"path":523,"order":150,"children":524},"Changing the Stack","\u002Fdocs\u002Fuser\u002Fchangestack",[],{"title":526,"path":527,"order":150,"children":528},"Custom Hostnames","\u002Fdocs\u002Fuser\u002Fcustom-hostnames",[],{"title":530,"path":531,"order":150,"children":532},"Custom Node Packages","\u002Fdocs\u002Fuser\u002Fcustom-npm-packages",[],{"title":534,"path":535,"order":150,"children":536},"Dashboards","\u002Fdocs\u002Fuser\u002Fdashboards",[],{"title":538,"path":539,"order":150,"children":540},"DevOps Pipelines","\u002Fdocs\u002Fuser\u002Fdevops-pipelines",[],{"title":542,"path":543,"order":150,"children":544},"Environment Variables","\u002Fdocs\u002Fuser\u002Fenvvar",[],{"title":546,"path":547,"order":150,"children":548},"FlowFuse Expert","\u002Fdocs\u002Fuser\u002Fexpert",[549,553],{"title":550,"path":551,"order":150,"children":552},"AI in Node-RED","\u002Fdocs\u002Fuser\u002Fexpert\u002Fnode-red-embedded-ai",[],{"title":554,"path":555,"order":150,"children":556},"Chat Interface","\u002Fdocs\u002Fuser\u002Fexpert\u002Fchat",[],{"title":558,"path":559,"order":150,"children":560},"FlowFuse File Nodes","\u002Fdocs\u002Fuser\u002Ffilenodes",[],{"title":32,"path":562,"order":150,"children":563},"\u002Fdocs\u002Fuser\u002Fmqtt-nodes",[],{"title":565,"path":566,"order":150,"children":567},"FlowFuse Persistent Context","\u002Fdocs\u002Fuser\u002Fpersistent-context",[],{"title":569,"path":570,"order":150,"children":571},"FlowFuse Project Nodes","\u002Fdocs\u002Fuser\u002Fprojectnodes",[],{"title":573,"path":574,"order":150,"children":575},"FlowFuse Tables","\u002Fdocs\u002Fuser\u002Fff-tables",[],{"title":577,"path":578,"order":150,"children":579},"Groups","\u002Fdocs\u002Fuser\u002Fdevice-groups",[],{"title":581,"path":582,"order":150,"children":583},"High Availability mode","\u002Fdocs\u002Fuser\u002Fhigh-availability",[],{"title":585,"path":586,"order":150,"children":587},"HTTP Access Tokens","\u002Fdocs\u002Fuser\u002Fhttp-access-tokens",[],{"title":589,"path":590,"order":150,"children":591},"Instance Settings","\u002Fdocs\u002Fuser\u002Finstance-settings",[],{"title":593,"path":594,"order":150,"children":595},"Logging","\u002Fdocs\u002Fuser\u002Flogs",[],{"title":597,"path":598,"order":150,"children":599},"Role-Based Access Control","\u002Fdocs\u002Fuser\u002Frole-based-access-control",[],{"title":601,"path":602,"order":150,"children":603},"Shared Team Library","\u002Fdocs\u002Fuser\u002Fshared-library",[],{"title":605,"path":606,"order":150,"children":607},"Snapshots","\u002Fdocs\u002Fuser\u002Fsnapshots",[],{"title":152,"path":155,"order":150,"children":609},[],{"title":611,"path":612,"order":150,"children":613},"Teams","\u002Fdocs\u002Fuser\u002Fteam",[],{"title":615,"path":616,"order":150,"children":617},"User Settings","\u002Fdocs\u002Fuser\u002Fuser-settings",[],1786546045748]