# Pendo

[Pendo](https://www.pendo.io/) is a popular product analytics platform that allows you to better understand your customers, and deliver personalized, guided product journeys for them.

RudderStack allows you to configure Pendo as a destination to which you can send your event data seamlessly, for delivering personalized user experiences.

## Connection compatibility

{{< destination-config >}}

{{< info >}}
In the web device mode integration, that is, using [JavaScript SDK]({{< ref "sources/event-streams/sdks/rudderstack-javascript-sdk/_index.md" >}}) as a source, RudderStack loads the Pendo native SDK from the`https://cdn.pendo.io/` domain. 

Based on your website's content security policy, you might need to [allowlist this domain]({{< ref "sources/event-streams/sdks/rudderstack-javascript-sdk/load-js-sdk.md#allowlist-destination-domain" >}}) to load the Pendo SDK successfully.
{{< /info >}}

## Get started

Once you have ascertained that the platform is supported by Pendo, please follow these steps:

- Choose a source to which you would like to add Pendo as a destination.
- Select the destination as **Pendo** to your source. Give your destination a name and then click **Next**.
- On the **Connection Settings** page, fill all fields with the relevant information and click **Next**.

{{< image src="images/screenshot-2020-11-27-at-2.29.18-pm.webp"  >}}

{{< info >}}
To get the Pendo **API Key**, follow these steps:

1. Login to Pendo dashboard.
2. Go to the **Settings** on the left sidebar and click **Subscription Settings**.
3. You will see an option called **Apps** and under that hover on the square box and click **view app details**.
4. Here you will find your **API Key** in **App Details** section.
{{< /info >}}

## Identify

To identify a user to Pendo, you need to call the `identify` API. When you send an `identify` call, RudderStack will pass that user’s information to Pendo with `userId` as Pendo’s visitor ID. The user traits that you pass are mapped to visitor metadata in Pendo.

A sample `identify` call is as shown:

```javascript
rudderanalytics.identify("name123", {
  name: "Name Surname",
  first_name: "Name",
  last_name: "Surname",
  email: "name@surname.com",
  createdAt: "Thu Mar 24 2020 17:46:45 GMT+0000 (UTC)",
})
```

## Group

You can use the `group` call to create or update an account in Pendo. When you send a Group call, RudderStack sends the `groupId` to Pendo as account ID. The group traits are mapped to account metadata in Pendo.

{{< info >}}

If you are using your Pendo account data, the group calls (with fields `groupId` & `traits`) are required.

{{< /info >}}

Here is a sample `group` call:

```javascript
rudderanalytics.group("groupId", {
    "name": "Company",
    "industry": "Industry",
    "employees": 123,
    "email": abc@xyz.com
  }
);
```

## Track

The `track` call allows you to capture any action that the user might perform, along with the properties that are associated with that action. Each action is considered to be an event.

Here is a sample `track` call:

```javascript
rudderanalytics.track("test track event", {
  revenue: 30,
  currency: "USD",
  userId: "12345",
})
```

## FAQ 

#### Where do I find the Pendo API Key?

- Login to Pendo dashboard.
- Go to the **Settings** on the left sidebar and click **Subscription Settings.**
- You will see an option called **Apps** and under that hover on the square box and click **view app details**.
- Here you will find your **API Key** in **App Details** section.
