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 / Application API Permis...
Power Apps
Answered

Application API Permission slower than Delegated API permissions

(0) ShareShare
ReportReport
Posted on by

I'm currently working on a device management tool using Power Apps, and for that I'm using the Microsoft Graph API through a custom connector. For example, when moving group memberships for a device, the operation is almost instant when using delegated API permissions. However, when using application API permissions, something strange happens.In the Intune admin portal, the group membership updates appear almost instantly, just like with delegated permissions. But in Power Apps, the behavior becomes inconsistent:

- it takes noticeable time until the updated values appear correctly, and

- repeated API calls during that period can produce incorrect or outdated results.

I read that delegated permissions use a user token, which benefits from Azure AD caching behavior, while application permissions do not have a user context — the application itself holds the permissions. The Intune admin portal also uses the administrator’s user token, making its behavior delegated as well.

Essentially, my button in Power Apps executes several API calls like this:

 

GraphAPIConnector_1.PostDeviceMemberGroup(
g.id,
{ '@odata.id': "https://graph.microsoft.com/beta/devices/" & deviceObjectId.id }
)

 

With delegated permissions this works perfectly. With application permissions, the backend updates in Intune are correct, but the Power Apps UI receives outdated or delayed data, which leads to the inconsistencies.


Thanks for sharing your thoughts on this!
Categories:
I have the same question (0)
  • Verified answer
    Kushal_M Profile Picture
    165 Super User 2026 Season 1 on at
     
    Recommended Architecture for Enterprise Intune Apps
    1. Use application permissions for writes
    2. Use delegated permissions for reads

    You can combine both using:

    • Custom connector → Azure Function
    • Function uses MSAL
    • Two tokens: 1 delegated, 1 application

    This architecture avoids all consistency issues.

    =======================================================================

     Best Fix: Add a 5–15 second consistency delay before reads

    The most reliable solution is: After writing group membership (Add/Remove), wait 5–10 seconds before doing a read back, e.g.:

    Set(varWait, Now());
    While(Now() < DateAdd(varWait, 10, Seconds), true);

    or just: TImer.start

     

    🏷️ Please tag me @Kushal_M, if you still have any queries related to the solution or issue persists.
    ❤️ Please consider giving it a Like, If the approach was useful in other ways.
     Please click Accept as solution if my post helped you solve your issue and help others who will face the similar issue in future.

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

Introducing the 2026 Season 1 community Super Users

Congratulations to our 2026 Super Users!

Kudos to our 2025 Community Spotlight Honorees

Congratulations to our 2025 community superstars!

Congratulations to the April Top 10 Community Leaders!

These are the community rock stars!

Leaderboard > Power Apps

#1
Vish WR Profile Picture

Vish WR 1,045

#2
Valantis Profile Picture

Valantis 675

#3
11manish Profile Picture

11manish 592

Last 30 days Overall leaderboard