Make different forms populate the same SharePoint list row
How are you all doing?
Hope you had a good weekend; I have had a stonking cold all weekend. I literally finished work on Friday and started feeling awful.
One thing that sorted me out though, was extra hot chicken wings from Nando's. Other chicken wings are available but they did seem to do the trick, well at least for 24 hours. It gave me enough energy to go out with my family to see a big bonfire just down the road from us.
I came across this post on the Power Automate forums - here
The poster is trying to populate a SharePoint list, with multiple form responses.
I thought, well I haven't posted on the blog for a bit, so let's take this question and see if I can work it out here. This blog post is going to be pretty organic, as I work through the question and jot my thoughts down.
Step by Step
First things first, is that I need a piece of paper. From the post I know that I am going to need 4 forms. So, I am going to create these now, they are going to be pretty basic with one question in each.
Right, that is four forms created. Pretty standard stuff, done through https://forms.office.com, I have called them Form 1, Form 2, Form 3 and Form 4, so it is easy for me to spot them.
Next, as I can see this kind of working as a cascading kind of flow. I want to create a solution in https://make.powerapps.com as I believe at this point, I am going to be creating 4 flows, one for each form. At the end of form 2, 3 and 4 I want to ask the responder "What is the ID", we will find out why later in this post.
I have also created a SharePoint list called Multiple Forms, and in that SharePoint list, I have made the ID column visible and then created 4 new single line of text columns called
Form 1 answer
Form 2 answer
Form 3 answer
Form 4 answer
I then create an automate cloud flow, where the trigger is "When a new response is submitted" and call it Form 1.
I have set up the flow below.
It is important in the "Send an email" step, I pass the ID of the item created in SharePoint from the "Create Item" step, as the next person completing Form 2, will need to give that as an answer to the "What is the ID?" question.
The second flow, I'll call Form 2. Here, as in the first flow, I capture the details from the form, but this time I add a "Get Items" step. I then put in ID eq What is the ID (we don't need any quotes around the ID field as it is an integer) as the filter query, which then gives me a response of the SharePoint list item we created back in the first flow.
From this, we can now get the ID of the SharePoint item, and we can use an "Update Item" step, using thew ID from the "Get Items" step and then pop in the response from Form 2 into the Form 2 response field. Finally, we send an email to the next person we want to complete form 3 with the link to the Form and the ID that we need them to answer the "What is the ID?" question with.
Here is what the email looks like:
The cloud flow for Form 3, is basically the same as the flow that sorts out Form 2. The only difference is, that we are updating the Form 3 answer in the "Update Item" step and in the email we send to the person completing Form 4, there is a link to Form 4.
For Form 4 though, we want to send the responses of all of the questions back to the original submitter of the first form
The only real difference is the last step, we are choosing the responses from each of the forms from the Get Item step, apart from the answer to Form 4, which we can get from the Get Responses step inside this flow itself.
This then populated all the parts of my SharePoint list, all in one item:
Hope that all makes sense, if you have any questions leave a comment or send me an email - firstname.lastname@example.org