I’m looking for an OOTB solution for a SharePoint issue. As part of a program I’m involved with, we have been provided a pool of virtual machines that we need to assign to application owners so they can test their applications on Windows 10 for compatibility.

We have two SharePoint lists.

The first list (LIST1) contains the names of the virtual machines, who they are signed out to, the date we sign the VM’s out, the OU, etc. This list is updated occasionally with the names of additional devices made available to us.

The second list (LIST2) contains the application information such as application name, application owner, test dates, assigned VM names, etc. There are two fields in LIST1 that contain the same VM workstation name (I’ll say why in a second). When an application owner decides they’ll need VM’s to test on, they will contact the group to let us know how many they’ll need and what OU the VM’s need to be in (DEV, QA, PROD, etc.). The team will go to LIST2 and assign VM’s based on which devices are still available from the pool. Rather than have the team have to manually refer back to LIST1 to see what VM’s are still available, I’ve created a lookup column in LIST2 that refers to LIST1 – more specifically a column containing a COPY of the workstation names. From that LIST2 lookup column, the team can select multiple VM’s for use. The data is stored in that field and the VM’s are separated by semicolon.

It was my desire to have a workflow built that would evaluate the semicolon delimited values in the field in LIST2. Upon evaluating the first value, the workflow would find the corresponding VM name in LIST1 and update the app owners name, date loaned, etc., from the related fields in LIST2. It would then delete the contents of the duplicate VM field in LIST1 so the VM no longer shows as a choice in LIST2’s lookup field. The workflow would then evaluate the second value in the semicolon delimited value and continue the update process until there are no more values to evaluate.

I’ve created a couple of trimmed down test lists to try my workflows out so I’m not messing around with actual data.

In trying to develop a solution, I hit my first roadblock right off the bat. I wanted to set workflow logic that would look at LIST2(Workstation name 2) and if it contained values were present in LIST1(Workstation name) it would take action based on those values. However, SharePoint “Condition” logic only allows either “equals” or “does not equal” - but doesn’t allow “contains”. I’ve tried several suggestions involving string variables, but none have worked for me so far.

I would really appreciate some guidance on how to approach this. I’m familiar with SharePoint lists and have created several workflows in the past, but I’m not a coder. I also don’t have access to the SharePoint servers themselves should any server side code be needed.

1 Answer 1


I think there are two things you are trying to achieve:

  1. Condition logic with 'Contains', 'Begin with' etc
  2. Extract String with delimited value i.e. semicolon

You can achieve both using the Workflow.

  1. Lookup value will only show 'Equal or does not equal'. However, if you store the current value to a local variable you will be able to see more options.

enter image description here

  1. You can extract value from the lookup value stored. Use 'Find a string in String' action. It will give you an index where the delimited value is found. Do calculate to add +1 in the index value. Then use Action called 'Extract Substring from Index in String'. It will be something like the screenshot provided.

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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