• ms ns
  • 0 Points
  • Member since 2015

  • Chatter
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 0
  • 2

We created a Visualforce page we need to open in Salesforce1 from the Field Service Lightning mobile app using an app extension. We also need to pass a URL parameter to this Visualforce page.

We are logged in both FSL app and Salesforce1 app with a partner community user through the partner community connection.
We tried with the following app extension first:
The GetLocation is the Visualforce tab linked to the Visualforce page we need to open.

It opened the Salesforce1 app but showed an error message: Insufficient Priviliges: You do not have the level of access necessary to perform the operation you requested. Please contact the owner of the record or your administrator if access is necessary.

We resolved this by changing the app extension to (FieldService is the community API name):
However, we noticed that the Id parameter is not passed to the Visualforce page.

Anyways, if we are logged in Salesforce1 with a standard Salesforce user and we need the first app extension, the parameter is passed succesffully:

The question is: What is the proper way to pass the parameter to Salesforce1 if we are logged in through the community connection?


Is it possible to pass tokens (i.e.: custom field values within a Work Order or Service Appointment) from the FSL Mobile App to the Salesforce App, without using a fully qualified url?

I have successfully created a custom App Extension (under Field Service Mobile Settings) to launch the main Salesforce App and bring up a Lightning Page Tab. I simply specified the name of the Lightning Page in the Launch Value of the App Extension.

However, this lightning page houses a VisualForce page that requires parameters to be sent to it from the FSL app. I have not been able to do this using the above method.

Thoug, I have managed to get it working by explicitly setting the Launch Value in the App Extension to the URL of the VisualForce page (with the parameter I want tacked to the end. (i.e.: https://XXX/apex/FSLExtensionA?myparameter=someValue). This method works fine on Android, as Android prompts whether to open this link via the Salesforce App (as opposed to a web browser). It does NOT work on iOS as it simply opens the link on safari.

In summary, is there a way to pass parameters to a VisualForce page without using a fully qualified url? The Doco claims it is possible, if you house a VisualForce page within a lightning tab in the Salesforce app --> https://help.salesforce.com/articleView?id=mfs_extension.htm&type=5  - unfortunately I haven't been able to figure out how.