Self-hosting the Pendo Agent

Overview

The Pendo Agent is the Javascript that runs in your web application, collects raw event data, and displays Guides. A standard Pendo installation loads pendo.js securely and asynchronously from a CDN. We highly recommend loading the Pendo Agent from our CDN to ensure that you're using the most current version. However, you can self-host the Pendo Agent if security restrictions require you to do so.

More Information on Installation

Planning your Pendo Installation

Developer's Guide To Installing Pendo

 

Disadvantages of Self-hosting

Pendo continuously releases updates to the Pendo Agent, typically weekly. Many of these updates include feature enhancements that will require the updated Pendo Agent to be present in your application for the feature enhancement to work properly. Self-hosting the Pendo Agent stops you from receiving the current version of the Agent when the app loads which may block access to those updates. More importantly, self-hosting the Pendo Agent prevents you from automatically receiving critical security updates. Self-hosting also requires additional developer time to install and manage the Agent.

The Agent reflects the current Subscription Settings. If any changes are made, you must update the Agent for those changes to take effect. For example, changing the "Show Guides to Anonymous Visitors" setting would start showing Guides in real time if Pendo hosts the Agent. This change will not occur until the updated Agent is downloaded and hosted with a locally hosted Agent.

Adding or removing staging environments in Pendo requires an updated version of the Agent to recognize those changes. Staging environments are used to deploy and test Guides outside of your production environment. The staging version of the Pendo Agent always comes from the Pendo CDN and any modification of the Installation Snippet to change this is not supported.

 

Download the Pendo Agent

Download the Pendo Agent from Agent Settings, which is in App Settings, under Subscription Settings.

Click Subscription Settings

SettingSubSettings.png

Click View App Details for the relevant app if you have a multi-app subscription

AppSettings.png

Click the Agent Settings tab

AgentSettings.png

Click Manage Production Settings

ManageSettings.png

Click the Download link for your Guide Delivery Settings to download pendo.js

DownloadLink.png

 

Host the Pendo Agent

After downloading pendo.js, host the file somewhere your application can access. For example, you could host the Agent at https://myapp.com/assets/pendo.js.

 

Update your Installation Snippet

After you have uploaded pendo.js to your directory, update the Installation Snippet to load pendo.js from your location. You need to update src='https://cdn.pendo.io/agent/static/'+apiKey+'/pendo.js' in the Installation Snippet with the location of your locally hosted Agent. This change must be made everywhere the Snippet is installed in your application. This could be on a single page or on multiple pages of your application depending on the details of your specific installation.

If you need to update the Agent, you only need to replace pendo.js in your directory unless you also change the location or filename.