← Back to all apps

Pendo

Businessby Pendo
Launched Feb 19, 2026 on ChatGPT

Source of truth for live, account-specific Pendo product analytics data. This tool must be used for any questions about actual Pendo usage, metrics, user behavior, or engagement. The model should not infer or estimate Pendo data without calling this tool. Provides access to Pendo analytics including:

Usage analytics (page views, feature clicks, time spent) User and account data with custom metadata Product Engagement Score (adoption, stickiness, growth) Guide reach, completion, and effectiveness Segmentation by predefined user and account segments Discovery of pages, features, guides, and track events Session replay lookup and filtering Queries require a subscription ID and often an application ID. Use list_all_applications to discover available subscriptions and apps

14ChatGPT Tools
11Claude Tools
PendoDeveloper
BusinessCategory

Use Cases

productivitydata

Available Tools

Account Metadata Schema

accountMetadataSchema
Full Description

Return the set of metadata that is available from the accounts table for each account. It is a set of . separated metadata field names to information about that field, including the type. Here is an example return value

{ "metadata.custom.ARR" : "float", "metadata.pendo.donotprocess" : "boolean" }

PERFORMANCE: This is a fast-running tool.

Parameters (1 required)
Required
subIdstring

Subscription ID that owns the data. Required for all queries.

Account Query

accountQuery
Full Description

Retrieve account data and metadata OR just the counts of matching accounts by running aggregation queries directly against the account dataset. Every response entity will conceptually be an account of that subscription.

USE THIS TOOL FOR: Getting account information, metadata, and account counts with flexible filtering options.

PERFECT FOR QUERIES LIKE:

  • "Get all accounts with their custom metadata fields"
  • "Show me accounts from a specific segment"
  • "How many accounts match certain criteria?" (set count=true)
  • "Get account metadata like ARR, company size, or custom properties"

WHAT THIS TOOL RETURNS:

  • Account data with selected metadata fields (without select passed in, no metadata fields are returned)
  • Account counts when count=true is specified
  • Results filtered by segments, specific account IDs, or other criteria

FILTERING OPTIONS:

  • Filter by specific account ID
  • Filter by account segments
  • Select specific metadata fields to include

This tool executes aggregation queries directly and returns results immediately. For available metadata fields, use the accountMetadataSchema tool. Example usage of metadata fileds is select=["metadata.agent.is_paying","metadata.auto.lastvisit"].

PERFORMANCE: This is a fast-running tool.

Parameters (1 required, 4 optional)
Required
subIdstring

Subscription ID that owns the data. Required for all queries.

Optional
accountIdstring

only return data about the specified accountId

countboolean

When true, returns only a count instead of full data. If filtering to specific items (itemIds), returns the sum of events. If group is specified, returns count of distinct group values. Otherwise, returns count of distinct entities. Use for 'how many' questions.

segmentIdstring

filter the results by the specified segment id. If not provided, no segment filtering is applied.

selectarray

list of fields to read in addition to the accountId. only exact field names may be used, and should come from the accountMetadataSchema tool

Activity Query

activityQuery
Full Description

Query aggregated activity metrics (events, minutes, unique visitors, unique accounts) for pages, features, track types, accounts, or visitors within a date range.

Use this tool to answer questions about usage patterns, engagement metrics, and activity counts. Supports filtering by account, visitor, segment, or specific item IDs, and grouping results by various dimensions.

USE FOR: Getting activity metrics from various sources with several filtering options.

EXAMPLES:

  • Get account activity metrics for the account ID XYZ → dateRange={range:'relative', lastNDays:30}
  • What are the most active pages in the last 30 days? → dateRange={range:'relative', lastNDays:30}
  • How many visitors used feature ABC in the last 7 days? → dateRange={range:'relative', lastNDays:7}
  • Show activity for the top 5 track types → dateRange={range:'relative', lastNDays:30}
  • How many views did page X get in the last 30 days? → entityType='page', itemIds=['pageId'], count=true, dateRange={range:'relative', lastNDays:30}
  • Count total events for feature X in the last week → entityType='feature', itemIds=['featureId'], count=true, dateRange={range:'relative', lastNDays:7}
  • Return only the total number of matching visitors for a query → set count=true
  • Query specific date range → dateRange={range:'custom', startDate:'2024-01-01', endDate:'2024-01-31'}
  • Get page activity for January 2024 → entityType='page', dateRange={range:'custom', startDate:'2024-01-01', endDate:'2024-01-31'}
  • Which visitors used feature X in Q1 2024? → entityType='feature', itemIds=['featureId'], group=['visitorId'], dateRange={range:'custom', startDate:'2024-01-01', endDate:'2024-03-31'}
  • Which features have the most rage clicks → frustrationMetrics=true, entityType='feature', group=['visitorId'], sort=['-rageClickCount']
  • What is the count of unique events for account → entityType='account', dateRange={range:'relative', lastNDays:30}
  • Which visitors were active on the most days? → entityType='visitor', group=['visitorId'], sort=['-daysActive'], limit=5, dateRange={range:'relative', lastNDays:30}

