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

206 lines
4.6 KiB
Markdown

# 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](../clis/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
```bash
GET https://app.pendo.io/api/v1/feature
```
### Get Feature Details
```bash
GET https://app.pendo.io/api/v1/feature/{featureId}
```
### List Pages
```bash
GET https://app.pendo.io/api/v1/page
```
### Get Page Details
```bash
GET https://app.pendo.io/api/v1/page/{pageId}
```
### List Guides
```bash
GET https://app.pendo.io/api/v1/guide?state=public
```
### Get Guide Details
```bash
GET https://app.pendo.io/api/v1/guide/{guideId}
```
### Get Visitor Data
```bash
GET https://app.pendo.io/api/v1/visitor/{visitorId}
```
### Search Visitors
```bash
POST https://app.pendo.io/api/v1/aggregation
{
"response": { "mimeType": "application/json" },
"request": {
"pipeline": [
{ "source": { "visitors": null } },
{ "filter": "lastVisitedAt > 1700000000000" }
]
}
}
```
### Get Account Data
```bash
GET https://app.pendo.io/api/v1/account/{accountId}
```
### Search Accounts
```bash
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
```bash
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
```bash
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