cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
lardo5150
Microsoft
Microsoft

Flow Will Randomly Not Trigger on Form Submit - No Errors

Here is my code in my Power App.

on the submit button, I have this:

SubmitForm(AddCasaeEditForm);
Set(var_spinner,true);

The var_spinner is just setting a spinning gif visible to true.  There is normally a 2-3 second delay, so i put that there just so the end user can see it is "thinking".

From there on the actual form, for OnSuccess, I have the following:

If(Self.LastSubmit.CaseType.Value = "Critical\SEV A",
  Patch(Engineers,LookUp(Engineers, Title = Self.LastSubmit.AssignedTo.Value),
    {LastCritAssigned: Self.LastSubmit.AssignmentTime}
  )
);
'EAUCA-RecalculateTotals-PowerApp'.Run(
    JSON(
        {CaseNumber: Self.LastSubmit.Title, 
         CaseType: Self.LastSubmit.CaseType.Value,
         EngineerSMTP: Self.LastSubmit.AssignedTo.Value,
         CaseSpecialty: Self.LastSubmit.CaseSpecialty,
         ID: Self.LastSubmit.AssignedTo.Id,
         AssignTime: Self.LastSubmit.AssignmentTime
         
        }
    )
);
'EAUCA-CaseAcceptanceTeamsPost-PowerApp'.Run(
        JSON(
        {CaseNumber: Self.LastSubmit.Title, 
         CaseType: Self.LastSubmit.CaseType.Value,
         EngineerSMTP: Self.LastSubmit.AssignedTo.Value,
         CaseSpecialty: Self.LastSubmit.CaseSpecialty,
         ID: Self.LastSubmit.AssignedTo.Id,
         AR: Self.LastSubmit.AssistanceRequest,
         Offering: Concat(Self.LastSubmit.ServiceNameOffering, Value&" ")
         
        }
    )

);
//'EAUCA-OPEmail-PowerAppv1'.Run(
//        JSON(
//        {CaseNumber: Self.LastSubmit.Title, 
//         CaseType: Self.LastSubmit.CaseType.Value,
//         EngineerSMTP: Self.LastSubmit.AssignedTo.Value,
//         CaseSpecialty: Self.LastSubmit.CaseSpecialty,
//         ID: Self.LastSubmit.AssignedTo.Id,
//         AR: Self.LastSubmit.AssistanceRequest,
//        Offering: Concat(Self.LastSubmit.ServiceNameOffering, Value&" ")
         
//        }
//    )

//);
Set(var_Hour,Hour(Now()));
Set(var_InQueueVisible,false);
If(CurrentHour.Text in Split(ConvertedHours.Text, ",") && CurrentDay.Text in Split(Label_AssignmentDays.Text, ","),Set(var_InQueueVisible,true));

Navigate(HomeScreen, ScreenTransition.None);
Set(var_spinner,false)

 

I marked out the third Flow that used to run, we no longer use this one.

This thing 99% of the time works flawlessly.

Today, I had two users report that the flow:

EAUCA-CaseAcceptanceTeamsPost-PowerApp'.Run

Did not run for them.  Its a flow that posts a message in a teams chat, so they were looking for it.

Everything else works perfectly.  Everything gets submitted to sharepoint, the recalculation runs, etc.

This is NOT happening often.  Just every so often.

There are no errors.

When I check the flow, I can see that it never ran, so there are no errors.

So if I have Engineer A, B, C...

A submits a case, it runs.

B Submits a case, nothing

C Submits a case, it runs.

This is how I can see it just did not run, the run on the flow is actually missing, so it did not run at all.

Now, these same two people, when they submit another case, no issue.  They may not even have the issue again.

 

I am not sure where to start on this.  the only thing I could think of is maybe its not fully being kicked off in the app?  maybe I need to put a timer on that page so it does not move on till everything is done?

But if that is the case, why would everything after that run like the changing of screens.

 

Any thoughts?

I thought about moving it to the onclick button for submit, but I would have to pull the values from the actual boxes since I have not really submitted anything yet.

3 REPLIES 3
RandyHayes
Super User
Super User

@lardo5150 

Always a challenge to hunt down random things.

 

Did you look at all of the Flow runs to see if there were any errors?

 