NOT FOR: guides and polls; use the guidemetricstool instead.

RETURNS:

  • Raw JSON array [{requestId, rows: [...], time, url}]
  • When count=true: Returns a minimal JSON result with a 'count' field containing the sum of events (if itemIds provided), count of distinct group values (if group provided), or count of distinct entities
  • Aggregated activity metrics for events, minutes spent, visitors, accounts, and (if frustrationMetrics set) some 'frustration' metrics.
  • Results can be grouped by a provided field.
  • Results can be sorted by a provided field.
  • By default, results are limited at 1000.

FILTERING OPTIONS:

  • Filter by account ID
  • Filter by visitor ID
  • Filter by item IDs (i.e. page, feature, track type)

SORT OPTIONS:

  • Any SELECT/GROUP field (accountId, day, featureId, itemId, month, pageId, trackTypeId, visitorId, week)
  • numEvents - total event count
  • numMinutes - total minutes spent
  • uniqueAccountCount - count of unique accounts
  • uniqueVisitorCount - count of unique visitors
  • daysActive - count of unique days active
  • if frustrationMetrics param is set, any frustration metric: errorClickCount, rageClickCount, uTurnCount, deadClickCount

The maximum time range for this tool is 367 days.

PERFORMANCE: This is a fast-running tool.

Parameters (4 required, 10 optional)
Required
appIdstring

Application id of the app to query

dateRangeobject

The time period to query. Use 'relative' with lastNDays or 'custom' with explicit dates.

entityTypestring

The entity type to query

Options:pagefeatureguidetrackTypevisitoraccountpoll
subIdstring

Subscription ID that owns the data. Required for all queries.

Optional
accountIdstring

Filter results to a specific account. REQUIRED when the user mentions or references a specific account. Use the exact account ID string

countboolean

When true, returns only a count instead of full data. If filtering to specific items (itemIds), returns the sum of events. If group is specified, returns count of distinct group values. Otherwise, returns count of distinct entities. Use for 'how many' questions.

frustrationMetricsboolean

Toggles return of frustration metrics: error click/rage click/u-turn/dead click count

Default: False
grouparray

The group to query

Default: []
itemIdsarray

The item ids to query

Default: []
limitnumber

Maximum number of rows to return. Range: 1-1000. Default: 1000.

Default: 1000
periodstring

Time period format: 'dayRange'/'weekRange' for single totals across entire period (e.g., 'total views: 1000'), 'daily'/'weekly' for time series showing trends (e.g., 'Jan 1: 100, Jan 2: 150, Jan 3: 200'). Use dayRange/weekRange for summary metrics, use daily/weekly for trend analysis.

Options:dayRangeweekRangedailyweekly
Default: dayRange
segmentIdstring

filter the results by the specified segment id. If not provided, no segment filtering is applied.

sortarray

The fields to sort by. Prepending the field with a + (ascending) or - (descending) determines the sort direction.

Default: []
visitorIdstring

Filter results to a specific visitor. REQUIRED when the user mentions or references a specific visitor. Use the exact visitor ID string

Generate Feedback Topics

generate_feedback_topics
Full Description

Generates AI-clustered topics from customer feedback matching the given filters. Each topic contains a name, description, and count of related insights. Use this for high-level overviews of the most common themes in a feedback subset.

PERFORMANCE: This is a slow-running tool.

Parameters (1 required, 1 optional)
Required
subIdstring

Subscription ID that owns the data. Required for all queries.

Optional
feedbackFiltersobject

Filters to apply when querying customer feedback.

Get Feedback Insights

get_feedback_insights
Full Description

Retrieves key customer feedback insights extracted from raw feedback matching the given filters. Each item includes a summary, explanation, and supporting quote. Use this when the user wants to see actionable feedback insights which have been distilled from the raw customer feedback. Note: insights can also be referred to as 'highlights'

