cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Highlighted
Helper II
Helper II

Taking a value from MS Forms and using it in Flow

Hello, so I have this flow I've been working on for the past week or so. It's purpose is to move a file from one folder to another once it's approved. I've managed to basically everything except allow the user to select who  needs to approve the file. At the moment I'm using a MS Form to gather more information from the user on their file like the due date and department that gets updated to a sharepoint list that keeps track of all the files that are being uploaded for approval (this gets updated at the end of the flow on the approval status). What I want to do is take the Department value and use it to get a list of user under that department and then have the user select who needs to approve the file. This could be more than one person so I'd also need to make sure that I can loop or branch off and do them all at the same time. Is there a way to do this? If not, no problem, thanks anyways. At the moment the Get Manager action is unecessary since I've been using my own email for testing purposes, but I thought initially that it could be useful.

 
Here's a couple pictures of my flow, form, and list.

Flow_part1.PNG

 

Flow_part2.PNG

 

Form.PNG

SharepointList.PNG

 

 

Thanks,

LeAnn

 

1 ACCEPTED SOLUTION

Accepted Solutions
Highlighted
Helper II
Helper II

Re: Taking a value from MS Forms and using it in Flow

Thanks to @v-xida-msft for setting me onto the right path of figuring this out I was able to get it working.

 

 

