Unfortunately , In SharePoint workflow platform 2013 and 2010, there is no OOTB action to check if the user belongs to a specific group.
Meanwhile, You can do this
- In SharePoint workflow 2013 via REST or via loop as a workaround.
- But Unfortunately , in SharePoint Workflow 2010 you only can build your own custom workflow activities.
Note : Don't try to check this solution http://spdactivities.codeplex.com/ I am pretty sure it's not working for SharePoint 2013.
My suggestion : No need for workflow at this section , try to build Event Receiver to update directly your team column based on the group of the current user as the following
SPSecurity.RunWithElevatedPrivileges(delegate(){
using (SPSite site = new SPSite(properties.SiteId))
{
using (SPWeb web = site.OpenWeb(properties.Web.ID))
{
SPUser user = properties.Web.CurrentUser;
SPGroup group = web.SiteGroups[GroupName];
if (!user.InGroup(group))
{
// update the list item
}
}
}
}
// ٍSEARCH USER WITHIN GROUP
public static bool InGroup(this SPUser User, string GroupName)
{
return User.Groups.Cast<SPGroup>().Any(g => g.Name.ToLower() == GroupName.ToLower());
}
For more details about event receiver checks What are the differences btw "properties.Web.CurrentUser;" & "web.Users.GetByID(properties.CurrentUserId);" inside my Event Receiver