You can use the Get() function to get a list of the current objects to calculate the current workload for the users.
Parse that into an array or object so you can find out which one has the least amount.
var curIncident = Get("Incident#", "$(RecId)");
var BOFieldObj = Get("frs_data_business_object_field#", curFieldConnectorServiceTrigger.Fields["BOFieldName"]);
You can then use the Update() function to update the object with the desired value.
"TSSRecID" : curFieldConnectorService.Fields["RecId"],
"ObjectType" : "Incident",
"ParentLink" : "$(RecId)",
"ServiceName" : curFieldConnectorService.Fields["ServiceName"],
"IsComplete" : false
You can use the Create() function if you were wanting to create something like tasks for the users instead.
var newConnecterTransaction = Create("frs_def_connector_transaction#");
https://help.ivanti.com/ht/help/en_US/ISM/2017/Index.html#Configure/ImportExportData/Web Service Methods.htm%3FTocPath%3DDevelop%7CWeb%2520Service%2520Scripting%7C_____1