0

I have a SharePoint Online site with two lists.

List 1 gets populated when a new Microsoft Form is submitted. The form has 34 questions that a user can answer Yes, No , N/A. When the form is submitted all the details from the form is inserted into 1 line item (row) in the List 1.

I would like a workflow to look for any questions that was answered "No" and create a single line for that response on List 2 (the task list).

Example: If a user submitted a form and answered "No" to 10 questions, List 1 would have one entry with all the form details and List 2 would have 10 new entries with each row displaying the user name and the question that they answered "No" to.

I've created the flow to get the form response into List 1, need assistance with looking for the "No" and creating individual lines on List 2.enter image description here

4
  • 1
    You would need [When a new response is submitted] trigger and [Get response] action from MS Forms, and [Create item] from SharePoint action. You can start and I can help on that to build the logic for 'No' answers Commented Oct 12, 2020 at 15:01
  • @MatiurRahman Thanks for offering to help, I've created the flow to pull the data from the MS Forms into List 1.
    – April B
    Commented Oct 12, 2020 at 15:49
  • Can you describe the columns in List2? What do you exactly want to record in List2? Do the questions maintain any numbering like 1, 2, 3 to identify? I don't want you to use a lengthy "If else" condition as there're 34 questions. So, trying to see if there's a better way to do it Commented Oct 12, 2020 at 18:38
  • In List 2 I would copy over these fields from List 1: Requester, Director, Department, Application Name and the question that the user answered No to. I've created the flow to copy Requester, Director, Department and Application Name. Just not sure how to copy the question over and create a new item for each No. The questions don't contain any numbering.
    – April B
    Commented Oct 12, 2020 at 18:46

1 Answer 1

1

Please see the screenshots below describing how to save the Questions-Answered-No to List 2

Concept

Convert the entire survey response into an Array and loop through the array to find out the indices/positions of the "No" answers in the array and lookup the corresponding questions initialized in another array.

Assumptions: The order of questions on the MS Forms should be the same. That's "Shuffle questions" may not be allowed.

The Entire Flow

enter image description here

Detail 1

enter image description here

Detail 2

enter image description here

Detail 3

enter image description here

Let me know if you have questions or need further clarifications.

3
  • Matiur Rahman, I appreciate your effort in mapping this out for me. Can you provide further clarification on the "Split" in Detail 2? What do I put in place of the "replace" split(replace(replace(replace(string(outputs('Get_response_details')?['body']),'{',"),'}',"),'"',"),',') Also can you show me what's in the last step Increment Index. I'm new to this and don't completely understand the formulas. Thanks in advance.
    – April B
    Commented Oct 14, 2020 at 16:31
  • From the running history of the flow, you can see the output JSON from Get_response-details. If you examine that, you will see these chars that I put in the replace(). The goal is to create an array from that output and then loop though it to find the "No" answer and then match that to the Question. For Increment Index, you add 1 to the Index variable to retrieve the next value from the Array Commented Oct 14, 2020 at 18:52
  • Thank you for all your help!
    – April B
    Commented Oct 14, 2020 at 20:03

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.