SOLVED

Quiz score available via Flow in Forms Pro?

Occasional Contributor

Hello,


Does anyone know if Forms Pro makes it possible to get a Quiz's Points Scored value using Flow?

 

Specifically, I need to use a Flow to access the Points Scored values from the spreadsheet made available by MS Forms by clicking on the Open in Excel from the Responses tab.

 

Here is the functionality I hoping is now available in Forms Pro from the MS Forms Suggestion Box:  https://microsoftforms.uservoice.com/forums/386451-welcome-to-microsoft-forms-suggestion-box/suggest...

 

Thanks

 

robertg

19 Replies
best response confirmed by rgentile (Occasional Contributor)
Solution

It does not appear MS Forms Pro makes a quiz's points scored available to Flow.

 

I created a MS Forms Pro Quiz

I created a Flow triggered when a MS Forms new response is submitted
I added MS Forms Get response details to the Flow

I added a SharePoint Create item to the Flow

 

I then took the quiz and the Flow triggered

 

I checked the OUTPUTS in Create item and did not see any reference to 'points scored' in the JSON.

 

So, I'm thinking getting MS Forms Quiz points via Flow is still not possible. 

 

If this is not a valid test or I am missing something, could someone please let me know?


Thanks

Confirmed.  I tried the same.  Anyone know how to get this information out of Microsoft Forms?@rgentile 

To add more detail: I'm using Microsoft Form quizzes to test employee subject knowledge. I was hoping to pull the results of the quizzes into a SharePoint list, which I could make visible to the employees, so they could see an overview on what subjects they've mastered and which they still need to work on. Microsoft Forms offers a great interface for the quizzes, but each quiz is stand alone, and I need to compile the results for the employees to review.

To do this in SharePoint now, I'd have to check each question's answer via the Flow and then calculate the results, which is an awful lot of work. Does anyone know another way of accomplishing the same thing? Maybe with a different Microsoft tool than SharePoint?

Hello @gbenoit 

 

We had to do what you are trying to avoid doing and it was a lot of work.

 

Requirements:  Users would take a MS Forms’ quiz. The grade earned would be stored in a SharePoint list.

 

Our first attempt we let MS Forms determine the grade earned, but we could not get at the points scored. So, our approach changed to determining the grade earned in Flow.

 

Here is (a simplified version) what we ended up doing:

  1. Each question on the form is worth 1 point
  2. Created Flow triggered on form submission
  3. In the flow we had variables for number of questions and a points counter
  4. We had checks for three types of questions: radio buttons, checkboxes, and ranking
  5. We looped through the form Response Details and checked if the answer was correct
  6. If the answer was correct we added 1 to points counter variable, if answer was wrong we did nothing
  7. When all the answers were checked, we calculated the grade (points counter divided by number of questions)
  8. We wrote the grade and exam info (exam name, course, user info, date, etc.) to a SharePoint List

This does create the dependency that if a question or answer in the form changes, the Flow must be updated.

 

Note: we had to create 37 Flows, so we created a template Flow then copied each item in the Flow to the clipboard (new Flow feature, click on 3 dots on right of item and choose Copy to my clipboard). We created the new Flow and pasted in each item from the clipboard then, where necessary, updated the item.  Using the Copy to my clipboard feature saved us a lot of time.

 

Good luck.

@rgentile 

 

This was driving me crazy for days, but i've found a workaround to mark quizzes through flows. it's a bit tricky, but should work. 

 

*This is my first post, and i'm not a developer* 

 

1. Get response details (forms)

2. Initialise a variable for each question in your quiz - you'll then use a condition to set that variable to either 1 or 0 

ryanVSS_0-1585038809021.png

3. use a condition to test the answer to the question and "Set variable" to add a point for a correct answer

ryanVSS_1-1585038987453.png

4. when all the questions have been completed you'll need to use a "compose" function to add all the variables (answers) together. *it's important to note that the ADD function only works for two variables, so you'l need to use nested functions

 

ryanVSS_2-1585039163159.png

 

5. now you just need to set the pass mark condition and what happens for pass/fails 

 

ryanVSS_3-1585039241793.png

 

 

Please accept this solution if you feel that it's a suitable workaround for marking quizzes with flows. 

 

cheers,

Ryan 

 

 

 

 

 

 

@ryanVSS I tried your workaround solution, but in the condition step to test the answer, the "set variable" attempts to update the initialized variable as a text string instead of a variable. Did you run into this? Am I missing something?

This worked like a charm in my case! Thanks a ton
Hi Andy,

sorry for the late reply, hope you got on ok?

if not, can you post your flow and i'll take a look at it to see if I can help.

cheers,
ryan
i think you need your initialise variable set to "interger" rather than "string"?

@ryanVSS can you provide some guidance on the nesting process for adding the points?

@ryanVSS 

 

Hey Buddy,

I have been trying to do this for 2 days now and I am getting an error message.

The inputs of workflow run action 'Compose' of type 'Compose' are not valid. The variable 'Answer1' must be initialized before it can be used inside the action 'Compose'.

Here is what I am trying to do...

 

dheeraj89_0-1617803893509.pngdheeraj89_1-1617803915950.pngdheeraj89_2-1617803941545.pngdheeraj89_3-1617803973512.pngdheeraj89_4-1617804033717.png

 

If I don't add the variables with the formula in compose which I have mentioned below then it will work but then of this is how I do it and it does not sum the values. So eventually does not help me

dheeraj89_0-1617804318992.png

 

Add(variables('Answer1'),add(variables('Answer2'),add(variables('Answer3'),add(variables('Answer4'),add(variables('Answer5'))))))

 

 

 

hi, try a linear flow rather than parallel - it looks like your compose is trying to complete outside of the condition on the far right.

@ryanVSS 

 

Tried it and still getting the same error..

 

I have attached the flow for reference, please let me know if you can fix it.

 

dheeraj89_0-1617805166881.png

dheeraj89_1-1617805183619.png

 

Add(variables('Answer1'),add(variables('Answer2'),add(variables('Answer3'),add(variables('Answer4'),add(variables('Answer5'))))))

each " Add() " is a function that you need to nest. essentially, you keen adding " Add( " for each variable until you've accounted them all. Then you need to close your nest with " ) " for however many functions you've added. The example above has 5 extra " ) " as there are 5 variables being counted.
I am sorry, I did not understand the explanation you just shared, but I tried entering this in compose formula.

Add(variables('Answer1'),add(variables('Answer2'),add(variables('Answer3'),add(variables('Answer4'),add(variables('Answer5'))))))

and I got the same error again...
also, get rid of the apply to each. you shouldn't need it as you're only marking one form at a time
Yes all the variables work just fine, till the time I try to add them using the compose function.

I need the apply to each because I am comparing the get id which is created when a user was enrolled

If its not too much can you get on a teams call right now, I can send a link to you and you can join as a guest

@ryanVSS 

 

Hi, yes I added the formula in expression content and not dynamic.

 

I am not sure why this is not working, I seem to have done everything as per the steps you mentioned.

 

The strange thing is it works absolutely fine when I don't use the compose step in my flow.

only thing i can recommend put the "apply to each" and "Get items" after you've marked the form response. Personally, i would carry out all the actions on the form before i do anything with the information - this is why i think the flow is breaking.