I am trying to create a weekly reminder flow on a SharePoint list. My list has multiple columns(text) that corresponds to departments. See below:
Title(unique), Dept1(Text - default value No), Dept2(Text - default value No), Dept3(Text - default value No),.... and so on till Dept30.
Weekly reminder should check each item in the list, send emails to respective departments if the value is not changed from No to Yes.
Eg: Flow runs on Monday and if for 1st item Dept1 to Dept10 has values No and all other depts value is Yes, then send emails to departments 1 to 10 to take action on that particular item. Similarly flow should check other items as well. And then the flow ends.
Email addresses are not stored in the list. so will need a solution to store email addresses in variables for all departments before sending emails.
Another way that I think is if flow can check columnwise. Meaning, if for Dept1 get all items whose value is No and send email to that particular department listing all items to take action. And then continue the same for Dept2, Dept3 and so on. And then the flow ends.
Not sure I understood this correctly. Could you please do a screenshot of your SharePoint List and sample list records? That will be really helpful. Also think about creating another list for storing all the emails of departments. This will be useful when flow ready to send the email it can read from the list and find the relevant address compared to hard coded in flow as variables.
You will need to do a condition for each column to match i.e. Dept1 = No then they get a email right?
If you need a individual email just include that as a action in the correct branch of the condition i.e. yes branch.
If you want one email sent then, you can setup a string variable and append to it in each condition with their appropriate email address with a ; delimeter
You should maybe have one last condition to ensure that is not empty, so not to error your flow if the list item has all Yes's
Thank you abm and Gristy.
I created a list to save email addresses of all departments with two columns. Where Title contains names(Dept1, Dept2, ...) which are my column names in another list and another column named Email which contains respective email addresses.
I am able to consolidate all items whose value is No by checking condition of each column and sending email. But, for that I need to create same loop 30 times. Is there a way that I can use one loop to check condition of all required columns.
I am thinking to use Get Items from second list which has Department names and email addresses. And use Apply to Each for this list to check column names of first list if the value is No. And send email to that loops email address.
Here is my Flow until now:
So here you can see there are two parallel branches to check condition for each column. Likewise I want to avoid creating 30 branches to check each column. I would like to use one branch/loop to check for each column.
Yes use 1 Get Items and 1 Loop. Then just add whatever conditions you need inside that loop. You can then build a string of email addresses i.e. email1;email2;email3 etc in the "Yes" branch and then pass that to your e-mail at the end.
Sorry but I did not understand your solution.
Below is my list where I need to check condition against each column dynamically. I do not want to create 30 parallel branches for 30 columns. Looking for a solution to use only one branch.
Then I created another list to save email addresses as below:
So basically my column names in Discontinued Items list will reside in column values of Stores list in Title column.
I am already getting items from Discontinued Items list. I was thinking to get items from stores list and then apply to each item. Ex: Use first column value DC from Stores list to check if it is No in Discontinued Items list.
What should i use to check my condition. Is it current item or value - item or something else.
Yes you would want to use one branch.
- Condition if DC equal to YES then append to string concat('email@example.com',';')
- Condition if S02 equal to YES then append to string concat('firstname.lastname@example.org',';')
-repeat for each department
it needs to be 1 branch so that you can append to the string to get all the emails to send 1 email.
That is what I am trying to avoid to check multiple conditions with hard coded values like DC, S02,...
I need to check condition dynamically with stores list values in Title field and check if it is No in Discontinued Items list with column names. Using only one condition box.
So when for-loop runs for Stores list, it will take first value as DC and then go in second for-loop(Discontinued Items list) and check column name DC(This is where I am struggling) is equal to No for each item. And, then it takes second value as S02 from Stores list and then go in second for-loop and check column name S02(Again, this is where I am struggling) is equal to No for each item. And so on..
Hope that makes sense.