Calling PowerAutomate from Powerapps - accounts used
Within a PowerApp, if you connect to a PowerAutomate flow to send an email; the email send action in the flow seems to run as the user logged in to the PowerApp.
Is that correct?
A PowerApp may have a button that runs a PowerAutomte flow passing across an email address, something like 'SendEmailAs.Run("firstname.lastname@example.org")'
The PowerAutomate flow is initiated and contains a single action to send an email to email@example.com using the Outlook Send Email connector
This connector is set up to run as a different account that has 'SendAs' rights on a shared mailbox. The Send Email action is also set to SendAs this different account.
If I test this PowerAutomate flow from within PowerAutomate, it works correctly - I'm guessing it's using the account set on the Outlook Send Email action to send the email.
If I use the PowerApp (logged on as a different user who doesn't have SendAs access for the mailbox set in the flow), pressing the button that calls the PowerAutomate flow, it fails with an error "no permission" - which leads me to think that the Outlook Send Email action is connecting as the PowerApp user rather than the user set explicitly on the Outlook Send Email action in the flow.
This is correct. When you call a PowerAutomate Flow from PowerApps, it executes under the context of the User using the app.
If you need to utilize a send as from a shared mailbox account, then either the users of that will need send on behalf permissions or they will fail in the flow.
You can also offset this by, instead of sending the email in the flow, writing a record to a secondary SharePoint list with any relevant information (email body, to addresses, etc) and then have a separate flow set up to trigger on the creation of a new item in SharePoint for that secondary list. That can then have its account set to have send on behalf permission and then it can grab the record and build the email. Those triggered flows execute in the context of the creator of the flow.