hvac-marketing-skills/tools/integrations/pendo.md
bengizmo 1e70d8387b
Some checks failed
Sync Skills / sync (push) Has been cancelled
Validate Agent Skill / detect-changes (push) Has been cancelled
Validate Agent Skill / validate (push) Has been cancelled
feat: fork marketingskills → HVAC Marketing Skills for Compendium
- Forked from coreyhaines31/marketingskills v1.1.0 (MIT license)
- Removed 4 SaaS-only skills (churn-prevention, paywall-upgrade-cro, onboarding-cro, signup-flow-cro)
- Reworked 2 skills (popup-cro → hvac-estimate-popups, revops → hvac-lead-ops)
- Adapted all 28 retained skills with HVAC industry context and Compendium integration
- Created 10 new HVAC-specific skills:
  - hvac-content-from-data (flagship DB integration)
  - hvac-seasonal-campaign (demand cycle marketing)
  - hvac-review-management (GBP review strategy)
  - hvac-video-repurpose (long-form → social)
  - hvac-technical-content (audience-calibrated writing)
  - hvac-brand-voice (trade authenticity guide)
  - hvac-contractor-website-audit (discovery & analysis)
  - hvac-contractor-website-package (marketing package assembly)
  - hvac-compliance-claims (EPA/rebate/safety claim checking)
  - hvac-content-qc (fact-check & citation gate)
- Renamed product-marketing-context → hvac-marketing-context (global)
- Created COMPENDIUM_INTEGRATION.md (shared integration contract)
- Added Compendium wrapper tools (search, scrape, classify)
- Added compendium capability tags to YAML frontmatter
- Updated README, AGENTS.md, CLAUDE.md, VERSIONS.md, marketplace.json
- All 38 skills pass validate-skills.sh
- Zero dangling references to removed/renamed skills

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 21:05:49 -03:00

4.6 KiB

Pendo

Product analytics and in-app guidance platform for tracking user behavior, measuring feature adoption, and delivering targeted in-app messages.

Capabilities

Integration Available Notes
API Features, Pages, Guides, Visitors, Accounts, Reports, Metadata
MCP - Not available
CLI pendo.js
SDK - REST API only

Authentication

  • Type: Integration Key
  • Header: x-pendo-integration-key: {key}
  • Get key: Settings > Integrations at https://app.pendo.io

Common Agent Operations

List Features

GET https://app.pendo.io/api/v1/feature

Get Feature Details

GET https://app.pendo.io/api/v1/feature/{featureId}

List Pages

GET https://app.pendo.io/api/v1/page

Get Page Details

GET https://app.pendo.io/api/v1/page/{pageId}

List Guides

GET https://app.pendo.io/api/v1/guide?state=public

Get Guide Details

GET https://app.pendo.io/api/v1/guide/{guideId}

Get Visitor Data

GET https://app.pendo.io/api/v1/visitor/{visitorId}

Search Visitors

POST https://app.pendo.io/api/v1/aggregation

{
  "response": { "mimeType": "application/json" },
  "request": {
    "pipeline": [
      { "source": { "visitors": null } },
      { "filter": "lastVisitedAt > 1700000000000" }
    ]
  }
}

Get Account Data

GET https://app.pendo.io/api/v1/account/{accountId}

Search Accounts

POST https://app.pendo.io/api/v1/aggregation

{
  "response": { "mimeType": "application/json" },
  "request": {
    "pipeline": [
      { "source": { "accounts": null } },
      { "filter": "metadata.auto.lastupdated > 1700000000000" }
    ]
  }
}

Run Funnel Report

POST https://app.pendo.io/api/v1/aggregation

{
  "response": { "mimeType": "application/json" },
  "request": {
    "pipeline": [
      { "source": { "visitors": null, "timeSeries": { "period": "dayRange", "first": 1700000000000, "last": 1700600000000 } } },
      { "identified": "visitorId" },
      { "filter": "pageId == \"page-id-1\"" },
      { "filter": "pageId == \"page-id-2\"" }
    ]
  }
}

List Metadata Fields

GET https://app.pendo.io/api/v1/metadata/schema/visitor
GET https://app.pendo.io/api/v1/metadata/schema/account
GET https://app.pendo.io/api/v1/metadata/schema/parentAccount

Key Metrics

Feature Data

  • id - Feature ID
  • name - Feature name
  • kind - Feature type
  • elementPath - CSS selector for the tracked element
  • pageId - Associated page ID
  • numEvents - Event count
  • numVisitors - Unique visitor count

Page Data

  • id - Page ID
  • name - Page name
  • rules - URL matching rules
  • numEvents - Pageview count
  • numVisitors - Unique visitor count

Guide Data

  • id - Guide ID
  • name - Guide name
  • state - Guide state (draft, staged, public, disabled)
  • launchMethod - How the guide is triggered
  • steps - Guide step definitions
  • numSteps - Number of steps
  • numViews - Total views
  • numVisitors - Unique visitors who saw the guide

Visitor Data

  • visitorId - Unique visitor identifier
  • lastVisitedAt - Last visit timestamp
  • firstVisit - First visit timestamp
  • numEvents - Total event count
  • metadata - Custom visitor metadata

Account Data

  • accountId - Unique account identifier
  • lastVisitedAt - Last visit from any account member
  • numVisitors - Number of visitors in the account
  • metadata - Custom account metadata

Parameters

Guide Filtering

  • state - Filter by state: draft, staged, public, disabled

Aggregation Queries

  • source - Data source: visitors, accounts, features, pages, guides
  • filter - Expression-based filtering
  • sort - Sort results
  • limit - Max results to return
  • timeSeries - Time range with period, first, last

Metadata Kinds

  • visitor - Visitor metadata schema
  • account - Account metadata schema
  • parentAccount - Parent account metadata schema

When to Use

  • Tracking feature adoption and usage patterns
  • Building and managing in-app onboarding guides
  • Analyzing user behavior across pages and features
  • Segmenting users by engagement level
  • Running funnel analysis on user journeys
  • Identifying at-risk accounts based on usage decline
  • A/B testing in-app messages and tooltips

Rate Limits

  • Rate limits vary by plan
  • Standard: 500 requests per minute
  • Aggregation queries: may take longer for large datasets
  • Use pagination for large result sets

Relevant Skills

  • analytics-tracking
  • ab-test-setup