I'm trying to create a PTO Request Flow utilizing Microsoft Forms (employee fills out form), Then flow is initialized for approval process, Manager approves, Sharepoint item is created, event added to calendar. I pretty much have it, but the issue I'm running into is with guest Users trying to use the form. Not everyone at our company has an Office 365 account. So I setup many users with Outlook personal email accounts and added them as guest users in Azure AD. I have allowed Guest Access to everything. We can even communicate via Teams. When they try to access the form it states you can not use a personal email.
Is there any other way around this? I have to use the setting "Share with Peopl In My Organization so the Name can Record and the Get Manager function can work. But it seems like it only will work with users with an Office License in or organization.
See my flow below:
You might consider having 2 Forms and 2 Flows - one for External users and One for Internal users.
For the external users, you could make the Forms "anonymous" so anyone could submit a form. The downside is that you won't have the email of the person who submitted the Form - you'll need to have them enter that manually. Then have a Flow that processes the approvals for the external users. I would suggest sending an email confirmation that the request was successfully submitted. The user will know that unless they receive the confirmation that they didn't enter the email address correctly. I believe that you can validate your external users added as guests in Azure AD using the Azure AD Get User action and supplying the email that they submitted via Forms but I haven't tested that concept.
@ScottShearer The problem with the anonymous for external users is how will the approval get routed to the correct manager for approval?
The easiest way might be to have a SharePoint list that lists all external users and their managers - lookup the user and get the manager when the Form is submitted in your Flow. The bottom line is that you'll need to lookup that info from somewhere. While you can add contact info for an external user those properties don't show up in Power Automate.
I did see that workaround and I created an Employee List with a column for name and a column for Reports To (in which I lookup the user in Office365).
I guess my issue is now setting up this flow. This is my first deep flow I'm trying to create. I have modified it to look like this now, but I know that won't work because how will the flow know which Employee "Reports To" to grab...?
How far off am I?
I'll create a Flow that you can use as an example - stay tuned.
Please see my example below. In my Filter query, I say to only retrieve items where the email address is the same as the email address in the list. I have the email address in the Title column. Also, note the single quotes around the email address from Forms - they are required.
I could have made this a little shorter and more elegant but I did it this way to keep it as simple as possible.
When creating my flow I can't seem to get it to resemble the way you have yours laid out. First it throws my Get Response Details into an "Apply to each" group.
Also Im not too familiar with the variables. So Im not sure what information i would need to put here. When I Set Variable it doesn't go into a Apply to each group like yours...
Dive into the Power Platform stack with hands-on sessions and labs, virtually delivered to you by experts and community leaders.
Watch Nick Doelman's session from the 2020 Power Platform Community Conference on demand!
User | Count |
---|---|
40 | |
36 | |
35 | |
34 | |
27 |
User | Count |
---|---|
39 | |
38 | |
33 | |
31 | |
25 |