web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Apps / Automatically share a ...
Power Apps
Answered

Automatically share a Canvas App and SharePoint lists when a new user email is added to Excel

(1) ShareShare
ReportReport
Posted on by 4

Hi everyone,

I am looking to automate the onboarding process for a Canvas App ecosystem.

My Goal: > Whenever a new user's email address is added to a specific row in a Microsoft Excel Online sheet as the different members cannot be added to a security group, I want a Power Automate flow to automatically handle two permission tasks:

  1. Share the Power App canvas application with that specific user (as a User).

  2. Grant them read/write permissions to all the underlying SharePoint lists that act as the data sources for that app.

Current Setup:

  • Trigger: Excel Online - When a row is added or modified

  • Data Source: SharePoint Online Lists

I know I can use the Power Apps for Admins connector to share the app itself, but I am struggling with the cleanest way to simultaneously grant permissions to the multiple SharePoint lists without managing them entirely manually one by one.

Has anyone built a similar workflow? Should I be using standard SharePoint permission groups, or handles this directly via HTTP requests to SharePoint inside the flow? Any screenshots or step-by-step guidance would be massively appreciated!

Thanks in advance!

I have the same question (0)
  • Suggested answer
    Valantis Profile Picture
    6,233 on at
     
    try this for both tasks.
     
    Share the Canvas App:
    Use the Power Apps for Admins connector > Share canvas app with user action. Pass the app ID and the user email. This is confirmed and works without manual intervention.
     
    Grant SharePoint list permissions:
    The cleanest way is a SharePoint HTTP request per list. Add a Send an HTTP request to SharePoint action for each list:
    - Site Address: your SharePoint site
    - Method: POST
    - Uri: _api/web/lists/getbytitle('YourListName')/roleassignments/addroleassignment(principalid=@p,roledefid=@r)?@p=[USER_ID]&@r=[ROLE_ID]
     
    But getting the user's SharePoint principal ID from their email requires an extra call first:
    _api/web/siteusers/getbyemail('[email]')
    A simpler alternative: add the user to an existing SharePoint group that already has the right permissions on all lists. Use the HTTP action:
    - POST to _api/web/sitegroups([groupId])/users
    - Body: {"LoginName":"i:0#.f|membership|user@domain.com"}
     
    This single call grants access to all lists at once if your SharePoint groups are set up correctly. This is the most maintainable approach.
     
    For the trigger: the Excel "When a row is added or modified" trigger can be unreliable at high frequency. If onboarding accuracy matters, consider a SharePoint list instead of Excel as the trigger source.
     

     

    Best regards,

    Valantis

     

    ✅ If this helped solve your issue, please Accept as Solution so others can find it quickly.

    ❤️ If it didn’t fully solve it but was still useful, please click “Yes” on “Was this reply helpful?” or leave a Like :).

    🏷️ For follow-ups  @Valantis.

    📝 https://valantisond365.com/

    💼 LinkedIn

    ▶️ YouTube

  • Verified answer
    Kalathiya Profile Picture
    2,358 Super User 2026 Season 1 on at
     
    I would suggest using a SharePoint Group instead of granting permissions to each SharePoint list individually.
     
    When a new email is added in Excel, your flow can:
    #1. Edit App Role Assignment as Admin from Power Apps from Admin - for share the Powerapps
    #2. SharePoint - Send an HTTP request to SharePoint for add user in sharepoint site group
     
    Reference link:
     
    This way, when a new user is onboarded it will automatically share the app and grant the SharePoint site access when automate is triggered. 
    ---------------------------------------------------------------------------
    Glad it helped 🙂
    If this fixed your issue,
    please click “Does this answer your question?” to mark it as verified so others can find the solution easily.
    A Like 👍 is always appreciated, and I’m around if you need more help @Kalathiya
  • Verified answer
    11manish Profile Picture
    2,782 on at
    For a scalable and maintainable solution:
    1. Keep the onboarding trigger in Excel (or preferably a SharePoint list).
    2. Use Power Automate to detect new users.
    3. Add the user to a dedicated SharePoint group that already has permissions on all required lists.
    4. Share the Canvas App using the Power Apps for Admins connector.
    5. Optionally send a welcome email or Teams notification.
    This approach minimizes maintenance, follows SharePoint security best practices, and avoids having to manage individual permissions on multiple SharePoint lists every time a new user is onboarded.

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Season of Sharing Community Challenge Launch!

Jump in, show your community spirit, and win prizes!

Kudos to our 2025 Community Spotlight Honorees

Expanding mentorship, skilling, and AI innovation

Congratulations to the May Top 10 Community Leaders!

These are the community rock stars!

Leaderboard > Power Apps

#1
Valantis Profile Picture

Valantis 413

#2
WarrenBelz Profile Picture

WarrenBelz 355 Most Valuable Professional

#3
timl Profile Picture

timl 315 Super User 2026 Season 1

Last 30 days Overall leaderboard