I have had success with auto-assigning salespersons to sales orders through business events. It works OK.
I created a GI that displays the last date/time a salesperson was assigned to sales order. I then added an attribute/UDF to the employee screen to hold that date/time. This list is filtered where the attribute date <> the last sales order date, so that it only updates when the date changes.
From there, I created a 2nd GI to identify the oldest sale order that does not have a salesperson assigned. I linked this to the employee attribute and identified which salesperson had the oldest date/time.
An import scenario then updates the sales order using the 2nd GI. This process works OK as long as the order creation is spread 1-2 minutes apart.
There is also a checkbox on the employee screen that allows the end-users to choose who is included in the assignment process.
It does use a few ERP transactions, but it’s not too bad.