2

I currently have a list in SharePoint Online where project requests are logged and approved. Essentially, a list item (a project request) will go through a series of approvals by different people, and once the final approver reviews the request, a project number is added to a 'Project Number' field to mark its completion.

Until all people have approved, this project number field is left blank. It's only when it's filled in at the end that an email is fired off to the original requester to notify them.

I have set up a very basic workflow that runs every time a list item is changed. It simply fires off the email if the project number field is equal to 'not empty'.

enter image description here

This workflow works great when the project number is first entered. However, if a user then modifies another list item field after the project number is entered, this workflow is triggered again, resulting in the email being sent again.

I need a solution where, if the email is sent, this workflow will not run again.

I attempted something like below where a variable is used to try and end the workflow if the project number is entered. However, since the entire workflow is triggered every time a list item is changed, the variable just gets reset over and over and the same issue persists.

enter image description here

If anyone is able to help that would be great!

4

Create system column like "WFdone" - number - default 0 (you can hide it in forms[new,edit,view] with powershell) example here

At the start of workflow check IF WFdone = 1

  • IF NO - continue in workflow
  • IF YES - end workflow

You will set this WFdone to 1 after sending email before you will end workflow.

Hope it helps!

1

If you're using SP Online/O365, try building your workflow on Flow - it's much more robust in built-in features and dynamic fields, and more capable for building customizations.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.