PERFORMANCE: This is a slow-running tool.

Parameters (1 required, 1 optional)
Required
subIdstring

Subscription ID that owns the data. Required for all queries.

Optional
feedbackFiltersobject

Filters to apply when querying customer feedback.

Get Feedback Items

get_feedback_items
Full Description

Retrieves the original, raw customer feedback matching the given filters. Each item includes id, title, description, and info about the account and visitor which gave the feedback. Use this when the user wants the full raw feedback, as opposed to the extracted insights or clustered topics. A maximum of 30 items will be returned, however there may be more matching the filter set.

PERFORMANCE: This is a slow-running tool.

Parameters (1 required, 1 optional)
Required
subIdstring

Subscription ID that owns the data. Required for all queries.

Optional
feedbackFiltersobject

Filters to apply when querying customer feedback.

Guide Metrics

guideMetrics
Full Description

Get comprehensive guide performance analysis including reach, engagement, and effectiveness metrics.

USE FOR: Analyzing specific guide performance with core metrics like reach, engagement rates, and completion analysis.

EXAMPLES:

  • How is the onboarding guide performing this month?
  • Show me metrics for the tooltip guide
  • What are the completion rates for the walkthrough guide?
  • How many users are dismissing the announcement guide?
  • Show me daily guide completion trends over the last 2 weeks
  • What's the weekly pattern for guide engagement?

RETURNS:

  • Reach metrics: total views, unique viewers, unique accounts
  • Engagement metrics: views per user, total interactions
  • Effectiveness metrics: completion rate, dismissal rate
  • Range periods (dayRange/weekRange): single aggregated values across entire date range
  • Iterative periods (daily/weekly): time series with metrics broken down by day/week
  • Raw aggregation results in JSON format

The maximum time range for this tool is 93 days.

PERFORMANCE: This is a fast-running tool.

Parameters (4 required, 2 optional)
Required
endDatestring

Query end date in YYYY-MM-DD format (e.g., '2025-01-31'). Inclusive.

guideIdstring

The exact guide ID to analyze.

startDatestring

Query start date in YYYY-MM-DD format (e.g., '2025-01-01'). Inclusive.

subIdstring

Subscription ID that owns the data. Required for all queries.

Optional
blackliststring

Blacklist behavior: 'apply' (use blacklist, normal behavior), 'ignore' (do not use blacklist), 'only' (invert blacklist, return only blacklisted activity)

Options:applyignoreonly
Default: apply
periodstring

Time period format: 'dayRange'/'weekRange' for single totals across entire period (e.g., 'total views: 1000'), 'daily'/'weekly' for time series showing trends (e.g., 'Jan 1: 100, Jan 2: 150, Jan 3: 200'). Use dayRange/weekRange for summary metrics, use daily/weekly for trend analysis.

Options:dayRangeweekRangedailyweekly
Default: dayRange

List All Applications

list_all_applications
Full Description

Pendo data is split into subscriptions, which share a set of visitors and accounts. Each subscription is split into separate applications. This call returns a list of all the names and ids of all the subscriptions this user has access to, along with the names and ids of all of the applications in that subscription.

Most tools for this mcp require at least a subscription id; many also require an application id. Application ids are not unique across different subscriptions.

PERFORMANCE: This is a fast-running tool.

Product Engagement Score

productEngagementScore
Full Description

A tool designed for running PES (product engagement score) queries. For any score fields that aren't required or provided, default saved PES configuration options are used.

USE FOR: Analyzing the PES, which is made up of scores from feature adoption, stickiness, and growth.

EXAMPLES:

  • What is the PES for this feature?
  • What is adoption score for a specific feature, page, and track event?
  • What is the stickiness score for accounts, weekly over monthly? (This may expressed as WAA over MAA)
  • What is the stickiness score for visitors, daily over monthly, excluding weekends? (This may expressed as DAU over MAU)
  • What is the growth score for accounts?

RETURNS:

  • PES score and component scores (adoption, stickiness, growth)
  • Individual component scores (adoption, stickiness, growth)

The maximum time range for this tool is 180 days.

PERFORMANCE: This is a fast-running tool.

Parameters (4 required, 13 optional)
Required
appIdstring

Application id of the app to query

endDatestring

Query end date in YYYY-MM-DD format (e.g., '2025-01-31'). Inclusive.

startDatestring

Query start date in YYYY-MM-DD format (e.g., '2025-01-01'). Inclusive.

subIdstring

