Introduction

Pendo is an integrated solution for software products that helps you better understand and guide your users. Pendo extends your product to capture user behavior, gather feedback, and provide contextual help.

Using the Integration with Pendo, Gainsight users can augment their customer data with detailed usage behavior directly from the application. Key measurements such as login frequency, time in the application, features used, and total number of users per account can be added directly into Gainsight. At the same time, Pendo’s in-app guides allow customer success managers to extend customer campaigns directly through the application with targeted one to many communication. Customer outreach can be targeted based on upcoming renewals, churn risk, onboarding status, NPS / survey responses, and even their behavior in-application.

There is no additional fee to Gainsight or Pendo to deploy this integration.

All steps outlined in these instructions can be completed by a Gainsight Admin (no coding necessary). If you wish to work with Gainsight Services to have this set up for you, please contact Gainsight Support for pricing.

Minimum Requirements

  • The Gainsight managed package must be installed and active, and the Pendo integration setup in the same Salesforce environment.
  • Installation links and guides for Gainsight are available on the Salesforce Appexchange.
  • Pendo Salesforce integration setup instructions are available in Pendo Support Center.
  • Administrator permissions in SFDC
  • Administrator permissions in Gainsight

Integration Overview

The Gainsight integration is powered by Pendo’s Salesforce sync.  This feature allows Pendo to read and write from any Salesforce object. Usage data from Pendo is pushed out to Salesforce fields to be incorporated in broader measurements, and sales / customer success workflows. Salesforce fields are pulled into Pendo as visitor or account metadata which can be used to define user segments, and target in-app messages. The Salesforce sync allows data to be passed back and forth from Pendo to Gainsight without any special connectors or API calls.

Pendo has the ability to read and write from any Salesforce object, so it is possible to push product data directly to the Gainsight Usage Data Object or other objects, but we do not recommend that approach. Pendo’s integration is based on importing data from and pushing to the same Salesforce object. Connecting directly to the usage object will limit the data that you can pull in. Instead, we recommend using the Salesforce Account object as the internal “clearing house” to pass data back and forth between Gainsight and Pendo.

Step 1 - Prepare the Account Object

Step 1A - Add custom fields to hold incoming Pendo data to be pushed to Gainsight

Before making any changes to the Salesforce object, think through the data that you would like to sync with Gainsight. Some common measures to consider are:

  • Active visitors last 30 days (or last 7 days)
  • Time on site last 30 days (or last 7 days)
  • Last visit date
  • Feature X clicks last 30 days (or last 7 days)
  • Total NPS responses
  • Account NPS score

Once you’ve decided which fields to include, you will need to create custom fields in the Salesforce account object for each measure that you would like to pass to Gainsight. The fields should be setup as follows:

Pendo Measurement Salesforce Account Custom Field Name Salesforce Label
Active visitors last 30 days Pendo_numberofvisitors_last30d Pendo Number of Visitors (Last 30d)
Time on site last 30 days Pendo_timeonsite_last30d Pendo Time On SIte (Last 30d)
Last visit date Pendo_lastvisit_last30d Pendo Lasts Visit (Last 30d)

Each Salesforce field needs to have the “Pendo_” prefix added to the field name. Pendo will only write to fields that are titled this way.  

Step 1B - Add custom fields to to hold Gainsight data to be pushed to Pendo

Next you will need to add custom fields for the data you would like to bring from Gainsight into Pendo. There aren’t any naming restrictions for these fields, but you’ll want to make sure that the data types are consistent.  

For example, if you’re passing a customer health score from Gainsight to Pendo, that score might be a numerical score, or just a text indicator of “red / yellow / green”. The data type for the field you create in the account object will need to match whatever you are using in Gainsight.

Note that Pendo can share visitor-level data with Salesforce as well, but generally when passing data back and forth to Gainsight, you’ll want to keep things at the account level.

Step 2 - Setup Salesforce integration in Pendo

Now that the fields are defined, you’ll want to setup Salesforce integration between Pendo and your Salesforce instance.  

You can set this up by going to the ‘Data Mappings’ page in the Pendo interface.  Note that you will need to be a Pendo admin to setup the integration. Next to the account metadata fields, you’ll see a blue box marked “Salesforce Account Integration”. Click the ‘Begin’ button to start setting up the integration.

The first step is to authenticate with Salesforce.  You will be taken to the Salesforce login screen to enter your Salesforce credentials. You will need to authenticate with a user that has API access. After authentication is confirmed, the next step is to setup the fields that link your Salesforce accounts with Pendo’s.  

For Pendo’s fields, you will likely want to use Account ID. The Salesforce object is the Account object, and then you’ll want to select the Salesforce account field that maps to your Pendo accounts. If your Account ID’s are not consistent between Salesforce and Pendo, you may need to add another custom field to the Account object that contains the ID used in Pendo.

It’s important to note that the integration assumes a 1 to 1 relationship between Pendo and Salesforce accounts. If the relationship is not consistent, there may be issues with data sync.

Once the mapping is complete, you can select the fields that you would like to pull from Gainsight into Pendo. In the dialog that opens, you can select any of the Account fields that you added to hold the Gainsight data.

Once the integration is setup, and the fields are mapped, Pendo will begin syncing data with Salesforce every 24 hours.

Step 3 - Create account reports in Pendo to push usage data into Gainsight

In the previous step, you set up the mechanism in Pendo that will pull the Gainsight data in via the Account object. Next, you’ll need to setup the reports that Pendo uses to push data back into Salesforce. In Pendo, navigate to ‘Accounts’, select the ‘Account Reports’ tab, and select create a new report.