It looks a bit messy, but it works. I had to create a bunch of variables since to parse a multiple choice reponse from MS Forms requires extra steps compared to parsing a multiple choice response from Sharepoint. There is possibly an easier way to complete this but this workaround worked for me. I also got some help from an article (https://flow.microsoft.com/en-us/blog/approval-reminders-using-parallel-branches/).

 

After initializing a ton of variables: first 4 are string, next 3 are array, and the last 3 are integer with initial values at 0. The expressions used are in order of appearance in the flow:

Compose 2:

trim(replace(replace(replace(replace(variables('ApproverName'),'"',' '),'[',' '),']',' '),' , ',' '))

Compose 3:

split(variables('Name'), ' ')

Do Until 2:

length(variables('FirstName'))

Set variable 6:

concat(variables('FirstName')[variables('z')],' ', variables('LastName')[variables('z')])

Compose:

concat(item()?['Mail'],';',variables('ApproversList'))

The last apply to each isn't fully working but this is the idea and was from the article I mentioned above. Hope this helps anyone else out.

 

Here's the workaround that I came up with:

flow1.PNGflow2.PNGflow3.PNGflow4.PNGflow5.PNGflow6.PNG

View solution in original post

7 REPLIES 7
Highlighted
Community Support
Community Support

Re: Taking a value from MS Forms and using it in Flow

Hi @leanns,

 

Do you want to get a list of user within your Organization based on the Department value from your MS Form?

 

I think there is something wrong with your flow's configuration. In addition, I think the "Get Manager (V2)" action could not achieve your needs.

 

If you want to get a list of user within your Organization based on the Department value from your MS Form, please move your approval steps into the "Apply to each" action.

 

I have made a test on my side and please take a try with the following workaround:1.JPG

 

2.JPG

Within "Search term" field of the "Search for users" action, type the Department dynamic content of the "Get response details" action.

 

The details of the "Apply to each 2" action as below:3.JPG

Within Inputs field of the "Compose" action of "Apply to each 2" action, type the following formula:

concat(item()?['Mail'],';',variables('EmailArray'))

Note: Using the "Initialize variable" action to initialize a String variable (Called EmailArray) to store all email address of the users under the Department value.

 

Please take a try with above solution that I provided, then let me know if it could solved your problem.

 

 

Best regards,

Kris

 

 

 

 

Community Support Team _ Kris Dai
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Highlighted
Helper II
Helper II

Re: Taking a value from MS Forms and using it in Flow

Hello @v-xida-msft,

 

Thank you for your input. I appreciate it. I believe this will work, but the values under Department aren't names of people or emails. Would it be better to have a list of all the people that could be approvers instead of listing their department and then getting their emails? I tried your solution but the flow failed due to the values I have listed under Department. If this was just a list of people's names (not emails), I should be able to do the same concept that you provided, correct? If this is the case, would anything be different if I had the user select multiple names?

 

**Edit: After messing around with the Department value, I ended up changing it to a list of names and it worked perfectly. Only issue now that as I look at it, I believe it's going to send the approvals sequential when I'd like to have them as parallel since everyone replies at a different pace and have different time frames to complete the approval. Basically, I don't want the first person out of say 3 forget to approve or reject until after its due. Then going to the other 2 people after its late and them getting annoyed because it's the first time they're seeing it. Is there a way to do this yet in flow? I know how to make parallel branches but I'm not sure how it would apply to this situation. **

 

What do you mean by "something wrong with my flow's configuration"? Also, with this solution that you provided, I can just insert it in my flow where it needs to be and drag up my approvals into the Apply for Each and thereotically have a completed flow that I am looking for?

 

Thanks,

leanns

 

 

Highlighted
Helper II
Helper II

Re: Taking a value from MS Forms and using it in Flow

After a long day of testing different options, I've come to the conclusion that I'm missing something with this selecting approvers thing. I did figure out that I have to have the form list the names of the people I want to have approve the files later on, but I'm struggling to get it so I can select multiple names rather than just one at a time.

 

The Approver token (originally Department, I switched it during the testing) output format (string): ["Name 1","Name 2","Name 3"] etc

 

I want to get just the names so I can put it into the search for users action like you provided earlier. Is this possible?

 

I've mangled together multiple expressions that can extract the first part of the string, but it's not what I want to happen. I've messed around with indexes, variables, composing, substrings, and everything that I could. I feel like that I'm missing something simple and I'm not sure what it is.

 

Thanks,

leanns

Highlighted
Helper II
Helper II

Re: Taking a value from MS Forms and using it in Flow

Thanks to @v-xida-msft for setting me onto the right path of figuring this out I was able to get it working.

 

 

It looks a bit messy, but it works. I had to create a bunch of variables since to parse a multiple choice reponse from MS Forms requires extra steps compared to parsing a multiple choice response from Sharepoint. There is possibly an easier way to complete this but this workaround worked for me. I also got some help from an article (https://flow.microsoft.com/en-us/blog/approval-reminders-using-parallel-branches/).

 

After initializing a ton of variables: first 4 are string, next 3 are array, and the last 3 are integer with initial values at 0. The expressions used are in order of appearance in the flow:

Compose 2:

trim(replace(replace(replace(replace(variables('ApproverName'),'"',' '),'[',' '),']',' '),' , ',' '))

Compose 3:

split(variables('Name'), ' ')

Do Until 2:

length(variables('FirstName'))

Set variable 6:

concat(variables('FirstName')[variables('z')],' ', variables('LastName')[variables('z')])

Compose:

concat(item()?['Mail'],';',variables('ApproversList'))

The last apply to each isn't fully working but this is the idea and was from the article I mentioned above. Hope this helps anyone else out.

 

Here's the workaround that I came up with:

flow1.PNGflow2.PNGflow3.PNGflow4.PNGflow5.PNGflow6.PNG

View solution in original post

Highlighted
Frequent Visitor

Re: Taking a value from MS Forms and using it in Flow

hello . I have problem , i make form , and i want use ( your Employee ID in form for lookup in SharePoint but in second list don,t use id   ) first list Name( Master contact List)  and second list name (New_customer), i don't know best flow used . please help me 

Highlighted
Super User III
Super User III

Re: Taking a value from MS Forms and using it in Flow

@mekh 

Please post a screen shot of your Flow in edit mode.  Those want to help you will need to see that in order to assist.  The more detail the better.

Also, it would likely be a better idea to start a new post for your issue rather than continuing this thread.

If I have answered your question, please mark your post as Solved.
If you like my response, please give it a Thumbs Up.

Scott
Highlighted
Advocate IV
Advocate IV

Re: Taking a value from MS Forms and using it in Flow

Why don't you just add a people column to you departmental approvers list? Then populate with email addresses (which are always unique as names are not necessarily). If you want name details in the other columns then run a flow to go and get the details from the person's profile based on the email address in the people column to populate the other fields. The display of a people column could be the approvers display name too, however you can then use the email address to get any information and for sending approval requests rather than names, so you can get rid of all your variables etc. used to trim and build names. If you don't need the names in the list but need to display the approvers differently then get their name information from their profile using the email address in the people column. You can get first name, last name and display name from here along with lots of other information.

Helpful resources

Announcements
Community Conference

Power Platform Community Conference

Check out the on demand sessions that are available now!

Power Platform ISV Studio

Power Platform ISV Studio

ISV Studio is designed to become the go-to Power Platform destination for ISV’s to monitor & manage published applications.

Tech Marathon

Maratón de Soluciones de Negocio Microsoft

Una semana de contenido con +100 sesiones educativas, consultorios, +10 workshops Premium, Hackaton, EXPO, Networking Hall y mucho más!

Users online (6,232)