Instructions for syncing data into Vitally via Pendo

About Pendo

With Vitally's Pendo integration, you can sync the following Pendo events into Vitally to use in your dashboards, health scores, automation, and more.

  • Track Received

  • Guide Displayed

  • Poll Displayed

  • Poll Submitted

  • NPS Displayed

  • Reports synced*

*Pendo Reports will sync to Vitally Accounts or Organizations as Traits. Reports are synced every 12 hours. Please contact our Support team at for assistance with syncing Reports!

Additionally, Vitally will import all NPS Submitted events as NPS Responses

These will show up as events in Vitally except NPS submitted, which will come through into the native Vitally NPS Responses.


To sync your Pendo events into Vitally, you first need to create a new Pendo webhook at

Make sure that your Pendo subscription includes webhooks.

Pendo: Integrate

  1. Navigate to your Settings (⚙️) at the bottom left of the left panel

  2. Navigate to Integrations on the left panel

  3. Navigate to Pendo

Once the integration has been enabled, you’ll first want to make sure that you can create a Pendo webhook. If you're able to, continue to the below steps:

  1. Enable the integration by switching the toggle on the top right

  2. In another tab, navigate to

  3. When in Pendo, click the + Add Webhook button and create a new URL webhook using the details uniquely created

Setting External IDs

Like all other integrations, an external ID is simply a unique ID given to an account or user. It is used to accurately tie customer data from one tool with another. Vitally will associate your Users to their respective Accounts based on the external IDs received via the Pendo webhooks.

Using Default Pendo IDs

By default, Vitally uses the following mappings to link Pendo Accounts and Users to existing records in Vitally, or to create new records if one does not yet exist.

  • Pendo's visitorId = Vitally's User External ID

  • Pendo's accountId = Vitally's Account External ID

(Optional) Using metadata to set External IDs

If your Pendo visitorId and/or accountId do not match the external ID(s) you are using in Vitally, but your Pendo records contain the correct external ID within the record metadata, you can setup a Pendo API connection to supplement the webhooks and properly link your Pendo records with Vitally records.

  1. Enter the metadata field name to replace visitorId - this needs to include the group and field name. Formatting should be groupname.fieldname (i.e.

  2. Enter the metadata field name to replace accountId - - this needs to include the group and field name. Formatting should be groupname.fieldname (i.e.

  3. Setup a Pendo Integration Key

    • You do not need to "Allow write access"

  4. Copy and paste the Integration Key into the "API Key" field within the Pendo Integration configuration

If using Hierarchy in Vitally, you will be presented the option to choose if Pendo's accountId (or non-standard metadata field) should map to the Organization or Account level in Vitally.


Q: The NPS response is not linked to the correct User, why is this happening? A: User external ID's must match in order for Vitally to properly link between Pendo and Vitally. Please make sure that the external ID's match between both platforms.

Q: How are you linking data to Accounts and Users in Vitally? A: External IDs are set based on the configuration you have entered for Setting External IDs. If you have account hierarchy enabled, we'll show you an option to treat the accountId as an organization external ID instead of an account external ID.

Q: Can I create Accounts/Users directly from the Pendo integration? A: Yes, but those Accounts/Users will not have any traits. Our current Pendo integration only handles webhook events. We will create users and accounts (or, configurable, organizations) based on the configuration you have entered for Setting External IDs.

Q: Why do the Pendo Poll Responses come up as [object Object]? A: We don't currently support this. NPS Surveys are supported, but Surveys/Events that have Objects in the response don't come through in detail.

Last updated