Support
Welcome to WalkMe support

Please login in order to continue:

Work flows better with WalkMe
Work flows better with WalkMe.

Install WalkMe on Salesforce Lightning Communities Using Reverse Proxy

Last Updated March 29, 2021

Let's get WalkMe to your users!

Salesforce Lightning Communities do not allow administrators to add the WalkMe Snippet into the HTML code, so we use a process called Reverse Proxy to deploy WalkMe.

Using Reverse Proxy

A Reverse Proxy does not require any configuration on the client side. Your users simply request the webpage and your proxy server will request the page from Salesforce with the WalkMe Snippet placed into the head of the page. This allows you to deploy WalkMe to all external users without asking them to install anything.

How it works

A Reverse Proxy allows you to modify the final webpage delivered to a user. In this case, the reverse proxy adds the WalkMe Snippet into the page head before delivering it to the end user.

The client (AKA user) requests the webpage using the URL on your domain. This is sent to your DNS but instead of simply delivering the webpage from Salesforce, it sends a request to the CDN server with the reverse proxy on it. The reverse proxy then request the page from Salesforce and places the WalkMe Snippet into the HTML code and delivers the page to the client.

Before you Get Started

To use Reverse Proxy to deploy the WalkMe Snippet you must have the following:

  • A URL that is part of your domain for the community set up, e.g. community.companyname.com
  • CDN server that can be configured as a reverse proxy
Important Note About Testing

You cannot test a reverse proxy in a Salesforce Sandbox environment.  Salesforce does not allow you to test Custom Domains in a Sandbox environment so all testing must be done in a production environment.

Also note that custom root domains (e.g.http://mydomain.org) can not be added in Salesforce. You can only add sub-domains as follows,http://www.mydomain.org.

1. Getting Your CNAME URL from Salesforce

1. Getting Your CNAME URL from Salesforce

Admin Access

You must be logged in as a Salesforce Administrator to complete the following process.

The easiest way to get the CNAME URL is to try and set up the Domain without a proxy setup. This creates an error message with the CNAME included.

  1. From Salesforce, click Setup
  2. Under Administer, click Domain Management
  3. Click Domains
  4. Click Add A Domain
  5. Type Domain Name for your community.
  6. Click Save.An error message will appear
  7. From error message, copy CNAME record that points to [domain].00dXXXXXXXXXX.live.siteforce.com. The CNAME is used to set up Proxy Server
  8. Continue to, 2. Setting up Your CDN Proxy Server 

2. Setting up Your CDN Proxy Server

2. Setting up Your CDN Proxy Server

You must have the CNAME record from the previous section

  1. From CDN server, create reverse proxy that relays your domain to the CNAME record copied from section 1. Getting your CNAME URL from Salesforce,  [domain].00dXXXXXXXXXX.live.siteforce.com
  2. Setup a substitute filter to capture and modify the proxied requests as shown below. You must add the WalkMe Snippet URL to the code provided.

    In this example,  ${WALKME_SNIPPET_URL} is the snippet URL as shown in the editor. Where to find the WalkMe Snippet in the WalkMe Editor

    Find:
    </head
    Replace:
    <script type="text/javascript">(function() {var walkme = document.createElement("script"); walkme.type = "text/javascript"; walkme.async = true; walkme.src = "${WALKME_SNIPPET_URL}"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(walkme, s); window._walkmeConfig = {smartLoad:true}; })();</script></head
  3. Make sure that the Host header of the proxied request keeps your custom domain, e.g. proxy_set_header Host $http_host;
  4. Make sure that the reverse proxy serves the custom domain over HTTPS.
  5. Wait 1 hour to allow the CDN to update before continuing to section 3. Create, Activate and Configure Your Domain in Salesforce

3. Create, Activate and Configure Your Domain in Salesforce

3. Create, Activate and Configure Your Domain in Salesforce

Wait 1 hour after completing section 2. Setting up Your CDN Proxy Server to allow the CDN to Update

  1. From Salesforce, click Setup
  2. Under Administer, click Domain Management
  3. Click Domains
  4. Click Add A Domain
  5. Type Domain Name for your community.
  6. Click Save.
  7. From Domains in Salesforce, Click Activate next to your domain
  8. From your DHCP Server, Configure DNS record to your new proxy server
  9. From Domains in Salesforce, Click your domain to edit it. Domain Edit page appears
  10. Select, “You serve the domain over HTTPS, using your own CDN partner or your own hardware”
  11. Click Save. Domain Details page will appear
  12. From Custom URLs, click "New Custom URL"
  13. Type Site Name (AKA Community Name)
  14. Click Save

4. Testing Your Reverse Proxy Implementation

4. Testing Your Reverse Proxy Implementation

We highly recommend testing your implementation with the help of your CSM. To test your implementation, you must publish from the WalkMe Editor. Since Reverse Proxy requires that you publish only to a production environment, we suggest working with your CSM to ensure this has minimal impact on your end users.

When testing a new implementation you must publish the settings files associated with your editor account. You do not need to publish any specific content to see the WalkMe Player tab appear on your site. Publishing only setting files is often referred to as “Blank Publishing”.

Was this article helpful?

Thanks for your feedback!

Be part of something bigger.

Engage with peers, ask questions, share ideas

Ask the Community
×