This is the documentation for Clover Club 12.0.
Documentation for the upcoming version Rampur 13.0 can be found here.

Create and Configure an App in Salesforce Classic

This section describes how to create a connected application in Salesforce, connect it to Pricefx, and set up authentication and application layout.

Create a Connected Application

Take the following steps:

  1. Log in to Salesforce as administrator.

  2. Switch to Salesforce Classic view.

  3. Go to Setup > Build > Create > Apps > Connected Apps and click the New button.

  4. Fill in the following fields in the Basic Information section:

    1. Connected App Name – The unique name of your application, e.g., Quote Configurator.

    2. API Name – Application name used by the API (cannot contain spaces or special characters), e.g., Quote_Configurator.

    3. Contact Email – support@pricefx.eu

  5. Check the Enable OAuth Settings box and:

    1. Enter the Callback URL: https://<cluster name>.pricefx.eu/ (it can be different, please ask the Pricefx support).

    2. Add Full access (full) as Selected OAuth Scope.

  6. In the Web App Settings section: 

    1. Check the Enable SAML box.

    2. Enter Entity Id: https://<cluster name>.pricefx.eu/pricefx/<partition>/saml/consume/<SAML Configuration Name>?RelayState=quoteConfigurator (customization for your partition).

    3. Enter ACS URL: https://<cluster name>.pricefx.eu/pricefx/<partition>/saml/consume/<SAML Configuration Name>?RelayState=quoteConfigurator (customization for your partition).

    4. Leave the default settings for the other options.

    5. It is possible to check the SAML configuration in a specific cluster to get some more information about how to prefill the Entity Id and ACS URL.

  7. In the Canvas App Settings section, enable the Canvas option and:

    1. Enter the Canvas App URL: https://<cluster name>.pricefx.eu/ (it can be different, please ask Pricefx support).

    2. Leave Signed Request (POST) as Access Method.

    3. Select Identity Provider Initiated as SAML Initiation Method.

    4. Select Visualforce Page and Mobile Nav as Locations.

  8. Save the settings.

  9. Go to Build > Create > Apps > Connected Apps and find your new application in the list and press Manage.

  10. Click Edit Policies and set All users may self-authorize to Admin approved users are pre-authorized.

  11. Click Save and in the list of applications click your application's name.

  12. Click Manage and in the Profiles section, click Manage Profiles and add all profiles which will use this application.

Create a Visualforce Page

Take the following steps:

  1. Open the Developer console (Setup > Developer Console) and go to File > New > Visualforce Page.

  2. Enter the name of the page, e.g., Quote_Configurator.

  3. In the editor, enter the following markup for the page (with the appropriate applicationName value):

    <apex:page > <apex:canvasApp applicationName="Quote_Configurator" height="700px" width="100%" border="0" scrolling="yes"/> </apex:page>
  4. Click File > Save.

  5. Go to Setup > Build > Create > Tabs.

  6. In the Visualforce Tabs section, click New.

  7. Select the Visualforce page that you have created previously.

  8. Enter the label (e.g., Quote Configurator) and the name (e.g., Quote_Configurator) of the new tab.

  9. Click Next and select the profiles for which the tab will be available.

  10. Click Next and select the custom apps for which the tab will be available.

  11. Click Save.

  12. Go to Setup > Visualforce Pages.

  13. Select your created page.

  14. Click Security.

  15. Add all the required profiles.

One Canvas App for All Partitions

Instead of having one canvas app for each partition, you can have a configuration in which there is just one app that redirects the user to the correct partition.

In this configuration, the app's URL does not point to a concrete partition but to 'system'. For example:

https://pricefx.eu/pricefx/system/saml/consume?RelayState=quoteConfigurator&applicationEnvironment=salesforce

When this request is sent to Pricefx, it is consumed by 'system' SAML Consume service. This backend service resolves the target partition based on the user ID or email address. The service utilizes a user-partition map and redirects the authenticated user to the partition where the user has an account.

In cases when the same email address or user ID exists in multiple partitions (e.g., IT support users), the user will be redirected to a so called "preferred partition". The preferred partition is set on the Pricefx side as a feature flag. 

Note: This solution is suitable only for customer dedicated clusters.