Subscription ID that owns the data. Required for all queries.

Optional
accountIdstring

Filter results to a specific account. REQUIRED when the user mentions or references a specific account. Use the exact account ID string

adoptionUserBasestring

The user base for the adoption score.

Options:accountsvisitors
blackliststring

Blacklist behavior: 'apply' (use blacklist, normal behavior), 'ignore' (do not use blacklist), 'only' (invert blacklist, return only blacklisted activity)

Options:applyignoreonly
Default: apply
excludeWeekendsboolean

Whether to exclude weekends in the stickiness score calculation.

featureIdsarray

Array of the featureIds to include in the adoption score calculation. If this, pageIds, and trackEventIds are empty, default core events are included.

Default: []
growthUserBasestring

The user base for the growth score.

Options:accountsvisitors
pageIdsarray

Array of the pageIds to include in the adoption score calculation. If this, featureIds, and trackEventIds are empty, default core events are included.

Default: []
scoresarray

Array of the scores to return. If empty, only PES is returned

Default: ['pes']
segmentIdstring

filter the results by the specified segment id. If not provided, no segment filtering is applied.

stickinessDenominatorstring

The denominator time range for the stickiness score. If denominator is provided, numerator must also be provided. Numerator cannot equal denominator.

Options:weeklymonthly
stickinessNumeratorstring

The numerator time range for the stickiness score. If numerator is provided, denominator must also be provided. Numerator cannot equal denominator.

Options:dailyweekly
stickinessUserBasestring

The user base for the stickiness score.

Options:accountsvisitors
trackEventIdsarray

Array of the trackEventIds to include in the adoption score calculation. If this, pageIds, and featureIds are empty, default core events are included.

Default: []

Search Entities

searchEntities
Full Description

Look up the names and descriptions of product entities, such as: accounts, pages, features, track types, or guides.

Useful for: finding relevant entities in the customer's product for follow-up analysis with other tools, or learning more about specific entities. Uses semantic search to find entities by conceptual meaning and relevance to natural language queries, with substring search fallback for exact matching when needed.

Tool may be used in one of two ways: 1. Get specific entities: itemIds and exactly one itemType are specified; search_fallback and search are not allowed in this case. 2. Search for relevant entities: search_fallback AND search are BOTH specified, along with one or more itemType; itemIds is not allowed in this case.

IMPORTANT: The search parameter should contain only the core query terms (e.g., "onboarding features", "Bridgeway Logistics"), not instructions or meta-commentary.

EXAMPLES:

  • What features should I look at to track onboarding success?
  • What parts of my app provide administrator functions?
  • What communications do we have to end users advertising our annual conference?
  • What instrumentation events do we collect for end-user performance?
  • Which pages should I measure user activity on to see how much time users are spending in setup?
  • What accounts contain 'acme' in their name?
  • Do I have any accounts involved in steel manufacturing?

PERFORMANCE: This is a fast-running tool.

Parameters (3 required, 4 optional)
Required
appIdstring

Application id of the app to query

itemTypearray

The types of item to search for. Case-sensitive.

subIdstring

Subscription ID that owns the data. Required for all queries.

Optional
itemIdsarray

Array of IDs for the product entities (pages, features, trackTypes, guides, accounts, etc.) whose information is needed. If specified, exactly one itemType must be given, and search and search_fallback are not allowed.

limitstring

Return at most this many items for each itemType.

Default: 100
searchstring

The semantic search query (e.g., "Bridgeway Logistics", "onboarding features"). Use natural phrases, not meta-instructions. Must always be specified together with search_fallback.

search_fallbackarray

Search substring(s), to filter returned entities by those containing any of these substrings in their name/description. Must always be specified together with search. This is ignored when search is specified and supported, and only used as a fallback for unsupported subscriptions.

Segment List

segmentList
Full Description

List all the segments. The name and the id of each segment is returned. These segments can be used for query build tools. Only publicly shared segments are returned.

PERFORMANCE: This is a fast-running tool.

Parameters (1 required, 1 optional)
Required
subIdstring

Subscription ID that owns the data. Required for all queries.

Optional
substringstring

Only return segments whose name contains this value; matching is case insensitive

Session Replay List

sessionReplayList
Full Description

Get session replay recordings with filtering by duration, activity percentage, and date range. Returns detailed session metadata including frustration events, activity scores, and app information.

USE FOR: Finding session replays with specific criteria, analyzing user session quality, identifying high-activity or problematic sessions

