The steps below should do the trick for the Idea from this link:
https://www-secure.symantec.com/connect/ideas/assign-and-reassign-searches-should-only-return-users-are-servicedesk-technicians
I. Advanced Incident Submit Form:
SD.Feeder.TechnicianIncidentForms > Primary model > Create Incident dialog > User Interaction tab > Forms Model
The simplest way seems to be adding a check after results have been received.
1. Add a 'Configurable Collection Filter' component after 'SearchUser (8)' on 'Found' path:
- Data Type: LogicBase.Core.Ensemble.UserMan.User
- Array Variable Name: FoundAssignees
2. Edit the Filter model in that component
3. Add 'GetUserGroups' component:
- Inputs: UserEmail: Process Variables > Add > Element.PrimaryEmail
- Outputs: Result: UserGroupsList
4. Add 'Item Is In Collection' component:
- Data Type: Text
- Array Variable Name: UserGroupsList
- Item: Constant Value: Support I
5. Connect the outputs from 'Item Is In Collection' to
- True: Keep Value
- False: Filter Out Value
This will leave only users in Support I group. To include users in other groups (Support II, Service Managers, custom technician groups etc), just add more similarly configured 'Item Is In Collection' components onto the 'False' path of previous one.
Offtopic, but as this has been asked recently, you might as well also sort the results while you are already modifying that workflow:
- Add a 'Simple Collection Sort' component on the same path
- Data Type: LogicBase.Core.Ensemble.UserMan.User
- Sort Field: FirstName
- Array Variable Name: FoundAssignees
- Sort Direction: Ascending
II. Incident Reassignment Smart Task:
SD.IncidentEscalation > Primary model
There are two Embedded models called 'Search Users' - In 'Advanced Escalation Settings' and 'Specific Escalation'. Both of these should be modified. As these models already include looping through found users, we can add the same group list checking into these loops:
1. Add 'GetUserGroups' component as the first thing after 'For Each Element in Collection':
- Inputs: UserEmail: Process Variables > Add > UserFoundInSearch.Email
- Outputs: Result: UserGroupsList
2. Add 'Item Is In Collection' component:
- Data Type: Text
- Array Variable Name: UserGroupsList
- Item: Constant Value: Support I
3. Connect the outputs from 'Item Is In Collection' to
- True: continue to 'Create Assignment Target'
- False: directly to 'For Each Element in Collection', skipping the rest of the looped components.
Again - this will leave only users in Support I group. To include users in other groups (Support II, Service Managers, custom technician groups etc), just add more 'Item Is In Collection' components onto the False path of previous one.