We’re in the process of moving from Nintex O365 to Nintex Automation Cloud and I’m really struggling with this migration. We have a lot of workflows that query approver lists. The approver lists are made up of a Title and a SharePoint Group. I’m trying to query the SharePoint group, but I have no idea to pull the emails from that group to put it in a task. The Object Variables are throwing me off since we had “people” variables in our older Nintex version. Does anyone have advice on the easiest way to do this?
Thanks in advance!
Page 1 / 1
Ultimately the steps are below:
Step #1 - Get members of a sharepoint group action and set output.
Step #2 - Add an assign a task and simply insert your “emails” collection from previous step output into the assignee field
NAC has made collections of information a big easier by using objects. It takes a moment to get used to it from the old Nintex Workflow for Office 365 application. Once you do, you will love it, I’m sure of it. :)
You don’t have to build a collection of emails, it’s already there for you. You can insert the “emails” collection in a log so you can see how it shows up as text. I will mention though, it won’t send to everyone in the group if the group exceeds more than 20 users. It will only send to 20 of the total users, and I have no idea how it determines which ones to send to.
Thank you! My problem is that the group will not always be the same. We have a dynamic approver process and the workflow queries a list based on an office selection. I need to be able to look at the current item’s office, then query an approver list to find that specific office and pull the approver group for that office from that list.
You said a sharepoint group. Are the approvers stored in a list or sharepoint group. Are the groups stored in a list? Please elaborate more or send screenshots to better resolve your issue.
If SharePoint groups are used for approvers per office let me know and i can give steps on that.
Ok went back and read your response again. From the sounds of it your approvers are listed in a list with maybe the office value in another column? Can you confirm?
It also sounds like your office values are in primary list triggering the workflow and the approvers list. Can you confirm?
@dani38 Here are the steps to query only the approvers for the “office” selection from the list item that triggered the workflow. Hope this helps. :)
Approver List Example:
Primary List Example:
Step 1 - Query your “approver” list and use a condition to only pull records in which belong to that office passed from your start event (primary list).
Step 2a - If only one list item is returned ever for your approver list
If only one list item will ever be returned from your approver list (meaning your approver list only has one list item per office and your approvers are all listed in the person or group field like my example of the approver list above), then just pass the approver email field through from your approvers list object into your task assignee. Finish configuring your task, and you are DONE.
Assign a task
Here is the output of the approver (email) for the one list item returned in my approver list (that holds multiple persons to one office)
Step 2b - If more than one list item is returned for your approver list
If multiple list items will be returned for your approver list for each office, it will be more steps. You have two options that I know of at this point, pass your emails into a collection or build a string. I am using a create a text string for this example. Easier for me then building indexes. Even more actions and steps if you have to index.
Loop for action
Branch by condition
Create a text string on each branch by condition
Assign a task
Your workflow would look like this when done:
Substep #1 - Configuration of Loop for each action - you need to loop through each list item returned from approvers list
Substep #2 - Configuration of condition - you need to build a string in my example so you have to create a text variable (mine is “txt_approverdistribution”).
Substep #3 - To configure the create a text strings on both branches you want to pass the approver email from your loop for each object. That is what this looks like for the following two screenshots for left vs right branch.
Configuration for right branch (if variable is empty)
Configuration for left branch (if variable is not empty) - note: this is required, or you will just keep replacing your variable, you need to build your variable after the first loop updates it with the first email.
Substep #4 - Assign a task - if you go this route, you have to pass your text variable of emails you just built. Do not pass the approver email field from your approver object, that will only pass the first item through.
We were using SharePoint groups instead of adding multiple people to each line item in the approver group. You can see below that we have SP groups. I did this because we have numerous independent review and approval processes across our SP environment, but the approvers can be the same for each area. I would be able to update each group on one site, but it would update numerous workflow approver lists. Like the QA Dep Sec group is used in numerous workflows, but I change it one place and it changes everywhere.
I tried to break it down by individuals the way you showed in your approver list example above and that seems to work when querying the approver list. It will just mean more manual updating of each workflow approver list that we have.
I really appreciate you taking your time to walk through this!!! I was getting extremely frustrated with this new layout. I’ve been working with Nintex for almost 8 years and was so used to the older version. Thank you!
In theory you can still do that just take the list out of your equation. Create a group for the hpcp, affairs and specialists roles or offices.even if its just one person in s group its still a group.
You still update people in one spot..the SharePoint groups.
All your workflows would instead need to have a branch by value for office value. Then each branch would need to have a set variable to set a text variable for group name then pass group name variable to your get members from sharepoint group action, then just pass collection of emails returned to your task.
And no problem at all, i hope you are able to find and easier way that works for you. It can get frustrating at times by hang in there. Good luck