Skip to main content

Notifications

Community site session details

Community site session details

Session Id :
Power Apps - Power Query
Suggested answer

SharePoint Integration custom form caching issue

(0) ShareShare
ReportReport
Posted on by
I have a SharePoint list with over 70 columns and two roles defined on the site: Submitter and Approver. To simplify, I split the columns into two separate forms displayed on different screens based on roles. In the SharePoint integration’s onEdit property, I’ve implemented logic to determine which form should be in edit mode based on the status field, and it navigates to the corresponding screen.
However, I’m encountering a caching issue. On the first edit attempt, the function in the onEdit property does not execute as expected and redirects to the last opened screen instead but form data is appropriate. On the second edit attempt of the same item, the code runs correctly, and it navigates to the proper screen.
Is there any resolution for this issue?

OnEdit of sharepoint integration implemented formula:
If(SharePointIntegration.Selected.Stage.Value="First",EditForm(FormFirst);Navigate(screenFirstForm),EditForm(FormSecond);Navigate(screenSecondForm)
Categories:
  • Suggested answer
    SaiRT14 Profile Picture
    1,988 Super User 2025 Season 1 on at
    SharePoint Integration custom form caching issue
     
    The behavior you're encountering in Power Apps is likely due to caching or timing issues in the SharePointIntegration context when determining which screen to navigate to during the first edit attempt. 
     
    Force a Refresh on the SharePointIntegration Context 
    Refresh('YourSharePointList'); // Replace with your actual list name
    If(
        SharePointIntegration.Selected.Stage.Value = "First",
        EditForm(FormFirst);
        Navigate(screenFirstForm),
        EditForm(FormSecond);
        Navigate(screenSecondForm)
    )
     
    Use a Timer for Delayed Execution
    Modify the OnEdit formula to start the timer - Set(NavigateToForm, SharePointIntegration.Selected.Stage.Value);
    Timer1.Start();
     
    OnTimerEnd property, add the navigation logic - If(
        NavigateToForm = "First",
        EditForm(FormFirst);
        Navigate(screenFirstForm),
        EditForm(FormSecond);
        Navigate(screenSecondForm)
    );
     
    In the OnStart property of the app, Set(Preload, false);
    Navigate(screenFirstForm);
    Navigate(screenSecondForm);
    Navigate(DefaultScreen); // Replace with your default screen
     
     
    Pls try and let me know if you have issues.
     

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

Paul Stork – Community Spotlight

We are honored to recognize Paul Stork as our July 2025 Community…

Congratulations to the June Top 10 Community Leaders!

These are the community rock stars!

Announcing the Engage with the Community forum!

This forum is your space to connect, share, and grow!

Leaderboard > Power Apps

#1
WarrenBelz Profile Picture

WarrenBelz 791 Most Valuable Professional

#2
MS.Ragavendar Profile Picture

MS.Ragavendar 410

#3
mmbr1606 Profile Picture

mmbr1606 275 Super User 2025 Season 1

Featured topics