Pendo

Datafly Signal delivers product analytics events to Pendo server-to-server, enriching visitor and account profiles with backend-resolved traits.

⚠️

This blueprint is currently alpha — schema and behaviour may change before GA.

Prerequisites

Before configuring Pendo in Signal, you need a Pendo subscription, the API key for the subscription, and (optionally) the integration key for the Track API.

Get your Pendo credentials

Step 1: Sign in to Pendo

  1. Go to app.pendo.io and sign in.
  2. Confirm you have admin access to the subscription you want to send events into.

Step 2: Find your Subscription API Key

  1. Click the gear icon and open App Details and Install Settings.
  2. Locate the API Key — this is the value embedded in your Pendo install snippet.
  3. Copy it.

Step 3: Generate a Track API Integration Key

  1. In Integrations, open the Track Events (or similar) configuration.
  2. Click Generate Integration Key.
  3. Give the key a descriptive name (e.g. “Datafly Signal”) and copy the value.

The Track API integration key authenticates server-to-server event posts. It is distinct from the JavaScript install API key. [verify with current vendor docs]

Step 4: Confirm your data region

Pendo subscriptions are provisioned in either US or EU data centres. The endpoint base differs between regions; use the one matching your subscription. [verify with current vendor docs]

Configure the integration in Signal

Configuration Fields

FieldRequiredDescription
api_keyYesThe subscription API key from App Details and Install Settings.
integration_keyYesThe Track API integration key generated in Step 3.
data_regionNous (default) or eu. Determines the Track API endpoint.

Management UI Setup

  1. Go to Integrations in the sidebar.
  2. Open the Integration Library tab.
  3. Find Pendo or filter by Analytics.
  4. Click Install and enter your API Key, Integration Key, and Data Region.
  5. Click Install Integration.

Management API Setup

curl -X POST http://localhost:8084/v1/admin/integration-catalog/pendo/install \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Pendo",
    "variant": "b2b_saas",
    "config": {
      "api_key": "your_subscription_api_key",
      "integration_key": "your_track_integration_key",
      "data_region": "us"
    },
    "delivery_mode": "server_side"
  }'

Event Mapping

The B2B / SaaS variant maps the following Datafly events to Pendo event names:

Datafly EventPendo EventNotes
pagepage_viewPage URL, title, referrer as event properties
Product Viewedproduct_viewedProduct details as event properties
Order CompletedpurchaseRevenue, order ID, items as event properties
Custom eventsPassed throughCustom event names sent as-is

For B2B / SaaS workloads, replace e-commerce events with feature usage events (e.g. feature_used, trial_started, subscription_upgraded) — Pendo’s strength is product engagement, not transactional analytics.

Identity

The default blueprint forwards the following identifiers to Pendo:

SourcePendo field
user_idvisitorId
anonymous_idanonymousId
context.ipip
context.user_agentuser_agent
context.localelocale

For account-level analytics, set the Pendo accountId via traits in datafly.identify() (e.g. accountId: "acme-corp"). This links visitor events to their parent account in Pendo.

Default consent category: analytics.

Verify it’s working

  1. In the Signal Management UI, open your Pendo integration and watch the Live Events stream as you trigger events on your site or app.
  2. Confirm 200 responses from the Pendo Track API.
  3. In Pendo, open Visitors and search for the visitor by visitorId — events appear in the activity timeline within minutes.

Troubleshooting

SymptomCauseFix
401 authentication errorInvalid integration keyRegenerate the Track API integration key in Pendo.
404 subscription not foundWrong data regionConfirm data_region (us vs eu) matches your subscription.
Events not appearing on visitorvisitorId mismatchEnsure the same user_id is passed to datafly.identify() and to pendo.initialize() in the browser.
Account-level metrics emptyaccountId not setInclude accountId as a trait in datafly.identify() to link visitors to accounts.
Reserved field warningsProperty name collisionPendo reserves some property names — rename custom properties that clash. [verify with current vendor docs]

Blueprint

The Pendo blueprint version is 0.1.0 (alpha). It ships with a B2B / SaaS variant covering pages, product views, and purchases — adapt the blueprint to your feature-usage event taxonomy.

See also

  • Heap — alternative product analytics destination.
  • Amplitude — alternative product analytics destination with revenue tracking.
  • FullStory — pair for session replay context.