add_products_to_research_board
ChatGPTAdd one or more products to a research board. Pass ALL product IDs in a single call — do NOT call this tool in a loop for individual products. Max 20 products per board. Idempotent — re-adding a previously removed product restores it. Response includes data (successfully added products) and may include errors for any products that failed. DESIGNED FOR: ✅ Building product shortlists on a research board ✅ Saving multiple products from a conversation to a board ✅ Restoring previously removed products in one batch call NOT DESIGNED FOR: ❌ Creating the board itself (use create_research_board first) ❌ Searching for products (use list_products to find product UUIDs/slugs first) ❌ Calling this tool once per product instead of batching IDs After adding products, call show_research_board to display the updated board to the user.
add_products_to_research_board
ChatGPTAdd one or more products to a research board. Pass ALL product IDs in a single call — do NOT call this tool in a loop for individual products. Max 20 products per board. Idempotent — re-adding a previously removed product restores it. Response includes data (successfully added products) and may include errors for any products that failed. DESIGNED FOR: ✅ Building product shortlists on a research board ✅ Saving multiple products from a conversation to a board ✅ Restoring previously removed products in one batch call NOT DESIGNED FOR: ❌ Creating the board itself (use create_research_board first) ❌ Searching for products (use list_products to find product UUIDs/slugs first) ❌ Calling this tool once per product instead of batching IDs After adding products, call show_research_board to display the updated board to the user.
browse_buyer_intent
ChatGPTBrowse buyer intent interactions across one or more G2 products in a single query. This is the multi-product version of browse_product_buyer_intent. Use this when you want to see buyer intent data across multiple products at once, when you want to include the provider dimension, or when you need the scoped_category_id filter to zoom into specific categories. WHEN TO USE THIS vs browse_product_buyer_intent: - Use browse_buyer_intent when querying across MULTIPLE products at once - Use browse_buyer_intent when you need the provider dimension (g2, capterra) - Use browse_buyer_intent when you need the scoped_category_id filter - Use browse_product_buyer_intent when you need company_intent_score (single product only) IDENTIFYING PRODUCTS: subject_product_ids accepts UUIDs OR URL slugs. If a user mentions a G2 product URL like https://www.g2.com/products/slack/reviews, you can extract the slug ("slack") and pass it directly — no need to look up the UUID first. Examples of valid subject_product_ids values: - "a1b2c3d4-e5f6-7890-abcd-ef1234567890" (UUID) - "slack" (slug from g2.com/products/slack) - "slack,zoom-workplace,microsoft-teams" (multiple slugs) - "slack,a1b2c3d4-e5f6-7890-abcd-ef1234567890" (mixed slugs and UUIDs) ACCESS & PERMISSIONS: The subject products scope the permissions of the query. The data you see depends on each product's access tier (universal, competitive, indirect, direct, preview). Observers and superusers (is_observer flag) may have access to products beyond what is visible in the standard product listings — if a user provides a G2 product URL or slug, try it directly even if the product doesn't appear in their product list. The API will return a clear authorization error if access is truly not allowed. PARAMETERS: - subject_product_ids: One or more product UUIDs or slugs, comma-separated (required) - dimensions: Comma-separated grouping fields. If omitted, defaults to company-level dimensions. Pass "none" to get aggregate totals only (no grouping — a single row with just the requested measures). - measures: List of aggregation measures to calculate (default: total_activity). Valid values: total_activity | visitor_count | company_count - dimension_filters: Filters as JSON object or JSON string - sort: Sort field with optional - prefix for descending - page_size: Results per page (max: 100, default: 25) - page_after: Cursor token from previous response for pagination KEY DIMENSIONS: Company Information: - company_id, company_name, company_domain: Company identification - company_country, company_state, company_city: Geographic segmentation - company_employees: Company size - company_industry: Industry Data Source: - provider: Data source (g2, capterra, getapp, softwareadvice) Time Dimensions: - day, week, month: Trend analysis Activity Context: - signal_type: Interaction type (profile, pricing, ad, compare, category) - product_id, product_name, product_slug: Which product the signal is for - category_id, category_name: Category context - left_product_id/name, right_product_id/name: Comparison context UNDERSTANDING DIRECT vs INDIRECT SIGNALS: In a multi-product context, signals can be classified by whether they involve your product directly: - Direct: Your product's ID appears in the signal — someone interacted with YOUR product (viewed its profile, pricing, or a comparison involving it). - Indirect: Activity on adjacent products in your category — someone browsed a competitor or category page, attributed to your intent pool because it indicates market research in your space. Use the product_id dimension alongside signal_type to distinguish which signals directly reference your products vs. adjacent competitive activity. SCOPED CATEGORY FILTER (filter-only, not a dimension): - scoped_category_id_in: Returns all buyer intent activity within a category — not just signals tagged with category info, but all signals for every product in that category. Accepts category UUIDs or slugs (comma-separated for multiple). Use list_categories or show_category to find category identifiers. - scoped_category_id_not_in: Exclude categories from results. Use scoped_category_id when a customer wants to see the full picture of activity happening within a category (e.g., during a sales cycle to forecast signal volume, or to focus on one category when they have products across multiple categories). AUDIENCE FILTER (pre-filter, available on all buyer intent endpoints): - audience_product_id_in: Scope ALL results to companies that have previously viewed specific products. Accepts product UUIDs or slugs (comma-separated). This is a pre-query: it first finds all companies that viewed the audience products, then constrains the main intent query to only those companies. - audience_product_id_not_in: Exclude companies that viewed specific products. The audience filter is powerful for competitive intelligence and deal qualification: - "Show me companies researching Competitor X who also show intent for my products" - "Which companies viewing my product are also looking at alternatives?" - "Find accounts that viewed products in my portfolio AND a specific competitor" Use list_products or list_my_products to find product UUIDs/slugs for the filter. AVAILABLE MEASURES: - total_activity: Total count of buyer intent signals - visitor_count: Unique visitors - company_count: Unique companies FILTER OPERATORS: - _eq, _not_eq: Equals / Not equals - _cont, _not_cont: Contains / Does not contain - _gt, _gteq, _lt, _lteq: Comparison operators - _in, _not_in: Matches any / none of comma-separated values - _present, _empty: Has any value / Has no value NOTE: company_intent_score is NOT available on this endpoint (it requires single-product scoping). Use browse_product_buyer_intent for intent scoring. GUIDANCE ON PROVIDER AND ANALYTICS: The provider dimension is available but should not be the primary focus. Do not lead with provider breakdowns or detailed signal-count analytics. Instead, focus on actionable insights: who is in the market, what are they shopping for, who are you up against on a deal, what similar products should you pay attention to. These are the insights that are valuable to customers. COMMON QUERY PATTERNS: 1. Cross-product company activity: subject_product_ids: "uuid1,uuid2,uuid3" dimensions: "company_name,company_domain,product_name" measures: "total_activity" sort: "-total_activity" 2. Activity by provider: subject_product_ids: "uuid1" dimensions: "company_name,provider" measures: "total_activity" 3. Multi-product weekly trends: subject_product_ids: "uuid1,uuid2" dimensions: "week,product_name" measures: "total_activity,company_count" sort: "-week" 4. Filter by provider: subject_product_ids: "uuid1" dimensions: "company_name,company_domain" dimension_filters: {"provider_in": "capterra"} 5. Aggregate totals only (no grouping): subject_product_ids: "slack" dimensions: "none" measures: "total_activity,visitor_count,company_count" (Returns a single row with overall totals) 6. Total activity for last 7 days (no grouping): subject_product_ids: "slack" dimensions: "none" measures: "total_activity" dimension_filters: {"day_gteq": "2026-03-15"} (Returns one aggregate row filtered to the date range) 7. Scoped to a specific category (see all products/activity within it): subject_product_ids: "slack,zoom-workplace" dimensions: "company_name,product_name" measures: "total_activity" dimension_filters: {"scoped_category_id_in": "crm-software"} (Scopes to CRM category — use category UUID or slug) 8. Sales cycle signal count for a category: subject_product_ids: "slack" dimensions: "none" measures: "total_activity,company_count" dimension_filters: {"scoped_category_id_in": "crm-software"} (Aggregate totals for one category — useful for forecasting signal volume) 9. Direct vs indirect signal breakdown: subject_product_ids: "slack" dimensions: "product_name,signal_type" measures: "total_activity,company_count" (Shows which signals directly involve your product vs. adjacent competitive activity — use product_id to identify direct signals where your product appears in the results) 10. Audience filter — companies also evaluating a competitor: subject_product_ids: "slack,zoom-workplace" dimensions: "company_name,company_domain,product_name" measures: "total_activity" dimension_filters: {"audience_product_id_in": "<competitor-slug>"} sort: "-total_activity" (Pre-filters to companies that viewed the competitor, then shows their intent activity across your products. Essential for deal intelligence.)
browse_buyer_intent
ChatGPTBrowse buyer intent interactions across one or more G2 products in a single query. This is the multi-product version of browse_product_buyer_intent. Use this when you want to see buyer intent data across multiple products at once, when you want to include the provider dimension, or when you need the scoped_category_id filter to zoom into specific categories. WHEN TO USE THIS vs browse_product_buyer_intent: - Use browse_buyer_intent when querying across MULTIPLE products at once - Use browse_buyer_intent when you need the provider dimension (g2, capterra) - Use browse_buyer_intent when you need the scoped_category_id filter - Use browse_product_buyer_intent when you need company_intent_score (single product only) IDENTIFYING PRODUCTS: subject_product_ids accepts UUIDs OR URL slugs. If a user mentions a G2 product URL like https://www.g2.com/products/slack/reviews, you can extract the slug ("slack") and pass it directly — no need to look up the UUID first. Examples of valid subject_product_ids values: - "a1b2c3d4-e5f6-7890-abcd-ef1234567890" (UUID) - "slack" (slug from g2.com/products/slack) - "slack,zoom-workplace,microsoft-teams" (multiple slugs) - "slack,a1b2c3d4-e5f6-7890-abcd-ef1234567890" (mixed slugs and UUIDs) ACCESS & PERMISSIONS: The subject products scope the permissions of the query. The data you see depends on each product's access tier (universal, competitive, indirect, direct, preview). Observers and superusers (is_observer flag) may have access to products beyond what is visible in the standard product listings — if a user provides a G2 product URL or slug, try it directly even if the product doesn't appear in their product list. The API will return a clear authorization error if access is truly not allowed. PARAMETERS: - subject_product_ids: One or more product UUIDs or slugs, comma-separated (required) - dimensions: Comma-separated grouping fields. If omitted, defaults to company-level dimensions. Pass "none" to get aggregate totals only (no grouping — a single row with just the requested measures). - measures: List of aggregation measures to calculate (default: total_activity). Valid values: total_activity | visitor_count | company_count - dimension_filters: Filters as JSON object or JSON string - sort: Sort field with optional - prefix for descending - page_size: Results per page (max: 100, default: 25) - page_after: Cursor token from previous response for pagination KEY DIMENSIONS: Company Information: - company_id, company_name, company_domain: Company identification - company_country, company_state, company_city: Geographic segmentation - company_employees: Company size - company_industry: Industry Data Source: - provider: Data source (g2, capterra, getapp, softwareadvice) Time Dimensions: - day, week, month: Trend analysis Activity Context: - signal_type: Interaction type (profile, pricing, ad, compare, category) - product_id, product_name, product_slug: Which product the signal is for - category_id, category_name: Category context - left_product_id/name, right_product_id/name: Comparison context UNDERSTANDING DIRECT vs INDIRECT SIGNALS: In a multi-product context, signals can be classified by whether they involve your product directly: - Direct: Your product's ID appears in the signal — someone interacted with YOUR product (viewed its profile, pricing, or a comparison involving it). - Indirect: Activity on adjacent products in your category — someone browsed a competitor or category page, attributed to your intent pool because it indicates market research in your space. Use the product_id dimension alongside signal_type to distinguish which signals directly reference your products vs. adjacent competitive activity. SCOPED CATEGORY FILTER (filter-only, not a dimension): - scoped_category_id_in: Returns all buyer intent activity within a category — not just signals tagged with category info, but all signals for every product in that category. Accepts category UUIDs or slugs (comma-separated for multiple). Use list_categories or show_category to find category identifiers. - scoped_category_id_not_in: …
browse_competitive_intelligence
ChatGPTAnalyze competitive landscape and understand which competitors your prospects are evaluating. PURPOSE: Track competitor evaluation patterns, comparison activities, and market dynamics to inform competitive positioning and win/loss analysis. Focus on understanding the competitive context of your buyer's journey. COMPETITIVE INTELLIGENCE CAPABILITIES: When companies show intent for your product, G2 captures their complete research journey including: - Competitor products they viewed (automatically excludes YOUR product) - Comparison pages between ANY products in your category - High-intent signals: profile views, pricing pages, comparison activities - Full competitive evaluation patterns WHAT TO DO WITH THIS DATA: - Identify key competitors → Focus competitive positioning - Track comparison patterns → Understand buyer evaluation criteria - Win/loss analysis → Learn from competitive dynamics - Market intelligence → Monitor competitive landscape shifts - Sales enablement → Prepare competitive battle cards IDENTIFYING PRODUCTS: subject_product_id accepts a UUID OR a URL slug. If a user mentions a G2 product URL like https://www.g2.com/products/slack/reviews, extract the slug ("slack") and pass it directly. ACCESS & PERMISSIONS: Observers and superusers (is_observer flag) may have access to products beyond what appears in the standard product listings. If a user provides a G2 product URL or slug, try it directly — the API will return a clear authorization error if access is not allowed. PARAMETERS: - subject_product_id: Product UUID or URL slug - filters to companies who viewed your product (required) - dimensions: Comma-separated grouping fields (default: product_name,company_name,signal_type) - measures: List of aggregation measures to calculate (default: total_activity). Valid values: total_activity | visitor_count | company_count - dimension_filters: Additional filters as JSON object or JSON string (optional - YOUR product is already excluded) - sort: Sort field with optional - prefix for descending - page[size]: Results per page (max: 100, default: 25) - page[after]: Cursor token from previous response's links.next for pagination - include: Related resources to include in response AUTOMATIC FILTERING: This tool automatically excludes your product from results (product_id != subject_product_id). You only see competitor activity, not your own product signals. KEY DIMENSIONS FOR COMPETITIVE ANALYSIS: Competitor Products: - product_id, product_name, product_slug: Competitor identification - vendor_id, vendor_name: Competitor vendor details Comparison Analysis: - left_product_id/name/slug: First product in comparison - right_product_id/name/slug: Second product in comparison - signal_type: Activity type (profile, pricing, compare, category) Company Context: - company_id, company_name, company_domain: Who's evaluating competitors - company_intent_score: Intent level of companies viewing competitors Time Dimensions: - day, week, month: Competitive trend analysis AUDIENCE FILTER (pre-filter): - audience_product_id_in: Scope competitive analysis to companies that have viewed specific products. Accepts product UUIDs or slugs (comma-separated). - audience_product_id_not_in: Exclude companies that viewed specific products. Combine with the automatic subject product exclusion for targeted competitive analysis — e.g., "what competitors are being evaluated by companies that viewed a specific product in my portfolio?" AVAILABLE MEASURES: - total_activity: Total competitive signals captured - visitor_count: Unique visitors viewing competitors - company_count: Unique companies evaluating competitors FILTER OPERATORS: - _eq: Equals | _not_eq: Not equals (key for excluding your product) - _cont: Contains | _not_cont: Does not contain - _gt, _gteq, _lt, _lteq: Comparison operators - _in, _not_in: Matches any / none of comma-separated values COMMON COMPETITIVE QUERY PATTERNS: 1. Top competitors being evaluated: dimensions: "product_name,product_slug" measures: "total_activity,company_count" sort: "-company_count" (Your product automatically excluded) 2. Head-to-head comparison tracking of your competitors: dimensions: "left_product_name,right_product_name,company_name" dimension_filters: {"signal_type_eq": "compare"} 3. High-intent competitive signals: dimensions: "product_name,signal_type,company_name,company_intent_score" dimension_filters: { "signal_type_in": "profile,pricing,compare", "company_intent_score_gteq": 70 } 4. Competitive trend analysis: dimensions: "week,product_name" measures: "total_activity,company_count" sort: "-week" 5. Win/loss pattern analysis: dimensions: "company_name,company_intent_score,product_name,signal_type,day" sort: "company_name,day" 6. Category competitor overview: dimensions: "product_name,vendor_name" measures: "company_count,total_activity" 7. Exclude specific additional products: dimension_filters: {"product_id_not_eq": "competitor-uuid-to-exclude"} (Merges with automatic subject product exclusion) RESPONSE FORMAT: Returns JSONAPI with: - data: Array of competitive intelligence records - links: Pagination links - meta: Query metadata IMPORTANT NOTES: - Competitive signals include products sharing categories with yours - High-intent signals (profile, pricing, compare) indicate active evaluation - Companies viewing multiple products show higher buying intent - Maximum 100 results per page - Default time range is last 7 days - All timestamps are in UTC
browse_competitive_intelligence
ChatGPTAnalyze competitive landscape and understand which competitors your prospects are evaluating. PURPOSE: Track competitor evaluation patterns, comparison activities, and market dynamics to inform competitive positioning and win/loss analysis. Focus on understanding the competitive context of your buyer's journey. COMPETITIVE INTELLIGENCE CAPABILITIES: When companies show intent for your product, G2 captures their complete research journey including: - Competitor products they viewed (automatically excludes YOUR product) - Comparison pages between ANY products in your category - High-intent signals: profile views, pricing pages, comparison activities - Full competitive evaluation patterns WHAT TO DO WITH THIS DATA: - Identify key competitors → Focus competitive positioning - Track comparison patterns → Understand buyer evaluation criteria - Win/loss analysis → Learn from competitive dynamics - Market intelligence → Monitor competitive landscape shifts - Sales enablement → Prepare competitive battle cards IDENTIFYING PRODUCTS: subject_product_id accepts a UUID OR a URL slug. If a user mentions a G2 product URL like https://www.g2.com/products/slack/reviews, extract the slug ("slack") and pass it directly. ACCESS & PERMISSIONS: Observers and superusers (is_observer flag) may have access to products beyond what appears in the standard product listings. If a user provides a G2 product URL or slug, try it directly — the API will return a clear authorization error if access is not allowed. PARAMETERS: - subject_product_id: Product UUID or URL slug - filters to companies who viewed your product (required) - dimensions: Comma-separated grouping fields (default: product_name,company_name,signal_type) - measures: List of aggregation measures to calculate (default: total_activity). Valid values: total_activity | visitor_count | company_count - dimension_filters: Additional filters as JSON object or JSON string (optional - YOUR product is already excluded) - sort: Sort field with optional - prefix for descending - page[size]: Results per page (max: 100, default: 25) - page[after]: Cursor token from previous response's links.next for pagination - include: Related resources to include in response AUTOMATIC FILTERING: This tool automatically excludes your product from results (product_id != subject_product_id). You only see competitor activity, not your own product signals. KEY DIMENSIONS FOR COMPETITIVE ANALYSIS: Competitor Products: - product_id, product_name, product_slug: Competitor identification - vendor_id, vendor_name: Competitor vendor details Comparison Analysis: - left_product_id/name/slug: First product in comparison - right_product_id/name/slug: Second product in comparison - signal_type: Activity type (profile, pricing, compare, category) Company Context: - company_id, company_name, company_domain: Who's evaluating competitors - company_intent_score: Intent level of companies viewing competitors Time Dimensions: - day, week, month: Competitive trend analysis AUDIENCE FILTER (pre-filter): - audience_product_id_in: Scope competitive analysis to companies that have viewed specific products. Accepts product UUIDs or slugs (comma-separated). - audience_product_id_not_in: Exclude companies that viewed specific products. Combine with the automatic subject product exclusion for targeted competitive analysis — e.g., "what competitors are being evaluated by companies that viewed a specific product in my portfolio?" AVAILABLE MEASURES: - total_activity: Total competitive signals captured - visitor_count: Unique visitors viewing competitors - company_count: Unique companies evaluating competitors FILTER OPERATORS: - _eq: Equals | _not_eq: Not equals (key for excluding your product) - _cont: Contains | _not_cont: Does not contain - _gt, _gteq, _lt, _lteq: Comparison operators - _in, _not_in: Matches any / none of comma-separated values COMMON COMPETITIVE QUERY PATTERNS: 1. Top competitors being evaluated: dimensions: "product_name,product_slug" measures: "total_activity,company_count" sort: "-company_count" (Your product automatically ex…
browse_product_buyer_intent
ChatGPTBrowse and analyze buyer intent interactions for your G2 products using OLAP-style queries. BUYER INTENT CAPABILITIES: This tool tracks buyer activity from companies showing intent for your product, including: - Other products they viewed (competitive intelligence) - Comparison pages they visited (even between other products) - Categories they browsed - High-value signals from their research journey WHAT TO DO WITH THIS DATA: - Export high-intent companies → Import to CRM for sales outreach - Identify hot prospects → Prioritize sales follow-up - Track engagement trends → Monitor marketing effectiveness - Geographic targeting → Focus sales resources by region - Build qualified pipeline → Convert research into revenue IDENTIFYING PRODUCTS: subject_product_id accepts a UUID OR a URL slug. If a user mentions a G2 product URL like https://www.g2.com/products/slack/reviews, extract the slug ("slack") and pass it directly. ACCESS & PERMISSIONS: Observers and superusers (is_observer flag) may have access to products beyond what appears in the standard product listings. If a user provides a G2 product URL or slug, try it directly — the API will return a clear authorization error if access is not allowed. PARAMETERS: - subject_product_id: Product UUID or URL slug (required) - dimensions: Comma-separated grouping fields. If omitted, defaults to company-level dimensions (company_id, company_name, company_domain, company_intent_score). Pass "none" to get aggregate totals only (no grouping). - measures: List of aggregation measures to calculate (default: total_activity). Valid values: total_activity | visitor_count | company_count - dimension_filters: Filters as JSON object or JSON string (e.g., {"company_intent_score_gteq": 75}) - sort: Sort field with optional - prefix for descending (default: -company_intent_score) - page[size]: Results per page (max: 100, default: 25) - page[after]: Cursor token from previous response's links.next for pagination - include: Related resources to include in response KEY DIMENSIONS FOR PRODUCT INTENT: Company Information: - company_id, company_name, company_domain: Company identification - company_intent_score: G2 intent score (0-100, higher = stronger buying signal) - company_country, company_state, company_city: Geographic segmentation - company_employees: Company size targeting - company_industry: Industry-based prioritization Time Dimensions (for trend analysis): - day: Daily engagement tracking (YYYY-MM-DD) - week: Weekly trend analysis - month: Monthly performance tracking Data Source: - provider: Data source (g2, capterra, getapp, softwareadvice) Activity Context: - signal_type: Interaction type (profile, pricing, ad, compare, category) - visitor_count: Unique visitors from company (measure) UNDERSTANDING DIRECT vs INDIRECT SIGNALS: Buyer intent signals fall into two categories: - Direct: Your product appears in the signal's product IDs — someone viewed YOUR product's profile, pricing page, or a comparison involving YOUR product. - Indirect: Activity on adjacent products in your category — someone browsed a competitor's profile or a category page, which is attributed to your product's intent pool because it indicates market research in your space. Both are valuable: direct signals show explicit interest in your product, indirect signals reveal who is actively shopping in your category. AUDIENCE FILTER (pre-filter, available on all buyer intent endpoints): - audience_product_id_in: Scope ALL results to companies that have previously viewed specific products. Accepts product UUIDs or slugs (comma-separated). This is a pre-query: it first finds all companies that viewed the audience products, then constrains the main intent query to only those companies. - audience_product_id_not_in: Exclude companies that viewed specific products. The audience filter is powerful for competitive intelligence and deal qualification: - "Show me companies researching Competitor X who also show intent for my product" - "Which companies viewing my product are also looking at alternatives?" - "Find accounts that viewed both my product and a specific competitor" Use list_products or list_my_products to find product UUIDs/slugs for the filter. AVAILABLE MEASURES: - total_activity: Total count of buyer intent signals - visitor_count: Unique visitors from the company - company_count: Unique companies (when grouping by non-company dimensions) FILTER OPERATORS: - _eq: Equals | _not_eq: Not equals - _cont: Contains substring | _not_cont: Does not contain - _gt, _gteq, _lt, _lteq: Comparison operators - _in, _not_in: Matches any / none of comma-separated values - _present: Has any value | _empty: Has no value COMMON QUERY PATTERNS: 1. High-intent companies for CRM export: dimensions: "company_name,company_domain,company_intent_score" dimension_filters: {"company_intent_score_gteq": 75} sort: "-company_intent_score" 2. Weekly engagement trends: dimensions: "week,company_intent_score" measures: "total_activity,visitor_count" sort: "-week" 3. Geographic prospect analysis: dimensions: "company_country,company_state" measures: "company_count,total_activity" dimension_filters: {"company_intent_score_gteq": 50} 4. Enterprise prospect tracking: dimensions: "company_name,company_employees,company_intent_score" dimension_filters: {"company_employees_cont": "1000+"} 5. Daily hot prospect monitoring: dimensions: "day,company_name,company_intent_score" measures: "total_activity" dimension_filters: {"company_intent_score_gteq": 80} sort: "-day,-company_intent_score" 6. Aggregate totals only (no grouping): dimensions: "none" measures: "total_activity,visitor_count,company_count" (Returns a single row with overall totals) 7. Direct vs indirect signal breakdown: dimensions: "signal_type" measures: "total_activity,company_count" (Shows activity split by signal type — profile and pricing are direct signals showing explicit interest; category and compare may include indirect signals from adjacent product research) 8. Companies also evaluating a competitor (audience filter): dimensions: "company_name,company_domain,company_intent_score" dimension_filters: {"audience_product_id_in": "<competitor-slug-or-uuid>"} sort: "-company_intent_score" (Scopes to companies that have viewed the competitor — shows which of those companies also show intent for YOUR product. Powerful for deal intelligence.) RESPONSE FORMAT: Returns JSONAPI with: - data: Array of records with requested dimensions/measures - links: Pagination links - meta: Query metadata IMPORTANT NOTES: - Maximum 100 results per page - Default time range is last 7 days if no time filters specified - All timestamps are in UTC - Intent scores update in real-time based on buyer activity - Use page[after] cursor for pagination through large result sets
browse_product_buyer_intent
ChatGPTBrowse and analyze buyer intent interactions for your G2 products using OLAP-style queries. BUYER INTENT CAPABILITIES: This tool tracks buyer activity from companies showing intent for your product, including: - Other products they viewed (competitive intelligence) - Comparison pages they visited (even between other products) - Categories they browsed - High-value signals from their research journey WHAT TO DO WITH THIS DATA: - Export high-intent companies → Import to CRM for sales outreach - Identify hot prospects → Prioritize sales follow-up - Track engagement trends → Monitor marketing effectiveness - Geographic targeting → Focus sales resources by region - Build qualified pipeline → Convert research into revenue IDENTIFYING PRODUCTS: subject_product_id accepts a UUID OR a URL slug. If a user mentions a G2 product URL like https://www.g2.com/products/slack/reviews, extract the slug ("slack") and pass it directly. ACCESS & PERMISSIONS: Observers and superusers (is_observer flag) may have access to products beyond what appears in the standard product listings. If a user provides a G2 product URL or slug, try it directly — the API will return a clear authorization error if access is not allowed. PARAMETERS: - subject_product_id: Product UUID or URL slug (required) - dimensions: Comma-separated grouping fields. If omitted, defaults to company-level dimensions (company_id, company_name, company_domain, company_intent_score). Pass "none" to get aggregate totals only (no grouping). - measures: List of aggregation measures to calculate (default: total_activity). Valid values: total_activity | visitor_count | company_count - dimension_filters: Filters as JSON object or JSON string (e.g., {"company_intent_score_gteq": 75}) - sort: Sort field with optional - prefix for descending (default: -company_intent_score) - page[size]: Results per page (max: 100, default: 25) - page[after]: Cursor token from previous response's links.next for pagination - include: Related resources to include in response KEY DIMENSIONS FOR PRODUCT INTENT: Company Information: - company_id, company_name, company_domain: Company identification - company_intent_score: G2 intent score (0-100, higher = stronger buying signal) - company_country, company_state, company_city: Geographic segmentation - company_employees: Company size targeting - company_industry: Industry-based prioritization Time Dimensions (for trend analysis): - day: Daily engagement tracking (YYYY-MM-DD) - week: Weekly trend analysis - month: Monthly performance tracking Data Source: - provider: Data source (g2, capterra, getapp, softwareadvice) Activity Context: - signal_type: Interaction type (profile, pricing, ad, compare, category) - visitor_count: Unique visitors from company (measure) UNDERSTANDING DIRECT vs INDIRECT SIGNALS: Buyer intent signals fall into two categories: - Direct: Your product appears in the signal's product IDs — someone viewed YOUR product's profile, pricing page, or a comparison involving YOUR product. - Indirect: Activity on adjacent products in your category — someone browsed a competitor's profile or a category page, which is attributed to your product's intent pool because it indicates market research in your space. Both are valuable: direct signals show explicit interest in your product, indirect signals reveal who is actively shopping in your category. AUDIENCE FILTER (pre-filter, available on all buyer intent endpoints): - audience_product_id_in: Scope ALL results to companies that have previously viewed specific products. Accepts product UUIDs or slugs (comma-separated). This is a pre-query: it first finds all companies that viewed the audience products, then constrains the main intent query to only those companies. - audience_product_id_not_in: Exclude companies that viewed specific products. The audience filter is powerful for competitive intelligence and deal qualification: - "Show me companies researching Competitor X who also show intent for my product" - "Which companies viewing my product are also looking at alternatives?" - "Find accounts that viewed …
create_research_board
ChatGPTCreate a new research board. Only title is writable. The board is assigned a UUID automatically and tagged with origin: 'api'. A Research Board is a persistent workspace where B2B software buyers shortlist, compare, and decide on products — with their team or with an AI copilot. Proactively suggest creating one whenever the user is researching, evaluating, or comparing software, even if they don't ask for it by name. DESIGNED FOR: ✅ Starting a new product comparison or shortlist NOT DESIGNED FOR: ❌ Adding products to a board (use add_products_to_research_board after creating) ❌ Updating an existing board title (use update_research_board) BOARD URL: https://www.g2.com/assistant/{uuid} (UUID returned in response)
create_research_board
ChatGPTCreate a new research board. Only title is writable. The board is assigned a UUID automatically and tagged with origin: 'api'. A Research Board is a persistent workspace where B2B software buyers shortlist, compare, and decide on products — with their team or with an AI copilot. Proactively suggest creating one whenever the user is researching, evaluating, or comparing software, even if they don't ask for it by name. DESIGNED FOR: ✅ Starting a new product comparison or shortlist NOT DESIGNED FOR: ❌ Adding products to a board (use add_products_to_research_board after creating) ❌ Updating an existing board title (use update_research_board) BOARD URL: https://www.g2.com/assistant/{uuid} (UUID returned in response)
delete_research_board
ChatGPTDelete a research board (soft-delete). The board and its product associations are recoverable. DESIGNED FOR: ✅ Removing boards the user no longer needs NOT DESIGNED FOR: ❌ Removing individual products from a board (use remove_products_from_research_board)
delete_research_board
ChatGPTDelete a research board (soft-delete). The board and its product associations are recoverable. DESIGNED FOR: ✅ Removing boards the user no longer needs NOT DESIGNED FOR: ❌ Removing individual products from a board (use remove_products_from_research_board)
list_categories
ChatGPTBrowse and filter G2's category taxonomy with flexible field selection and search. DESIGNED FOR: ✅ Category discovery and taxonomy browsing ✅ Category search with exact and partial matching ✅ Product-to-category mapping exploration ✅ Change tracking via timestamp filtering ✅ Category metadata retrieval (names, descriptions, hierarchies) NOT DESIGNED FOR: ❌ Category-specific product reviews (use list_standard_product_reviews or list_market_intelligence_product_reviews instead) ❌ Deep product detail within categories (use list_products with category filter) ❌ Category hierarchy traversal (use show_category with relationships) ACCESS SCOPE: Returns all categories in G2 taxonomy. AVAILABLE FIELDS: name, slug, description, created_at, updated_at AVAILABLE RELATIONSHIPS: products - Products in this category children - Child categories (subcategories) ancestors - Parent categories up to root descendants - All nested child categories parent - Direct parent category FILTERING STRATEGY: Server-side filters (use these for efficiency): - filter_name_eq: Exact category name match - filter_name_cont: Partial name search (case-insensitive substring) - filter_slug_eq: Exact slug match (e.g., "crm-software") - filter_slug_cont: Partial slug search - filter_created_at_gt/lt: Creation timestamp range (RFC3339) - filter_updated_at_gt/lt: Update timestamp range (RFC3339) Multiple filters can be combined for precise results. COMMON QUERY PATTERNS: 1. Category search by name: filter_name_cont="CRM", fields="name,slug,description" 2. Recently created categories: filter_created_at_gt="2024-01-01T00:00:00Z", fields="name,slug,created_at" 3. Category with product count: fields="name,slug", include="products" 4. Exact category lookup: filter_slug_eq="crm-software", fields="name,description" 5. Category hierarchy exploration: include="parent,children,ancestors" 6. Change tracking: filter_updated_at_gt="2024-01-01T00:00:00Z", filter_updated_at_lt="2024-12-31T23:59:59Z" PERFORMANCE CONSIDERATIONS: - Maximum page_size: 100 (recommended for efficiency) - Empty fields parameter returns all available fields - Products relationship can return large result sets (use with caution) - Hierarchy relationships (ancestors, descendants) add to response size - Combine name/slug filters for faster, more precise results
list_categories
ChatGPTBrowse and filter G2's category taxonomy with flexible field selection and search. DESIGNED FOR: ✅ Category discovery and taxonomy browsing ✅ Category search with exact and partial matching ✅ Product-to-category mapping exploration ✅ Change tracking via timestamp filtering ✅ Category metadata retrieval (names, descriptions, hierarchies) NOT DESIGNED FOR: ❌ Category-specific product reviews (use list_standard_product_reviews or list_market_intelligence_product_reviews instead) ❌ Deep product detail within categories (use list_products with category filter) ❌ Category hierarchy traversal (use show_category with relationships) ACCESS SCOPE: Returns all categories in G2 taxonomy. AVAILABLE FIELDS: name, slug, description, created_at, updated_at AVAILABLE RELATIONSHIPS: products - Products in this category children - Child categories (subcategories) ancestors - Parent categories up to root descendants - All nested child categories parent - Direct parent category FILTERING STRATEGY: Server-side filters (use these for efficiency): - filter_name_eq: Exact category name match - filter_name_cont: Partial name search (case-insensitive substring) - filter_slug_eq: Exact slug match (e.g., "crm-software") - filter_slug_cont: Partial slug search - filter_created_at_gt/lt: Creation timestamp range (RFC3339) - filter_updated_at_gt/lt: Update timestamp range (RFC3339) Multiple filters can be combined for precise results. COMMON QUERY PATTERNS: 1. Category search by name: filter_name_cont="CRM", fields="name,slug,description" 2. Recently created categories: filter_created_at_gt="2024-01-01T00:00:00Z", fields="name,slug,created_at" 3. Category with product count: fields="name,slug", include="products" 4. Exact category lookup: filter_slug_eq="crm-software", fields="name,description" 5. Category hierarchy exploration: include="parent,children,ancestors" 6. Change tracking: filter_updated_at_gt="2024-01-01T00:00:00Z", filter_updated_at_lt="2024-12-31T23:59:59Z" PERFORMANCE CONSIDERATIONS: - Maximum page_size: 100 (recommended for efficiency) - Empty fields parameter returns all available fields - Products relationship can return large result sets (use with caution) - Hierarchy relationships (ancestors, descendants) add to response size - Combine name/slug filters for faster, more precise results
list_market_intelligence_product_reviews
ChatGPTRetrieve market intelligence reviews for a specific product with B2B context and company data. DESIGNED FOR: ✅ B2B analysis requiring company context ✅ Competitive switching analysis (switched_from_products) ✅ Regional market research (server-side filtering supported) ✅ Feature ratings analysis ✅ Company-level review patterns ✅ Timestamp-based incremental sync and change detection ✅ NPS score analysis and filtering ✅ Filtering by company segment and industry NOT DESIGNED FOR: ❌ Intent scoring (this is review data, not behavioral data) ❌ Real-time buyer intent signals (use buyer intent tools instead) ❌ Video reviews ❌ Non-English reviews ACCESS SCOPE: Returns all active reviews with market intelligence data for products accessible to your account. HOW TO USE FILTERS (IMPORTANT): Most filters accept integer IDs whose valid values vary per product. To discover valid IDs: 1. Call this tool first WITHOUT any filters (or with only date filters) to get an initial response. 2. Inspect the "meta.aggregates" array in the response — each entry has a "filter_name" and a "collection" of objects with "id", "text", and "count" fields. 3. Use the integer "id" values from those collections as your filter values. Example: to find valid company_segment IDs, look for the aggregate with filter_name="company_segment"; its collection may contain {"id": 180, "text": "Mid-Market (51-1000 emp.)", "count": 12}, so pass [180] to filter_company_segment. AVAILABLE FILTERS: filter_updated_at_gt - Reviews updated by user after timestamp (RFC3339, e.g. "2024-01-01T00:00:00Z") filter_updated_at_lt - Reviews updated by user before timestamp (RFC3339) filter_category_ids - List of category IDs — valid IDs from meta.aggregates[filter_name="category_ids"].collection[].id filter_company_segment - List of company segment IDs — valid IDs from meta.aggregates[filter_name="company_segment"].collection[].id (e.g. 179=Small Business, 180=Mid-Market, 181=Enterprise) filter_country - List of country names — valid values from meta.aggregates[filter_name="region"].collection[].nested_boxes[].id filter_industry - List of industry IDs — valid IDs from meta.aggregates[filter_name="industry"].collection[].id filter_nps_score - List of NPS score IDs — valid IDs from meta.aggregates[filter_name="nps_score"].collection[].id (e.g. 5=5 star, 4=4 star, …, 1=1 star) filter_region - List of geographic region names — valid values from meta.aggregates[filter_name="region"].collection[].id filter_role - List of user role IDs — valid IDs from meta.aggregates[filter_name="role"].collection[].id (e.g. 1=User, 2=Administrator, 7=Agency) filter_comment_answer_values_exclude - Exclude reviews with specific answer values AVAILABLE FIELDS: answers, category_names, company_segment_name, country_code, country_name, feature_ratings, industry_name, primary_region_name, product_name, rating, switched_from_products, switched_theme, title, url, user_company_name, user_updated_at COMMON QUERY PATTERNS: 1. B2B market intelligence: fields="company_segment_name,industry_name,rating,feature_ratings,user_company_name" 2. Competitive switching analysis: fields="switched_from_products,switched_theme,company_segment_name,rating" 3. Regional market research with server-side filtering: filter_region=["North America"] fields="primary_region_name,country_name,industry_name,rating,title" 4. Country-specific analysis: filter_country=["United States", "Germany"] fields="country_name,industry_name,rating,title" 5. Incremental sync (reviews updated since last run): filter_updated_at_gt="2024-01-01T00:00:00Z" 6. Full market intelligence with pagination: page_size=100, use page_after from response.links.next for subsequent pages PERFORMANCE CONSIDERATIONS: - Maximum page_size: 100 (use this for efficiency) - Large result sets require multiple pagination requests - Each page request counts against API rate limits - Use server-side filters (filter_country, filter_region) to reduce data transfer
list_market_intelligence_product_reviews
ChatGPTRetrieve market intelligence reviews for a specific product with B2B context and company data. DESIGNED FOR: ✅ B2B analysis requiring company context ✅ Competitive switching analysis (switched_from_products) ✅ Regional market research (server-side filtering supported) ✅ Feature ratings analysis ✅ Company-level review patterns ✅ Timestamp-based incremental sync and change detection ✅ NPS score analysis and filtering ✅ Filtering by company segment and industry NOT DESIGNED FOR: ❌ Intent scoring (this is review data, not behavioral data) ❌ Real-time buyer intent signals (use buyer intent tools instead) ❌ Video reviews ❌ Non-English reviews ACCESS SCOPE: Returns all active reviews with market intelligence data for products accessible to your account. HOW TO USE FILTERS (IMPORTANT): Most filters accept integer IDs whose valid values vary per product. To discover valid IDs: 1. Call this tool first WITHOUT any filters (or with only date filters) to get an initial response. 2. Inspect the "meta.aggregates" array in the response — each entry has a "filter_name" and a "collection" of objects with "id", "text", and "count" fields. 3. Use the integer "id" values from those collections as your filter values. Example: to find valid company_segment IDs, look for the aggregate with filter_name="company_segment"; its collection may contain {"id": 180, "text": "Mid-Market (51-1000 emp.)", "count": 12}, so pass [180] to filter_company_segment. AVAILABLE FILTERS: filter_updated_at_gt - Reviews updated by user after timestamp (RFC3339, e.g. "2024-01-01T00:00:00Z") filter_updated_at_lt - Reviews updated by user before timestamp (RFC3339) filter_category_ids - List of category IDs — valid IDs from meta.aggregates[filter_name="category_ids"].collection[].id filter_company_segment - List of company segment IDs — valid IDs from meta.aggregates[filter_name="company_segment"].collection[].id (e.g. 179=Small Business, 180=Mid-Market, 181=Enterprise) filter_country - List of country names — valid values from meta.aggregates[filter_name="region"].collection[].nested_boxes[].id filter_industry - List of industry IDs — valid IDs from meta.aggregates[filter_name="industry"].collection[].id filter_nps_score - List of NPS score IDs — valid IDs from meta.aggregates[filter_name="nps_score"].collection[].id (e.g. 5=5 star, 4=4 star, …, 1=1 star) filter_region - List of geographic region names — valid values from meta.aggregates[filter_name="region"].collection[].id filter_role - List of user role IDs — valid IDs from meta.aggregates[filter_name="role"].collection[].id (e.g. 1=User, 2=Administrator, 7=Agency) filter_comment_answer_values_exclude - Exclude reviews with specific answer values AVAILABLE FIELDS: answers, category_names, company_segment_name, country_code, country_name, feature_ratings, industry_name, primary_region_name, product_name, rating, switched_from_products, switched_theme, title, url, user_company_name, user_updated_at COMMON QUERY PATTERNS: 1. B2B market intelligence: fields="company_segment_name,industry_name,rating,feature_ratings,user_company_name" 2. Competitive switching analysis: fields="switched_from_products,switched_theme,company_segment_name,rating" 3. Regional market research with server-side filtering: filter_region=["North America"] fields="primary_region_name,country_name,industry_name,rating,title" 4. Country-specific analysis: filter_country=["United States", "Germany"] fields="country_name,industry_name,rating,title" 5. Incremental sync (reviews updated since last run): filter_updated_at_gt="2024-01-01T00:00:00Z" 6. Full market intelligence with pagination: page_size=100, use page_after from response.links.next for subsequent pages PERFORMANCE CONSIDERATIONS: - Maximum page_size: 100 (use this for efficiency) - Large result sets require multiple pagination requests - Each page request counts against API rate limits - Use server-side filters (filter_country, filter_region) to reduce data transfer
list_my_products
ChatGPTRetrieve products owned by the current authenticated user/account. DESIGNED FOR: ✅ Getting product UUIDs for follow-on queries ✅ Account-scoped product operations ✅ Subscription-specific product data access ✅ Owned product listing for vendor dashboards NOT DESIGNED FOR: ❌ Public product browsing (use list_products instead) ❌ Cross-vendor product comparison (requires list_products) ❌ Products without ownership relationship to current account AVAILABLE FIELDS: name, domain, slug, image_url Note: Limited field set compared to list_products - focused on essential metadata AVAILABLE RELATIONSHIPS: categories - Product category memberships subscribed_categories - Categories with active subscriptions AUTHENTICATION CONTEXT: This endpoint is user/account-scoped and requires authentication. Results limited to products where current account has ownership. COMMON QUERY PATTERNS: 1. My product portfolio: fields=["name","domain","slug"], include="categories" 2. Subscription overview: include="subscribed_categories" 3. Basic product list: fields=["name","slug"] (minimal data for dropdowns/menus) QUERY CONSIDERATIONS: - Maximum page_size: 100 - Empty fields parameter returns all available fields - Typically smaller result sets than list_products (account-scoped), large organizations may require pagination
list_my_products
ChatGPTRetrieve products owned by the current authenticated user/account. DESIGNED FOR: ✅ Getting product UUIDs for follow-on queries ✅ Account-scoped product operations ✅ Subscription-specific product data access ✅ Owned product listing for vendor dashboards NOT DESIGNED FOR: ❌ Public product browsing (use list_products instead) ❌ Cross-vendor product comparison (requires list_products) ❌ Products without ownership relationship to current account AVAILABLE FIELDS: name, domain, slug, image_url Note: Limited field set compared to list_products - focused on essential metadata AVAILABLE RELATIONSHIPS: categories - Product category memberships subscribed_categories - Categories with active subscriptions AUTHENTICATION CONTEXT: This endpoint is user/account-scoped and requires authentication. Results limited to products where current account has ownership. COMMON QUERY PATTERNS: 1. My product portfolio: fields=["name","domain","slug"], include="categories" 2. Subscription overview: include="subscribed_categories" 3. Basic product list: fields=["name","slug"] (minimal data for dropdowns/menus) QUERY CONSIDERATIONS: - Maximum page_size: 100 - Empty fields parameter returns all available fields - Typically smaller result sets than list_products (account-scoped), large organizations may require pagination
list_products
ChatGPTBrowse and filter G2's product catalog with flexible field selection. DESIGNED FOR: ✅ Product discovery and catalog browsing ✅ Category-based product exploration ✅ Vendor portfolio analysis ✅ Product metadata retrieval (names, descriptions, URLs, ratings) NOT DESIGNED FOR: ❌ Partial name matching (use filter_slug for exact matches only) ❌ Advanced text search (no full-text search capabilities) ❌ Product-specific reviews (use list_standard_product_reviews or list_market_intelligence_product_reviews instead) ❌ User-owned product data (use list_my_products for subscription context) ACCESS SCOPE: Returns products accessible within your account permissions. AVAILABLE FIELDS: detail_description, domain, g2_url, image_url, name, public_detail_url, review_count, slug, star_rating, type, write_review_url AVAILABLE RELATIONSHIPS: categories - Product category memberships discussions - Product discussion threads vendor - Product vendor information FILTERING STRATEGY: Server-side filters (use these for efficiency): - filter_category_ids: Products in specific categories (one or more UUIDs) - filter_product_ids: Specific product lookups (one or more UUIDs) - filter_product_name_cont: Partial product name match (substring search) - filter_product_name_eq: Exact product name match (case-sensitive) - filter_public_detail_urls: Exact vendor website URL matches (one or more URLs, case-sensitive) - filter_public_detail_urls_cont: Partial URL/domain matches (one or more substrings) - filter_query: Full-text search across products - filter_review_count_gteq: Minimum review threshold - filter_slugs: Exact product slug matches (e.g., ["salesforce-sales-cloud"]) - filter_star_ratings: Exact star rating match for one or more ratings (e.g., 4 or [4, 5]) - filter_vendor_name: Exact vendor name match For partial name matching or fuzzy search: Fetch broader results and filter client-side. COMMON QUERY PATTERNS: 1. Category product listing: filter_category_id="<uuid>", fields="name,star_rating,review_count" 2. High-quality products only: filter_review_count_gteq=50, filter_star_ratings=[4, 5], fields="name,slug,review_count,star_rating" 3. Vendor portfolio: filter_vendor_name="Salesforce", include="categories" 4. Product discovery with pagination: page_size=100, use page_after from response.links.next PERFORMANCE CONSIDERATIONS: - Maximum page_size: 100 (recommended for efficiency) - Empty fields parameter returns all available fields - Relationships add to response size (include only when needed) - Combine multiple filters for more targeted results
list_products
ChatGPTBrowse and filter G2's product catalog with flexible field selection. DESIGNED FOR: ✅ Product discovery and catalog browsing ✅ Category-based product exploration ✅ Vendor portfolio analysis ✅ Product metadata retrieval (names, descriptions, URLs, ratings) NOT DESIGNED FOR: ❌ Partial name matching (use filter_slug for exact matches only) ❌ Advanced text search (no full-text search capabilities) ❌ Product-specific reviews (use list_standard_product_reviews or list_market_intelligence_product_reviews instead) ❌ User-owned product data (use list_my_products for subscription context) ACCESS SCOPE: Returns products accessible within your account permissions. AVAILABLE FIELDS: detail_description, domain, g2_url, image_url, name, public_detail_url, review_count, slug, star_rating, type, write_review_url AVAILABLE RELATIONSHIPS: categories - Product category memberships discussions - Product discussion threads vendor - Product vendor information FILTERING STRATEGY: Server-side filters (use these for efficiency): - filter_category_ids: Products in specific categories (one or more UUIDs) - filter_product_ids: Specific product lookups (one or more UUIDs) - filter_product_name_cont: Partial product name match (substring search) - filter_product_name_eq: Exact product name match (case-sensitive) - filter_public_detail_urls: Exact vendor website URL matches (one or more URLs, case-sensitive) - filter_public_detail_urls_cont: Partial URL/domain matches (one or more substrings) - filter_query: Full-text search across products - filter_review_count_gteq: Minimum review threshold - filter_slugs: Exact product slug matches (e.g., ["salesforce-sales-cloud"]) - filter_star_ratings: Exact star rating match for one or more ratings (e.g., 4 or [4, 5]) - filter_vendor_name: Exact vendor name match For partial name matching or fuzzy search: Fetch broader results and filter client-side. COMMON QUERY PATTERNS: 1. Category product listing: filter_category_id="<uuid>", fields="name,star_rating,review_count" 2. High-quality products only: filter_review_count_gteq=50, filter_star_ratings=[4, 5], fields="name,slug,review_count,star_rating" 3. Vendor portfolio: filter_vendor_name="Salesforce", include="categories" 4. Product discovery with pagination: page_size=100, use page_after from response.links.next PERFORMANCE CONSIDERATIONS: - Maximum page_size: 100 (recommended for efficiency) - Empty fields parameter returns all available fields - Relationships add to response size (include only when needed) - Combine multiple filters for more targeted results
list_research_board_products
ChatGPTList all products on a research board. DESIGNED FOR: ✅ Getting the product list for a specific board ✅ Getting detailed product fields (image_url, star_rating, review_count) NOT DESIGNED FOR: ❌ Getting board metadata (use show_research_board) ❌ Finding a board by name (use list_research_boards first) AVAILABLE FIELDS: name, slug, image_url, star_rating, review_count (defaults: name, slug)
list_research_board_products
ChatGPTList all products on a research board. DESIGNED FOR: ✅ Getting the product list for a specific board ✅ Getting detailed product fields (image_url, star_rating, review_count) NOT DESIGNED FOR: ❌ Getting board metadata (use show_research_board) ❌ Finding a board by name (use list_research_boards first) AVAILABLE FIELDS: name, slug, image_url, star_rating, review_count (defaults: name, slug)
list_research_boards
ChatGPTList all research boards for the authenticated user, sorted by last updated. DESIGNED FOR: ✅ Browsing existing research boards ✅ Finding a board by name before operating on it ✅ Getting board UUIDs for follow-on operations (show, update, delete) NOT DESIGNED FOR: ❌ Getting products on a board (use show_research_board with relationships=products, or list_research_board_products) ❌ Creating new boards (use create_research_board) AVAILABLE FIELDS: title, origin, budget, industry, employee_count, deadline_at, product_count, created_at, updated_at AVAILABLE RELATIONSHIPS: products - Products added to each board BOARD URLS: All boards: https://www.g2.com/assistant Specific board: https://www.g2.com/assistant/{board_uuid}
list_research_boards
ChatGPTList all research boards for the authenticated user, sorted by last updated. DESIGNED FOR: ✅ Browsing existing research boards ✅ Finding a board by name before operating on it ✅ Getting board UUIDs for follow-on operations (show, update, delete) NOT DESIGNED FOR: ❌ Getting products on a board (use show_research_board with relationships=products, or list_research_board_products) ❌ Creating new boards (use create_research_board) AVAILABLE FIELDS: title, origin, budget, industry, employee_count, deadline_at, product_count, created_at, updated_at AVAILABLE RELATIONSHIPS: products - Products added to each board BOARD URLS: All boards: https://www.g2.com/assistant Specific board: https://www.g2.com/assistant/{board_uuid}
list_standard_product_reviews
ChatGPTRetrieve standard reviews for a specific product with flexible field selection. DESIGNED FOR: ✅ Review content analysis (titles, answers, ratings) ✅ Voice of customer research ✅ General review browsing and display ✅ Timestamp-based incremental sync and change detection ✅ Filtering by country, region, role, NPS score, category, company segment, and industry NOT DESIGNED FOR: ❌ Intent scoring (this is review data, not behavioral data) ❌ Video reviews ❌ Non-English reviews ACCESS SCOPE: Returns all active reviews for products accessible to your account. HOW TO USE FILTERS (IMPORTANT): Most filters accept integer IDs whose valid values vary per product. To discover valid IDs: 1. Call this tool first WITHOUT any filters (or with only date filters) to get an initial response. 2. Inspect the "meta.aggregates" array in the response — each entry has a "filter_name" and a "collection" of objects with "id", "text", and "count" fields. 3. Use the integer "id" values from those collections as your filter values. Example: to find valid nps_score IDs, look for the aggregate with filter_name="nps_score"; its collection may contain {"id": 5, "text": "5 star", "count": 20}, so pass [5] to filter_nps_score. AVAILABLE FILTERS: filter_updated_at_gt - Reviews updated by user after timestamp (RFC3339, e.g. "2024-01-01T00:00:00Z") filter_updated_at_lt - Reviews updated by user before timestamp (RFC3339) filter_category_ids - List of category IDs — valid IDs from meta.aggregates[filter_name="category_ids"].collection[].id filter_company_segment - List of company segment IDs — valid IDs from meta.aggregates[filter_name="company_segment"].collection[].id (e.g. 179=Small Business, 180=Mid-Market, 181=Enterprise) filter_country - List of country names (e.g. ["United States", "Germany"]) — valid values from meta.aggregates[filter_name="region"].collection[].nested_boxes[].id filter_industry - List of industry IDs — valid IDs from meta.aggregates[filter_name="industry"].collection[].id filter_nps_score - List of NPS score IDs — valid IDs from meta.aggregates[filter_name="nps_score"].collection[].id (e.g. 5=5 star, 4=4 star, …, 1=1 star) filter_region - List of geographic region names — valid values from meta.aggregates[filter_name="region"].collection[].id filter_role - List of user role IDs — valid IDs from meta.aggregates[filter_name="role"].collection[].id (e.g. 1=User, 2=Administrator, 7=Agency) filter_comment_answer_values_exclude - Exclude reviews with specific answer values AVAILABLE FIELDS: answers, attribution, comments_present, country_name, default_sort, is_public, official_response_present, percent_complete, product_name, published_at, regions, review_incentive, slug, source, star_rating, submitted_at, title, url, user_updated_at, verified_current_user COMMON QUERY PATTERNS: 1. Basic review retrieval: fields="title,star_rating,answers,published_at" 2. Review content with verification status: fields="title,answers,verified_current_user,published_at" 3. Incremental sync (reviews updated since last run): filter_updated_at_gt="2024-01-01T00:00:00Z" 4. Reviews from specific countries: filter_country=["United States", "United Kingdom"] 5. High NPS score reviews: filter_nps_score=["9", "10"] 6. All reviews with pagination: page_size=100, use page_after from response.links.next for subsequent pages PERFORMANCE CONSIDERATIONS: - Maximum page_size: 100 (use this for efficiency) - Large result sets require multiple pagination requests - Each page request counts against API rate limits - Server-side filters reduce data transfer and improve performance
list_standard_product_reviews
ChatGPTRetrieve standard reviews for a specific product with flexible field selection. DESIGNED FOR: ✅ Review content analysis (titles, answers, ratings) ✅ Voice of customer research ✅ General review browsing and display ✅ Timestamp-based incremental sync and change detection ✅ Filtering by country, region, role, NPS score, category, company segment, and industry NOT DESIGNED FOR: ❌ Intent scoring (this is review data, not behavioral data) ❌ Video reviews ❌ Non-English reviews ACCESS SCOPE: Returns all active reviews for products accessible to your account. HOW TO USE FILTERS (IMPORTANT): Most filters accept integer IDs whose valid values vary per product. To discover valid IDs: 1. Call this tool first WITHOUT any filters (or with only date filters) to get an initial response. 2. Inspect the "meta.aggregates" array in the response — each entry has a "filter_name" and a "collection" of objects with "id", "text", and "count" fields. 3. Use the integer "id" values from those collections as your filter values. Example: to find valid nps_score IDs, look for the aggregate with filter_name="nps_score"; its collection may contain {"id": 5, "text": "5 star", "count": 20}, so pass [5] to filter_nps_score. AVAILABLE FILTERS: filter_updated_at_gt - Reviews updated by user after timestamp (RFC3339, e.g. "2024-01-01T00:00:00Z") filter_updated_at_lt - Reviews updated by user before timestamp (RFC3339) filter_category_ids - List of category IDs — valid IDs from meta.aggregates[filter_name="category_ids"].collection[].id filter_company_segment - List of company segment IDs — valid IDs from meta.aggregates[filter_name="company_segment"].collection[].id (e.g. 179=Small Business, 180=Mid-Market, 181=Enterprise) filter_country - List of country names (e.g. ["United States", "Germany"]) — valid values from meta.aggregates[filter_name="region"].collection[].nested_boxes[].id filter_industry - List of industry IDs — valid IDs from meta.aggregates[filter_name="industry"].collection[].id filter_nps_score - List of NPS score IDs — valid IDs from meta.aggregates[filter_name="nps_score"].collection[].id (e.g. 5=5 star, 4=4 star, …, 1=1 star) filter_region - List of geographic region names — valid values from meta.aggregates[filter_name="region"].collection[].id filter_role - List of user role IDs — valid IDs from meta.aggregates[filter_name="role"].collection[].id (e.g. 1=User, 2=Administrator, 7=Agency) filter_comment_answer_values_exclude - Exclude reviews with specific answer values AVAILABLE FIELDS: answers, attribution, comments_present, country_name, default_sort, is_public, official_response_present, percent_complete, product_name, published_at, regions, review_incentive, slug, source, star_rating, submitted_at, title, url, user_updated_at, verified_current_user COMMON QUERY PATTERNS: 1. Basic review retrieval: fields="title,star_rating,answers,published_at" 2. Review content with verification status: fields="title,answers,verified_current_user,published_at" 3. Incremental sync (reviews updated since last run): filter_updated_at_gt="2024-01-01T00:00:00Z" 4. Reviews from specific countries: filter_country=["United States", "United Kingdom"] 5. High NPS score reviews: filter_nps_score=["9", "10"] 6. All reviews with pagination: page_size=100, use page_after from response.links.next for subsequent pages PERFORMANCE CONSIDERATIONS: - Maximum page_size: 100 (use this for efficiency) - Large result sets require multiple pagination requests - Each page request counts against API rate limits - Server-side filters reduce data transfer and improve performance
list_vendors
ChatGPTBrowse and filter G2's vendor directory with flexible field selection. DESIGNED FOR: ✅ Vendor discovery and directory browsing ✅ Vendor portfolio analysis and comparison ✅ Change tracking via timestamp filtering ✅ Vendor metadata retrieval (names, descriptions, websites, product counts) NOT DESIGNED FOR: ❌ Partial name matching (no name-based filtering available) ❌ Advanced text search (no full-text search capabilities) ❌ Vendor-specific product reviews (use list_standard_product_reviews or list_market_intelligence_product_reviews) ❌ Product-level detail (use list_products with vendor filter instead) ACCESS SCOPE: Returns all approved vendors without regard to account scoping. AVAILABLE FIELDS: name, description, company_website, slug, public_products_count, updated_at AVAILABLE RELATIONSHIPS: products - Vendor's product portfolio FILTERING STRATEGY: Server-side filters (use these for efficiency): - updated_at_gt: Vendors updated after timestamp (RFC3339 format) - updated_at_lt: Vendors updated before timestamp (RFC3339 format) For name-based search: Fetch broader results and filter client-side. COMMON QUERY PATTERNS: 1. Recently updated vendors: updated_at_gt="2024-01-01T00:00:00Z", fields="name,slug,updated_at" 2. Vendor with product portfolio: fields="name,company_website,public_products_count", include="products" 3. Vendor directory listing: fields="name,slug,company_website", page_size=100 4. Change tracking: updated_at_gt="2024-01-01T00:00:00Z", updated_at_lt="2024-12-31T23:59:59Z" PERFORMANCE CONSIDERATIONS: - Maximum page_size: 100 (recommended for efficiency) - Empty fields parameter returns all available fields - Products relationship adds significantly to response size - Timestamp filters enable efficient change detection
list_vendors
ChatGPTBrowse and filter G2's vendor directory with flexible field selection. DESIGNED FOR: ✅ Vendor discovery and directory browsing ✅ Vendor portfolio analysis and comparison ✅ Change tracking via timestamp filtering ✅ Vendor metadata retrieval (names, descriptions, websites, product counts) NOT DESIGNED FOR: ❌ Partial name matching (no name-based filtering available) ❌ Advanced text search (no full-text search capabilities) ❌ Vendor-specific product reviews (use list_standard_product_reviews or list_market_intelligence_product_reviews) ❌ Product-level detail (use list_products with vendor filter instead) ACCESS SCOPE: Returns all approved vendors without regard to account scoping. AVAILABLE FIELDS: name, description, company_website, slug, public_products_count, updated_at AVAILABLE RELATIONSHIPS: products - Vendor's product portfolio FILTERING STRATEGY: Server-side filters (use these for efficiency): - updated_at_gt: Vendors updated after timestamp (RFC3339 format) - updated_at_lt: Vendors updated before timestamp (RFC3339 format) For name-based search: Fetch broader results and filter client-side. COMMON QUERY PATTERNS: 1. Recently updated vendors: updated_at_gt="2024-01-01T00:00:00Z", fields="name,slug,updated_at" 2. Vendor with product portfolio: fields="name,company_website,public_products_count", include="products" 3. Vendor directory listing: fields="name,slug,company_website", page_size=100 4. Change tracking: updated_at_gt="2024-01-01T00:00:00Z", updated_at_lt="2024-12-31T23:59:59Z" PERFORMANCE CONSIDERATIONS: - Maximum page_size: 100 (recommended for efficiency) - Empty fields parameter returns all available fields - Products relationship adds significantly to response size - Timestamp filters enable efficient change detection
remove_products_from_research_board
ChatGPTRemove one or more products from a research board (soft-delete). Pass ALL product IDs in a single call — do NOT call this tool in a loop for individual products. Response includes data.removed (list of removed product IDs) and may include errors for products that failed. DESIGNED FOR: ✅ Removing multiple products from a board in one call ✅ Soft-deleting products while keeping the research board intact ✅ Handling partial failures returned by the batch API NOT DESIGNED FOR: ❌ Deleting the entire board (use delete_research_board) ❌ Calling this tool once per product instead of batching IDs After removing products, call show_research_board to display the updated board to the user.
remove_products_from_research_board
ChatGPTRemove one or more products from a research board (soft-delete). Pass ALL product IDs in a single call — do NOT call this tool in a loop for individual products. Response includes data.removed (list of removed product IDs) and may include errors for products that failed. DESIGNED FOR: ✅ Removing multiple products from a board in one call ✅ Soft-deleting products while keeping the research board intact ✅ Handling partial failures returned by the batch API NOT DESIGNED FOR: ❌ Deleting the entire board (use delete_research_board) ❌ Calling this tool once per product instead of batching IDs After removing products, call show_research_board to display the updated board to the user.
show_buyer_intent_dashboard
ChatGPTDisplay an interactive React dashboard showing buyer intent data for a G2 product.
show_buyer_intent_dashboard
ChatGPTDisplay an interactive React dashboard showing buyer intent data for a G2 product.
show_category
ChatGPTRetrieve detailed information for a specific category by UUID or slug. DESIGNED FOR: ✅ Single category detail retrieval with known category UUID or slug ✅ Category profile pages and detail views ✅ Category metadata lookup (names, descriptions, hierarchies) ✅ Product listing within specific category ✅ Category hierarchy navigation (parent, children, ancestors, descendants) NOT DESIGNED FOR: ❌ Category discovery (use list_categories instead) ❌ Searching by name or partial match (use list_categories with filters) ❌ Product-level details (use list_products with category filter) ❌ Bulk category retrieval (use list_categories with pagination) AVAILABLE FIELDS: name, slug, description, updated_at AVAILABLE RELATIONSHIPS: products - Products in this category children - Direct child categories (subcategories) ancestors - Parent categories up to root descendants - All nested child categories parent - Direct parent category WHEN TO USE: - You have a category UUID or slug (e.g., "crm", "project-management") from a previous API call or reference - You need full category details for a specific category - You want to explore category hierarchy (parent/child relationships) - You want to list products within a specific category - Building a category detail page or navigation tree COMMON QUERY PATTERNS: 1. Full category details: fields="name,description,slug" 2. Category with products: fields="name,slug", include="products" 3. Category hierarchy exploration: fields="name,slug", include="parent,children" 4. Complete category tree: include="ancestors,descendants" 5. Category navigation context: fields="name,slug", include="parent,children,ancestors" PERFORMANCE CONSIDERATIONS: - Single category lookup (no pagination needed) - Empty fields parameter returns all available fields - Products relationship can return large result sets - Hierarchy relationships (ancestors, descendants) add to response size - Accepts both UUID and slug formats for flexible lookups - Consider using list_products with category filter for detailed product data
show_category
ChatGPTRetrieve detailed information for a specific category by UUID or slug. DESIGNED FOR: ✅ Single category detail retrieval with known category UUID or slug ✅ Category profile pages and detail views ✅ Category metadata lookup (names, descriptions, hierarchies) ✅ Product listing within specific category ✅ Category hierarchy navigation (parent, children, ancestors, descendants) NOT DESIGNED FOR: ❌ Category discovery (use list_categories instead) ❌ Searching by name or partial match (use list_categories with filters) ❌ Product-level details (use list_products with category filter) ❌ Bulk category retrieval (use list_categories with pagination) AVAILABLE FIELDS: name, slug, description, updated_at AVAILABLE RELATIONSHIPS: products - Products in this category children - Direct child categories (subcategories) ancestors - Parent categories up to root descendants - All nested child categories parent - Direct parent category WHEN TO USE: - You have a category UUID or slug (e.g., "crm", "project-management") from a previous API call or reference - You need full category details for a specific category - You want to explore category hierarchy (parent/child relationships) - You want to list products within a specific category - Building a category detail page or navigation tree COMMON QUERY PATTERNS: 1. Full category details: fields="name,description,slug" 2. Category with products: fields="name,slug", include="products" 3. Category hierarchy exploration: fields="name,slug", include="parent,children" 4. Complete category tree: include="ancestors,descendants" 5. Category navigation context: fields="name,slug", include="parent,children,ancestors" PERFORMANCE CONSIDERATIONS: - Single category lookup (no pagination needed) - Empty fields parameter returns all available fields - Products relationship can return large result sets - Hierarchy relationships (ancestors, descendants) add to response size - Accepts both UUID and slug formats for flexible lookups - Consider using list_products with category filter for detailed product data
show_product
ChatGPTRetrieve detailed information for a specific product by UUID or Slug. DESIGNED FOR: ✅ Single product detail retrieval with known product UUID ✅ Product profile pages and detail views ✅ Product metadata lookup (descriptions, URLs, ratings) ✅ Vendor and category relationship exploration NOT DESIGNED FOR: ❌ Product discovery (use list_products instead) ❌ Searching by name or partial match (use list_products with client-side filters) ❌ Product reviews (use list_standard_product_reviews or list_market_intelligence_product_reviews instead) ❌ Bulk product retrieval (use list_products with pagination) AVAILABLE FIELDS: name, domain, slug, image_url, detail_description, g2_url, public_detail_url, review_count, star_rating, type, write_review_url AVAILABLE RELATIONSHIPS: categories - Product category memberships discussions - Product discussion threads vendor - Product vendor information WHEN TO USE: - You have a product UUID or Slug from a previous API call - You need full product details for a specific product - You want to explore relationships (vendor, categories) - Building a product detail page or profile COMMON QUERY PATTERNS: 1. Full product details: fields="name,detail_description,star_rating,review_count,g2_url" 2. Product with vendor context: fields="name,domain,star_rating", include="vendor" 3. Product with category memberships: fields="name,slug", include="categories" 4. Complete product profile: (empty fields parameter), include="vendor,categories,discussions" PERFORMANCE CONSIDERATIONS: - Single product lookup (no pagination needed) - Empty fields parameter returns all available fields - Relationships add to response size (include only when needed) - Most efficient for UUID or Slug-based lookups
show_product
ChatGPTRetrieve detailed information for a specific product by UUID or Slug. DESIGNED FOR: ✅ Single product detail retrieval with known product UUID ✅ Product profile pages and detail views ✅ Product metadata lookup (descriptions, URLs, ratings) ✅ Vendor and category relationship exploration NOT DESIGNED FOR: ❌ Product discovery (use list_products instead) ❌ Searching by name or partial match (use list_products with client-side filters) ❌ Product reviews (use list_standard_product_reviews or list_market_intelligence_product_reviews instead) ❌ Bulk product retrieval (use list_products with pagination) AVAILABLE FIELDS: name, domain, slug, image_url, detail_description, g2_url, public_detail_url, review_count, star_rating, type, write_review_url AVAILABLE RELATIONSHIPS: categories - Product category memberships discussions - Product discussion threads vendor - Product vendor information WHEN TO USE: - You have a product UUID or Slug from a previous API call - You need full product details for a specific product - You want to explore relationships (vendor, categories) - Building a product detail page or profile COMMON QUERY PATTERNS: 1. Full product details: fields="name,detail_description,star_rating,review_count,g2_url" 2. Product with vendor context: fields="name,domain,star_rating", include="vendor" 3. Product with category memberships: fields="name,slug", include="categories" 4. Complete product profile: (empty fields parameter), include="vendor,categories,discussions" PERFORMANCE CONSIDERATIONS: - Single product lookup (no pagination needed) - Empty fields parameter returns all available fields - Relationships add to response size (include only when needed) - Most efficient for UUID or Slug-based lookups
show_research_board
ChatGPTDisplay an interactive research board with product comparisons.
show_research_board
ChatGPTDisplay an interactive research board with product comparisons.
show_vendor
ChatGPTRetrieve detailed information for a specific vendor by UUID. DESIGNED FOR: ✅ Single vendor detail retrieval with known vendor UUID ✅ Vendor profile pages and detail views ✅ Vendor metadata lookup (descriptions, websites, product counts) ✅ Product portfolio exploration for specific vendor NOT DESIGNED FOR: ❌ Vendor discovery (use list_vendors instead) ❌ Searching by name or partial match (use list_vendors with client-side filters) ❌ Product-level details (use list_products or show_product instead) ❌ Bulk vendor retrieval (use list_vendors with pagination) ACCESS SCOPE: Returns all approved vendors on G2. AVAILABLE FIELDS: name, description, company_website, slug, public_products_count, updated_at AVAILABLE RELATIONSHIPS: products - Vendor's product portfolio WHEN TO USE: - You have a vendor UUID from a previous API call - You need full vendor details for a specific vendor - You want to explore vendor's product portfolio - Building a vendor profile or detail page COMMON QUERY PATTERNS: 1. Full vendor details: fields="name,description,company_website,public_products_count" 2. Vendor with product portfolio: fields="name,slug", include="products" 3. Complete vendor profile: (empty fields parameter), include="products" 4. Basic vendor info: fields="name,company_website,slug" PERFORMANCE CONSIDERATIONS: - Single vendor lookup (no pagination needed) - Empty fields parameter returns all available fields - Products relationship can return large result set - Most efficient for UUID-based lookups
show_vendor
ChatGPTRetrieve detailed information for a specific vendor by UUID. DESIGNED FOR: ✅ Single vendor detail retrieval with known vendor UUID ✅ Vendor profile pages and detail views ✅ Vendor metadata lookup (descriptions, websites, product counts) ✅ Product portfolio exploration for specific vendor NOT DESIGNED FOR: ❌ Vendor discovery (use list_vendors instead) ❌ Searching by name or partial match (use list_vendors with client-side filters) ❌ Product-level details (use list_products or show_product instead) ❌ Bulk vendor retrieval (use list_vendors with pagination) ACCESS SCOPE: Returns all approved vendors on G2. AVAILABLE FIELDS: name, description, company_website, slug, public_products_count, updated_at AVAILABLE RELATIONSHIPS: products - Vendor's product portfolio WHEN TO USE: - You have a vendor UUID from a previous API call - You need full vendor details for a specific vendor - You want to explore vendor's product portfolio - Building a vendor profile or detail page COMMON QUERY PATTERNS: 1. Full vendor details: fields="name,description,company_website,public_products_count" 2. Vendor with product portfolio: fields="name,slug", include="products" 3. Complete vendor profile: (empty fields parameter), include="products" 4. Basic vendor info: fields="name,company_website,slug" PERFORMANCE CONSIDERATIONS: - Single vendor lookup (no pagination needed) - Empty fields parameter returns all available fields - Products relationship can return large result set - Most efficient for UUID-based lookups
update_research_board
ChatGPTUpdate a research board's title. DESIGNED FOR: ✅ Renaming an existing research board NOT DESIGNED FOR: ❌ Creating new boards (use create_research_board) ❌ Adding or removing products (use add_products_to_research_board / remove_products_from_research_board)
update_research_board
ChatGPTUpdate a research board's title. DESIGNED FOR: ✅ Renaming an existing research board NOT DESIGNED FOR: ❌ Creating new boards (use create_research_board) ❌ Adding or removing products (use add_products_to_research_board / remove_products_from_research_board)