# Alarm Pipeline Calculated Roster

**URL:** <https://forum.inductiveautomation.com/t/alarm-pipeline-calculated-roster/108053>\
**Category:** Ignition\
**Created:** [July 2, 2025, 4:51pm UTC](https://forum.inductiveautomation.com/t/alarm-pipeline-calculated-roster/108053 "2025-07-02T16:51:31Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Andrew\_Fiegen](https://avatars.discourse-cdn.com/v4/letter/a/e480ec/32.png) [@Andrew\_Fiegen](https://forum.inductiveautomation.com/u/Andrew_Fiegen)\
**Post date:** [July 2, 2025, 4:51pm UTC](https://forum.inductiveautomation.com/t/alarm-pipeline-calculated-roster/108053/1 "2025-07-02T16:51:31Z")

</div>

I'm trying to create a Calculated Roster that consists of a Direct Roster + the user that is logged into the Client. I'm struggling to come up with the function that gathers the logged in user's info. Could someone please shed some light on that?

Thanks!  
Andrew

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [July 2, 2025, 4:57pm UTC](https://forum.inductiveautomation.com/t/alarm-pipeline-calculated-roster/108053/2 "2025-07-02T16:57:18Z")

</div>

There's no guarantee there is only one logged in user. Or there might be zero. You should include logic in your UI that checks for appropriateness and saves the UI session ID in a memory tag. A script in the pipeline could then check that session ID, make sure it is still connected, and use the user information from it.

---

<div class="post-metadata">

**Author:** ![Andrew\_Fiegen](https://avatars.discourse-cdn.com/v4/letter/a/e480ec/32.png) [@Andrew\_Fiegen](https://forum.inductiveautomation.com/u/Andrew_Fiegen)\
**Post date:** [July 2, 2025, 5:29pm UTC](https://forum.inductiveautomation.com/t/alarm-pipeline-calculated-roster/108053/3 "2025-07-02T17:29:56Z")

</div>

Looks like I can't use the function system.user.getUser() within the Calculated Roster script presumably because, like you said, there could be multiple users logged in. Is there a function that pulls all Client Details from the gateway? I could then filter by Project and append those users to the Direct Roster.

---

<div class="post-metadata">

**Author:** ![Andrew\_Fiegen](https://avatars.discourse-cdn.com/v4/letter/a/e480ec/32.png) [@Andrew\_Fiegen](https://forum.inductiveautomation.com/u/Andrew_Fiegen)\
**Post date:** [July 2, 2025, 5:37pm UTC](https://forum.inductiveautomation.com/t/alarm-pipeline-calculated-roster/108053/4 "2025-07-02T17:37:13Z")

</div>

I think I found it. system.util.getSessionInfo().

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [July 2, 2025, 5:37pm UTC](https://forum.inductiveautomation.com/t/alarm-pipeline-calculated-roster/108053/5 "2025-07-02T17:37:35Z")

</div>

> **[system.util.getSessionInfo | Ignition User Manual](https://www.docs.inductiveautomation.com/docs/8.1/appendix/scripting-functions/system-util/system-util-getSessionInfo)**
>
> Returns a PyDataSet holding information about all of the open Designer sessions and Vision Clients.

and/or

> **[system.perspective.getSessionInfo | Ignition User Manual](https://www.docs.inductiveautomation.com/docs/8.1/appendix/scripting-functions/system-perspective/system-perspective-getSessionInfo)**
>
> Returns information about one or more Perspective Sessions.

Depending on your UI choice.
