Forum Discussion

Pn1995's avatar
Pn1995
Brass Contributor
Mar 14, 2019

Send a Mail When a Field in a SharePoint List has a value of Yes

Hello

 

We have a SharePoint List that people can add to / edit etc...

 

We want to have a Flow that monitors this list and when a field changes to Yes we want a email sent to a person that basically says "ID 123" has changed

 

Any idea how this can be done?

  • kevinmckeown8's avatar
    kevinmckeown8
    Steel Contributor

    Based on your original details, this sounds like a pretty straightforward Flow.

     

    Here is how I understand your question and the result you are looking for:

    1. An item in a SharePoint list is modified

    2. If a specific field value is changed to "Yes", then send an email.

     

    You can accomplish this with the following steps in Flow:

    1. When an item is created or modified (set this up for your specific list)

    2. Condition (check to see if your field is equal to "Yes")

    3. If the condition is true/yes, then use the Send an Email action

    4. If the condition is false/no (your field does not equal "Yes"), then do nothing.

     

    This Flow will run every single time that an item is modified in your list. However, it will only send the email if your field value is equal to "Yes". 

     

    If there are more nuances or requirements to the Flow scenario you are trying to create, please include them here. Otherwise, based on the initial ask, I believe this will suit your needs.

     

     

     

     

    • Dave Palmer's avatar
      Dave Palmer
      Brass Contributor

      kevinmckeown8 Hi.  Hoping you can help.  Like many, I'm struggling to find the answer.  I am LOVING Flow (and starting to promote in my org), but at risk of giving up where it just gets a little too advanced and time consuming.  I came across your response, which was one of the simplest (and closest to my issue) which I could find.

       

      I think I am close, just missing something obvious (at least I hope I am!).  I have got my flow working, I think the basics are all good.  Custom email to be sent once a SharePoint list item is modified, condition is to only send it if a choice value in a certain column is set to "Complete" (default value of the column is "Not complete").

       

      I add the list item, the column stays as "Not complete", email doesn't send.  Perfect.

       

      Couple of hours later, I modify the list item, the column still stays as "Not complete", email doesn't send.  Perfect.

       

      Next day, I edit the list item, change this certain column to "Complete", the email sends.  Perfect.

       

      Like I say, it's working.  My issue is STOPPING the email being sent again as soon as only one email has been sent.  Once the column is set to "Complete", it will never be set to "Not complete" again.

       

      Because I would normally go in and out of the list item at various times, I need some way of stopping the email being sent if the value was already "Complete" before modifying the list item.  Not sure if I need a loop of 1 or what (this is where I am struggling to find help)

       

      How do I stop the email getting sent when I go in and modify something else unrelated in the list item.  Every time I make a change somewhere else, the condition is still being met, so the email is being sent out every time the list item is modified.

       

      Thanks in advance!



      Dave

       

       

      • Rob Ellis's avatar
        Rob Ellis
        Bronze Contributor
        You could have the flow set the value of an extra column - e.g. set 'FlowHasRun' to 'True' - then check that value in the Flow, so the email is only sent if your column is 'Complete' AND 'FlowHasRun' column is 'false'
    • Prince1000's avatar
      Prince1000
      Copper Contributor
      what if, when my column change i want to send an email that states the value of the column.
      Ex: Column A will be the remarks column.
      so when user add a list on sharepoint, after then i will edit the the remarks field then when it saved it will send an email to the user
    • Yinka2450's avatar
      Yinka2450
      Copper Contributor

      kevinmckeown8 

      I created a similar flow that sends an email when a condition in a Share point list column is met i.e. send an email when 'status' eq replenish, send an e-mail. I used a scheduled flow but the problem is it keeps going through the entire table as scheduled and sends to the same people repeatedly except I delete the row. Is there a way to check only a new row and send a mail if condition is met?

  • WinfredLiu's avatar
    WinfredLiu
    Brass Contributor

    Hi Pn1995 

     

     

    Microsoft Flow triggers now have a built-in condition checker (in the settings). You can set a condition for a specific column, so that the trigger only fires when the condition is met.

     

    You can find more details here.

  • RobElliott's avatar
    RobElliott
    Silver Contributor

    At the moment flow that triggers when a specific SharePoint column is changed. A UserVoice request for it is at https://powerusers.microsoft.com/t5/Flow-Ideas/Trigger-flow-When-Item-is-Modified-only/idc-p/239328#M12798

     

    Possibly the only thing you could do is to start with a recurrence schedule, perhaps to run once or twice a day, then add a Get items action from the SharePoint list, then add a condition that if the field you are interested in equals Yes then send an email, otherwise don't. So it won't happen as soon as the column in the SharePoint list is modified but it will trigger soon after.

    Rob
    Los Gallardos

    • Pn1995's avatar
      Pn1995
      Brass Contributor

      oh ok thanks

       

      Would you have details on how to setup the recurring schedule?

      • RobElliott's avatar
        RobElliott
        Silver Contributor

        For the first item in the flow type recurrence into the box and select Recurrence Schedule. Set  the frequency - in my image below it's set to once a day but could be several hours or even after x minutes.

        Then set your time zone and the time it needs to run. After that do your Get items action and the rest of the flow.

        Rob
        Los Gallardos