Our team uses Tulip apps across multiple workstations. Operators frequently move between stations and are expected to sign out of one interface before signing into another. However, in practice, sign-outs are sometimes missed. This results in a single user being signed in on multiple workstations simultaneously, even though they are only working at one station.
This creates issues with data accuracy, traceability, and accountability, since activity may be attributed to the wrong workstation or appear as if a user is working in multiple places at once.
I am requesting a feature that allows administrators to define a user role (for example, “Operator”) that can only be signed into one interface at one station at a time. If a user with this role attempts to sign into a second interface, Tulip could either automatically sign them out of the previous station or block the new sign-in with a clear message.
This would greatly improve data integrity and reduce operator errors in multi-station environments.
Hi Kaylee, have you tried to use the “Users Table” for this? You could manage the user’s active station name with a field in the user table. Then, if they already have an active station, upon starting the app you could prevent them from continuing if a value is present in that field in the user table. Would that help or should I explain in a little more depth?
Hi Kaylee, yes it is. By default, it is only available for Account Owners to edit, so I am not sure if you have those permissions. Here are more details about it: Update user fields from apps
It would go something like this:
Add a field to the User Table called “Active Station” and make it a station data type
Add the users table to the app via a record placeholder
Load the user record when the app starts using the logged in user
Add a trigger to check if the logged in user has a value in the Active Station field
If yes, send them out of the app and give them a message that they are already logged into another station
If no, allow them into the app and set the Active Station value to their current station
When they log out of Tulip, add a trigger action to clear that station field in the User Table so you confirm that they have logged out.
Yes, I am an Account Owner. However, our company currently uses 50+ Tulip apps. Does this mean we need to update the User table and then add logic in each individual app to reference that table, or is there a way to implement this logic directly within the User table so that it automatically applies whenever a specific user logs into any app? I hope that makes sense.
Yes it makes sense- you would need to add the logic to every app, correct.
If you wanted a solution outside of apps, the other option is the Stations API: /api/stations/v1/stations
You could create a script that polls this API every 30 seconds, and looks to see if any user is logged into multiple stations. If they are, you could call another API to send that user a notification in the middle of the session or shut down their session entirely.