Premise: I have a managed package called Click Approve which performs certain functionality and on completion it invokes my own 'record-triggered' flow. This package performs all its actions using a "Guest User". As per my analysis, this user is able to invoke my Flow properly. Structure of my flow is, if certain condition is met then invoke Salesforce OOTB Approval Process.

Problem: Getting error as "No applicable approval process was found".

I'm not able to find any setting in this guest user profile by which I can give access to this approval process for the guest user.

I have already checked that the guest user is having access to all the necessary fields(which are getting used in this Approval Process).

There is no entry criteria defined in the Approval Process, as the same conditions are defined at flow level.

Note: As per this blog my flow (record-triggered) should always run in system mode, but somehow that is not the happening for me.

With all other profiles, there is no such problem.

Question: So, can anyone please let me know that how the access for an approval process is given for a Guest User.

  • 1
    possible: salesforce.stackexchange.com/a/333602/2602
    – cropredy
    Commented Jan 19, 2022 at 16:51
  • Thanks @cropredy, in accordance to your link I'm thinking that Guest Users can have a maximum of Read access of any object (Opportunity in my scenario), so could that be the reason my flow (because approval process, which is based on Opp data, is called by this flow and is trying to update the Opp) is failing? But in that case, how can I make flow/Approval process run in system mode? (even this is not helping).
    – user43598
    Commented Jan 19, 2022 at 20:55
  • Just FYI- Flow, Approval Process, Opportunity Owner, Guest User are all Active. There's NO Entry Citeria defined at Approval Process Level (Only Criteria defined is at Flow level and there it is NOT failing).
    – user43598
    Commented Jan 19, 2022 at 21:04
  • what api version is your Flow? (System mode was introduced as a later feature)
    – cropredy
    Commented Jan 19, 2022 at 21:58
  • V53, created this flow 2 weeks ago(same is the created date for the approval process).
    – user43598
    Commented Jan 19, 2022 at 22:11

2 Answers 2


I was facing a similar problem.

I have a process that the User Guest send an Approval Process to the Case Owner.

As we know, in the approval process We can not to set any data about guest users.

My workaround was to "trick" the approval process.

In my case, the Approval Process is sent by a core Action by flow and in this action We can set a SubmitterId param by variable.

When the flow is initiated by a Guest User, I search by query for an "Integration" user and save the Id in a variable and pass it in the SubmitterId param in the core Approval action.

After to set up the flow, I have set the "Integration" user in the "Initial Submitters" in Approval Process settings.


You need to add your user as available initial commiter(e.x. as creator).

Click path Edit > Initial Submitters -> in search you need select creator and move it to Allowed Submitters.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .