function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
ccazzccazz 

salesforce community flow not loading on mobile device

I have a community/experience set up.
I have a Home Page, support page and a Flow on the standard Flow page that serves as a sort of intake or registration form.
All pages are publicly accessible.
On my PC, everything works perfectly.
When I try the experience on a phone or tablet, ios or android, everything loads as it should (via chrome browser) except the page with the flow...I can see the header and nothing else.
Please help!
Best Answer chosen by ccazz
ccazzccazz
So It turns out that is was just a settings issue. The forums where I was reading up on the newer flow security options seemed to have it a little backwards, so I am going to explain it here for anyone in the future who stumbles across this question...

https://help.salesforce.com/articleView?id=sf.flow_distribute_security.htm&type=5

Granting access to a flow directly is NOT sufficent to be able to run a flow.
This works a little bit opposite of how other permissions and sharing work throughout salesforce.
The setting that needs to be checked on a flow-by-flow basis is "Override default behavior and restrict access to enabled profiles or permission sets"
The "default behaviour" is when:
The "Flow User" permission is checked on the User record for Internal Users.
The "Run Flows" permission is checked on the Profile for Community Users (and Site Guest Users).
These users will have access to run ALL flows if they know how to access them (hyperlinks, buttons, automations, etc) but ALSO if they know the URL for the flow (this is dangerous inasmuch as it can allow access to a user that otherwise would not have it (it has not been revealed to them through one of the aforementioned methods).

Without this, the user will be UNABLE to access ANY flows.

The second part of the permission seems to be where several of the forums and articles I had read got confused.
You might think that "Restrict access to enabled profiles or permissions sets" means that you can ignore the setting(s) we just talked about above and if you go to an individual flow, check the setting and assign the flow to certain profiles, then those profiles would have access right?...WRONG!

Instead, to ever run any Flow, the permissions above MUST be granted.
THEN, for any Flow where "Override default behavior and restrict access to enabled profiles or permission sets" IS selected, ONLY those profiles/permission set will allow access to THAT SPECIFIC FLOW.
BUT, for any Flow where this is NOT selected, these flows will be available to ALL users with the "Flow User" or "Run Flows" permissions.

So, for example, if you want your site guest user to ONLY have access to one Flow AND you want to make sure that they cannot access any other Flows, even with the properly formatted url (which admitted, in general shouldn't be easy for them to access, but there are cases where this happens*), then ALL of your Flows would need to have "Override default behavior and restrict access to enabled profiles or permission sets" selected and your Site Guest User Profile should be in the access list for ONLY the one Flow. This follows with the best practice of grant permissions and access to data appropriately and sparingly.

*One scenario I run across a lot is when there is a link on a company's main webpage to a community (experience) page to perform as action. An unauthenticated user that clicked on this link would be able to use this flow, even if that was not intended!

Good Luck!

All Answers

SwethaSwetha (Salesforce Developers) 
HI ccazz,
As per https://help.salesforce.com/articleView?id=000314433&type=1&mode=1 Salesforce for Android and iOS currently supports flows via the following methods only:

Paused Flow Interviews 
Flow Quick Action
Flow Interview in a Lightning Component

Please ensure you are only using these supported methods.

Please mark this answer as best if it helps so that others facing same issue will find it useful. Thanks
ccazzccazz
Hi Swetha! Thanks for your quick reply!

If I am using the standard Flow Component on the standard "Flow" Community page, wouldn't that count as "Flow Interview in a Lightning Component"?
If not, could you explain the difference.

Also, another wrinkle (more information). Today, another person went to the page in chrome on their laptop and had the same experience (only the header on the flow page and nothing else).
I then tried a different browser on my own laptop and had the same experience.
I then tried an incognito window in chrome and had the same experience.
So, at this point I am thinking that in my non-incognito Chrome browser the page might possibly be accessing my internal user's profile and permission settings instead of the site guest user...meaning I might have overlooked some critical setting for the site guest user profile.

Any other direction you might have would be greatly appreciated!
ccazzccazz
So It turns out that is was just a settings issue. The forums where I was reading up on the newer flow security options seemed to have it a little backwards, so I am going to explain it here for anyone in the future who stumbles across this question...

https://help.salesforce.com/articleView?id=sf.flow_distribute_security.htm&type=5

Granting access to a flow directly is NOT sufficent to be able to run a flow.
This works a little bit opposite of how other permissions and sharing work throughout salesforce.
The setting that needs to be checked on a flow-by-flow basis is "Override default behavior and restrict access to enabled profiles or permission sets"
The "default behaviour" is when:
The "Flow User" permission is checked on the User record for Internal Users.
The "Run Flows" permission is checked on the Profile for Community Users (and Site Guest Users).
These users will have access to run ALL flows if they know how to access them (hyperlinks, buttons, automations, etc) but ALSO if they know the URL for the flow (this is dangerous inasmuch as it can allow access to a user that otherwise would not have it (it has not been revealed to them through one of the aforementioned methods).

Without this, the user will be UNABLE to access ANY flows.

The second part of the permission seems to be where several of the forums and articles I had read got confused.
You might think that "Restrict access to enabled profiles or permissions sets" means that you can ignore the setting(s) we just talked about above and if you go to an individual flow, check the setting and assign the flow to certain profiles, then those profiles would have access right?...WRONG!

Instead, to ever run any Flow, the permissions above MUST be granted.
THEN, for any Flow where "Override default behavior and restrict access to enabled profiles or permission sets" IS selected, ONLY those profiles/permission set will allow access to THAT SPECIFIC FLOW.
BUT, for any Flow where this is NOT selected, these flows will be available to ALL users with the "Flow User" or "Run Flows" permissions.

So, for example, if you want your site guest user to ONLY have access to one Flow AND you want to make sure that they cannot access any other Flows, even with the properly formatted url (which admitted, in general shouldn't be easy for them to access, but there are cases where this happens*), then ALL of your Flows would need to have "Override default behavior and restrict access to enabled profiles or permission sets" selected and your Site Guest User Profile should be in the access list for ONLY the one Flow. This follows with the best practice of grant permissions and access to data appropriately and sparingly.

*One scenario I run across a lot is when there is a link on a company's main webpage to a community (experience) page to perform as action. An unauthenticated user that clicked on this link would be able to use this flow, even if that was not intended!

Good Luck!
This was selected as the best answer
SwethaSwetha (Salesforce Developers) 
Thank you for taking out time to share the fix that worked for you. Definitely helpful for others!