EXAMPLES:

  • Show me recordings that occur on page 1234
  • Show me session replays from the last week with high activity
  • Find session replays longer than 5 minutes
  • Show me session replays for visitor 1234

RETURNS:

  • Session replay recordings with their URL and metadata including duration, activity percentage, frustration events, and app details. Limited to 50 replays returned.

The maximum time range for this tool is 31 days.

PERFORMANCE: This is a fast-running tool.

Parameters (3 required, 5 optional)
Required
endDatestring

Query end date in YYYY-MM-DD format (e.g., '2025-01-31'). Inclusive.

startDatestring

Query start date in YYYY-MM-DD format (e.g., '2025-01-01'). Inclusive.

subIdstring

Subscription ID that owns the data. Required for all queries.

Optional
blackliststring

Blacklist behavior: 'apply' (use blacklist, normal behavior), 'ignore' (do not use blacklist), 'only' (invert blacklist, return only blacklisted activity)

Options:applyignoreonly
Default: apply
minActivityPercentagenumber

Minimum activity percentage

Default: 5
minDurationnumber

Minimum session duration in milliseconds

Default: 120000
pageIdstring

The exact page ID to analyze.

visitorIdstring

Filter results to a specific visitor. REQUIRED when the user mentions or references a specific visitor. Use the exact visitor ID string

Visitor Metadata Schema

visitorMetadataSchema
Full Description

Return the set of metadata that is available from the visitors table for each visitor. It is a set of . separated metadata field names to information about that field, including the type. Here is an example return value

{ "metadata.auto.lastvisit" : "time", "metadata.pendo.donotproces" : "boolean" }

PERFORMANCE: This is a fast-running tool.

Parameters (1 required)
Required
subIdstring

Subscription ID that owns the data. Required for all queries.

Visitor Query

visitorQuery
Full Description

Retrieve visitor data and metadata OR just the counts of matching visitors by running aggregation queries directly against the visitor dataset. Every response entity will conceptually be a visitor (a person who visited the application) and their associated metadata if you use select to ask for them.

USE FOR: Getting visitor information, metadata, and visitor counts with flexible filtering options.

EXAMPLES:

  • Get all visitors with their last visit time
  • Show me visitors from a specific segment
  • How many visitors match certain criteria? (set count=true)
  • Get visitor metadata like browser, location, or custom fields
  • Find visitors with a specific metadata value

WORKFLOW: Use the visitorMetadataSchema tool to explore available metadata fields, then use this tool for detailed analysis

RETURNS:

  • Visitor data with selected metadata fields (without select passed in, no metadata fields are returned)
  • Visitor counts when count=true is specified
  • Results filtered by segments, specific visitor IDs, metadata, or other criteria
  • Results are sorted by last visit time descending
  • By default, results are limited to 10,000 visitors per request. If 10,000 visitors are returned, assume there are more visitors and consider refining your filters or increasing the limit.

FILTERING OPTIONS:

  • Filter by specific visitor ID
  • Filter by visitor segments
  • Filter by metadata value for a specific metadata group and field
  • Automatically filters out anonymous visitors (unless subscription allows them)

PERFORMANCE: This is a fast-running tool.

Parameters (2 required, 6 optional)
Required
appIdstring

Application id of the app to query

subIdstring

Subscription ID that owns the data. Required for all queries.

Optional
countboolean

When true, returns only a count instead of full data. If filtering to specific items (itemIds), returns the sum of events. If group is specified, returns count of distinct group values. Otherwise, returns count of distinct entities. Use for 'how many' questions.

limitnumber

Number of visitors to return. Only set this if count is false. Defaults to 10000, max of 50000

Default: 10000
metadataFilterstring

The form of this field is 'metadata.metadataGroup.metadataField == metadataValue'. 'metadata' is a const and should be included exactly as shown. The metadataGroup is often 'agent', 'auto', 'custom', or 'salesforce' but may be anything. metadataField may be any string. metadataValue may be anything but if it is a string, surround it in quotes. The == (equals) operator may be replaced with the following operators: != (not equals), < (less than), > (greater than), <= (less than or equal to), or >= (greater than or equal to). Multiple conditions may be combined with && (AND) or || (OR).

segmentIdstring

filter the results by the specified segment id. If not provided, no segment filtering is applied.

selectarray

list of fields to read in addition to the visitorId. only exact field names may be used, and should come from the visitorMetadataSchema tool

visitorIdstring

only return data about the specified visitorId (often formatted as email address)