You might consider the following formula change in the OnSuccess.  You *definitely* do not want to put anything on the submit button.  Everything should be done in your OnSuccess.

 

With(Self.LastSubmit,

    If(CaseType.Value = "Critical\SEV A",
        Patch(Engineers,LookUp(Engineers, Title = AssignedTo.Value),
            {LastCritAssigned: AssignmentTime}
        )
    );

    Trace(
        'EAUCA-RecalculateTotals-PowerApp'.Run(
            JSON(
                {CaseNumber: Title, 
                 CaseType: CaseType.Value,
                 EngineerSMTP: AssignedTo.Value,
                 CaseSpecialty: CaseSpecialty,
                 ID: AssignedTo.Id,
                 AssignTime: AssignmentTime         
                }
            )
         )
    );
    
    Trace('EAUCA-CaseAcceptanceTeamsPost-PowerApp'.Run(
            JSON(
                {CaseNumber: Title, 
                 CaseType: CaseType.Value,
                 EngineerSMTP: AssignedTo.Value,
                 CaseSpecialty: CaseSpecialty,
                 ID: AssignedTo.Id,
                 AR: AssistanceRequest,
                 Offering: Concat(ServiceNameOffering, Value & " ")         
               }
            )
         )         
    );

    Set(var_Hour,Hour(Now()));
    Set(var_InQueueVisible,false);
    Set(var_InQueueVisible, CurrentHour.Text in Split(ConvertedHours.Text, ",") && CurrentDay.Text in Split(Label_AssignmentDays.Text, ","));

    Navigate(HomeScreen, ScreenTransition.None);
    Set(var_spinner,false)
)    

 

The key change in the above formula (beside a couple of shorter ways to go about the formula) is that there is a Trace function around all of the flow runs.  If your flow returns a value, then you will want to append the run with the value it returns to then go to the trace.

The primary purpose is this...using the Trace, PowerApps will have to wait until there is a response from the flow.  This may or may not be of value.  When a flow is instantiated with the Run action, it will occur asynchronously.  Perhaps that is something you want, and you don't want to wait for the flow to complete.  If not, then remove the traces, but you will need to look at the flow runs closer to see if there is an error on the flow.  Perhaps put some error checking and notification in the flow itself to track.

 

One of the advantages of the above with the trace is that you can then check flow status through the tracing which will appear in the monitor tool as well as in the instrumentation - if you are using that.

 

I hope this is helpful for you.

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up below. Solved your problem? - Click on Accept as Solution below. Others seeking the same answers will be happy you did.
NOTE: My normal response times will be Mon to Fri from 1 PM to 10 PM UTC (and lots of other times too!)
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes

Really want to show your appreciation? Buy Me A Cup Of Coffee!
lardo5150
Microsoft
Microsoft

Thanks @RandyHayes I will take a look tomorrow.   One thing I need to mention again is there are no errors.  Just randomly the flow will not run, like power app skipped it.  It's so weird.  That is why I. Ant check for errors, that instance just does not exist.

RandyHayes
Super User
Super User

@lardo5150 

Yes, that was kind of the goal of the changes...provide an ability to track from the PowerApp side as well as the flow side.

The trick will be to identify the problem immediately so that you can check both the traces and the flow logs.

 

Another option is to capture the return values of the two flows and in your formula, validate that you received a return value for both...if not, then either display a message, send an email, etc. etc. to catch it when it happens.

 

_____________________________________________________________________________________
Digging it? - Click on the Thumbs Up below. Solved your problem? - Click on Accept as Solution below. Others seeking the same answers will be happy you did.
NOTE: My normal response times will be Mon to Fri from 1 PM to 10 PM UTC (and lots of other times too!)
Check out my PowerApps Videos too! And, follow me on Twitter @RandyHayes

Really want to show your appreciation? Buy Me A Cup Of Coffee!

Helpful resources

Announcements
Power Apps News & Annoucements carousel

Power Apps News & Announcements

Keep up to date with current events and community announcements in the Power Apps community.

Power Apps Community Blog Carousel

Power Apps Community Blog

Check out the latest Community Blog from the community!

Top Solution Authors
Top Kudoed Authors
Users online (4,253)