For the new report, it’s recommended to use “Everyone” as the segment, as you may end up missing accounts as you sync data to Gainsight. Next you’ll want to select the date range for the report. The date range is important as it will dictate the frequency of the results that are pushed into Gainsight. You’ll want to consider whether data from the past day, past week, past month (or some custom range) is the best to capture your user's data. Note that you can use different reports for different date ranges, so it’s possible to sync both 7-day visitors as well as 30-day visitors to Gainsight.

Then pick the fields that you would like for the report. You’ll want to select all of the fields that you would like to pass to Gainsight. Once the fields are setup, click ‘Create Report’ to finish.

Once the report is created, you can map the report fields to the corresponding Salesforce account fields, by clicking the ‘Setup’ button next to ‘Salesforce Push’ in the report header.

This will bring up a dialog allowing you to map columns from the report to Salesforce fields.  Note, since Pendo reads and writes from the same Salesforce object, you will only be allowed to push data fields out to the account object.

Once the ‘Daily Sync’ option is turned on, Pendo will push data from these report fields to the mapped Salesforce fields every 24 hours. On the Salesforce side, this means that the fields will be overwritten every day to show the most recent measurement.

Step 4 - Add Pendo fields to Gainsight usage object

Now that Pendo is setup to read and write fields from the Salesforce Account object, the next steps will bring this data to and from Gainsight in order to complete the integration.  Note that you will need administrative access to Gainsight to set this up.

Step 4A - Create the Usage Measures in Gainsight to hold the Pendo data

Note: These instructions assume that weekly aggregate data is being synced into Gainsight’s Usage Data Object. If you have chosen to not use the Usage Data object and store your data within Gainsight’s MDA, you can follow these steps but apply them to the subject area where your usage data is stored.

Refer Usage Data Configurations to add Usage Measures in Gainsight. Take care to make the names descriptive so it is immediately clear to the end user what value the metric represents.

Note that you can also push the data to the Gainsight MDA rather than the Salesforce object. This configuration would allow you to store data at a frequency other than weekly or monthly.  

Step 5 - Add a Gainsight rule to move the account object fields into Gainsight

Step 5A - Setup the Rule

Gainsight Administration tab > go to the Rules Engine tile in the top left. Click to create a new Rule using the “+Rule” on the right hand side.

Fill in the following in the rule detail screen:

  • Rule Type “Custom”
  • Rule Name: “Pendo: Sync data from Account to Usage”

Click on Next to navigate to the Rules Configuration Screen > Click the ‘Native Data’ radio button > Click in the dropdown to select the ‘Account’ object

From the list of fields in the left-hand column, Add the following fields to the Show box by selecting and dragging:

  • ID from Account Object (Account:: ID) - Required
  • All of the custom Pendo fields you have added to the Account in Step 1A

Check the checkbox below the Filters box named ‘Apply to Gainsight customers only’.

Click ‘Next’ to move to the Action Configuration Screen.

Step 5B - Setup the Action

Create a ‘Load to Usage’ Action Type.

The fields you added to the Show box in 5A will automatically appear in the left-hand column. On the right hand side, map them with the corresponding fields you added to the Usage Data Object.

For the mapping to complete, you will also need to add two ‘Field Mappings’ by clicking the ‘+FIELD MAPPING’ in the top right corner of the action box.

For the first one, select ‘Usage Data Aggregation Level Name’ from the drop-down and underneath it, type in ‘ACCOUNTLEVEL’ (with no space) to indicate that the data is account-level granularity.

For the second one, select ‘Date’ on the right-hand side, and select ‘Rule Date’ as the subsequent value.

Click Save then click on ‘Schedule’ in the breadcrumbs at the top.

Since the Pendo data is pushing to the account object daily at midnight, you should setup the Gainsight rule to also run daily after the Pendo sync, so that you’re consistently adding the updated usage data into Gainsight.

Click Save

Step 6 - Add a Gainsight rule to move Gainsight measures back to the account object

The last step in the process, is to sync any Gainsight data back into the Salesforce object that you would like to make available to Pendo.  To do this, you will create one more rule within the Gainsight admin console.  

Step 6A - Setup the Rule

Gainsight Administration tab > go to the Rules Engine tile in the top left. Click to create a new Rule using the “+Rule” on the right hand side.

Fill in the following in the rule detail screen:

  • Rule Type “Custom”
  • Rule Name: “Pendo: Sync data from Gainsight to Account”

Click on Next to navigate to the Rules Configuration Screen > Click the ‘Native Data’ radio button > Click in the dropdown to select the ‘Customer Info’ object

From the list of fields in the left-hand column, Add the following fields to the Show box by selecting and dragging:

  • ID from Account Object (Account:: ID) - Required
  • Any Gainsight fields you want to use to trigger action in Pendo

Check the checkbox below the Filters box named ‘Apply to Gainsight customers only’

Step 6B - Setup the Action

Before you can setup the action for this rule, you will need to enable the Account Object to be written to by a Gainsight Rule. Refer the article Use Rules to Load to SFDC Object or MDA Subject Area and be sure to enable all the fields you wish to write to and the Account ID field.

Click ‘Next’ to move to the Action Configuration Screen.

Create a ‘Load to SFDC’ Action Type.

Select the ‘Account’ as your Object Name and ‘Update’ as your Operation.

The fields you added to the Show box in 6A will automatically appear in the left-hand column. On the right hand side, map them with the corresponding fields you added to the Account Object.

Be sure to select ‘Include in identifiers’ under the Account::id(String) to Id (string) mapping.

Click Save, then click on ‘Schedule’ in the breadcrumbs at the top.

The last step is to set the schedule / timing for the rule. Since the Pendo data is pushing to the Account Object every day at midnight, you should setup the Gainsight rule to also run daily after the Pendo sync, so that you’re consistently adding the updated usage data into Gainsight.

Click Save