cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
sergiodt
Frequent Visitor

Getting Error when record Form responses to SharePoint: No row was found with Id

Hello there,

 

So I'm trying to record Form responses into a SharePoint list using PowerAutomate, I decided to go with the template "Record form responses in a SharePoint" and I added a new Excel action called "Get a row" since I want to record in my SP list, the "Start Time" and "Completion Time" which using only the template is not possible, so I have to take those columns out of the Excel that contains all responses, so I have this Flow:

sergiodt_0-1656554133857.png

 

sergiodt_1-1656554175516.png

 

I added a delay of 15 seconds so Get a row action has time to take the ID out of the Excel File, but that didn't work, the problem exists when 2 people submit the form at the same time and that could be usual since my form has 3 questions and is been used constantly by 5 people in my company, so if they submit the form almost at the same time I get this:

sergiodt_2-1656554377898.pngsergiodt_3-1656554389751.png

I really appreciate if anybody can help me with this, thank you in advance.

 

1 ACCEPTED SOLUTION

Accepted Solutions
ChadVKealey
Memorable Member
Memorable Member

Many of the templates around working with form responses have an "apply to each loop". That may have been required at one point in time, but it no longer is. I would clear the value from the "Key value" field in your "Get a row" action, then move that action OUTSIDE OF (below) the apply to each and also delete the Apply to each (the delay isn't/shouldn't be needed either). Then, in the Key value field, enter the "Response ID" from the trigger. This will get the row correctly. Just remember that Excel stores those dates as numbers and they'll be in UTC. If you just want to get the time in between (how long they spent on the form), it doesn't really matter, but if you need to know the exact time that they started and finished in your local time, you'll need to convert the time zone.

View solution in original post

11 REPLIES 11
365-Assist
Power Participant
Power Participant

You shouldn't need the Excel file. The actions Get Response Details (Forms) that was in the original template will give all the columns you need for the SharePoint List.

 

I created a video that may help you. It uses Dataverse but similar Power Automate Flow can be used for SharePoint (8:30 mark).  Creating a Complaints DB with MS Forms, Model Driven Power Apps (Dataverse) and Power Automate - You...

---------------------------------------------------
Please Accept as Solution if it solves your question. Or just give it a Thumbs Up if it is helpful as can help others.

Subscribe: https://www.youtube.com/channel/UCFpvUlpx84FuIPOdInGKMTw
Twitter: https://twitter.com/assist_365

Regards
Darren Lutchner - 365 Assist

 

edgarsimoes
Microsoft
Microsoft

Hello, @sergiodt 

 

First, I think you should need the "get response details" after the trigger action, if you just needed the submission timestamp:

edgarsimoes_0-1656586656852.png

 

Secondly, I would recommend to try use "List rows present in a table" action and not "Get a row" action, like this:

edgarsimoes_1-1656586916424.png

And this will filter you new row and get your required fields.

 

Please, be sure to turn on the pagination option on the action settings, in order, to search in all your forms rows.

edgarsimoes_2-1656587035089.png

 

Please 'Thumbs Up' the posts that helped you and 'Accept as Solution' if my post answered your question.

 

Happy automating,

 

Edgar Simões

Thank you for your help, however, besides the submission timestamp, I need the "Start time" which only is possible to get from the Excel with the answers. I tried to use List rows present in tables but that didn't work. I created another Flow but it takes too much time every time it runs:

 

sergiodt_0-1656698550806.png

 

I don't know if there's an alternative, ideally I want to get "Start time" so whenever an employee starts the Form, and Submission time, to calculate the time they spend answering the Form, that's all I need.

 

ChadVKealey
Memorable Member
Memorable Member

Many of the templates around working with form responses have an "apply to each loop". That may have been required at one point in time, but it no longer is. I would clear the value from the "Key value" field in your "Get a row" action, then move that action OUTSIDE OF (below) the apply to each and also delete the Apply to each (the delay isn't/shouldn't be needed either). Then, in the Key value field, enter the "Response ID" from the trigger. This will get the row correctly. Just remember that Excel stores those dates as numbers and they'll be in UTC. If you just want to get the time in between (how long they spent on the form), it doesn't really matter, but if you need to know the exact time that they started and finished in your local time, you'll need to convert the time zone.

Hello again,

 

About the flow I would try what @ChadVKealey  said. The only thing I wanted to remind is that Microsoft Forms has an native feature to calculate the Average time that you're seeking for.

edgarsimoes_0-1656711175116.png

Have you seen my last message?

 

-Edgar

@edgarsimoes , it doesn't look like that "elapsed time" is present in the spreadsheet or response details, so getting it programmatically (e.g.: in a flow) requires a bit of math. I assume it's the same math used to render the data on that page ([completion time] - [start time]).

Hello, I tried to follow your steps, but when I enter the Key value "Response ID" the apply to each loop is added automatically, I'm not able to remove that apply to each loop, I tried by storing the Response ID in a variable, but I'm still getting the same error, "Row with ID:"XX was not found"

sergiodt_0-1657036565720.png

 

OK, that template you started with uses the old Forms trigger, which (after some testing I can confirm) produces an output of the "List of responses" (hence the need for the loop). I would suggest you delete the trigger and re-add it, which will use the current version of it which produces a single response (rather than a list). 

ChadVKealey
Memorable Member
Memorable Member

@sergiodt , here's a short video on how to delete and re-add the Forms trigger in that template: https://youtu.be/6GopBPzyS_k

 

Thank you very much, it worked, I had to add a delay though, so the Flow can have time to look for the ID in the Excel file, but I changed the Flow like you said and it worked! I appreciate your help

Helpful resources

Announcements
Power Platform Conf 2022 768x460.jpg

Join us for Microsoft Power Platform Conference

The first Microsoft-sponsored Power Platform Conference is coming in September. 100+ speakers, 150+ sessions, and what's new and next for Power Platform.

New Ideas Forum MPA.jpg

A new place to submit your Ideas for Power Automate

Announcing a new way to share your feedback with the Power Automate Team.

MPA Virtual Workshop Carousel 768x460.png

Register for a Free Workshop

Learn to digitize and optimize business processes and connect all your applications to share data in real time.

365 EduCon 768x460.png

Microsoft 365 EduCon

Join us for two optional days of workshops and a 3-day conference, you can choose from over 130 sessions in multiple tracks and 25 workshops.

Users online (1,779)