# UIBuilder updating multiple clients

**URL:** <https://discourse.nodered.org/t/uibuilder-updating-multiple-clients/94748>\
**Category:** General\
**Tags:** uibuilder\
**Created:** [20 January 2025 03:01 UTC](https://discourse.nodered.org/t/uibuilder-updating-multiple-clients/94748 "2025-01-20T03:01:22Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![drshoemake](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/drshoemake/32/97759_2.png) [@drshoemake](https://discourse.nodered.org/u/drshoemake)\
**Post date:** [20 January 2025 03:01 UTC](https://discourse.nodered.org/t/uibuilder-updating-multiple-clients/94748/1 "2025-01-20T03:01:22Z")

</div>

I'm new to Node-Red and UIBuilder. I'm building a kiosk system that has one page on two separate displays and I was wondering how I keep the displays synchronized. I have multiple buttons on a single page, but if I hit a button on one display, I can highlight that button on that display using Javascript, I can even send a return call to that client to run Javascript, but getting the second to show the same button as highlighted has me struggling.

---

<div class="post-metadata">

**Author:** ![TotallyInformation](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/totallyinformation/32/31_2.png) [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Post date:** [20 January 2025 11:27 UTC](https://discourse.nodered.org/t/uibuilder-updating-multiple-clients/94748/2 "2025-01-20T11:27:29Z")

</div>

Hi, thanks for using UIBUILDER.

When you send a messages to a uibuilder node, they are filtered by `msg._socketId`, and the `clientId`, `tabId`, `pageName` properties that may appear in `msg._ui` or `msg._uib`.

So if you send something that has none of those, the message will be forwarded to all connected clients.

To get an action on 1 connected client to affect all the others, send it back to Node-RED and then loop it back to the input. Removing the above details as needed (you probably want to remove both `msg._uib` and `msg._ui` properties before looping it).

Of course, you need to make sure that you don't end up with a message loop. So you might want to include the `uibuilder.clientId` or some other flag in the message you send back to Node-RED and include some code in the front-end process to make sure you don't re-output the change when it hits the other clients.

---

<div class="post-metadata">

**Author:** ![drshoemake](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/drshoemake/32/97759_2.png) [@drshoemake](https://discourse.nodered.org/u/drshoemake)\
**Post date:** [28 January 2025 16:31 UTC](https://discourse.nodered.org/t/uibuilder-updating-multiple-clients/94748/3 "2025-01-28T16:31:21Z")

</div>

Excellent! I (finally) tested it out and it works like a charm. Once again, great job with the software!

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)\
**Post date:** [11 February 2025 16:31 UTC](https://discourse.nodered.org/t/uibuilder-updating-multiple-clients/94748/4 "2025-02-11T16:31:23Z")

</div>

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.
