Skip to content
cccskills
FreePublished on GitHub

hubspot

Query HubSpot CRM for deals, contacts, and companies, then review deal stages and sales pipeline metrics. Useful for looking up a named account, checking deal status, or examining filtered groups of deals.

OriginalShow the original description

Query HubSpot CRM for deals, contacts, companies, and sales metrics. Use this skill when the user asks about sales pipeline, deal status, or customer CRM data.

BuilderIO/agent-native7,524 stars(GitHub 7,524 + cccskills 0)

Run score Not tested

See how to install

Good for

  • Looking up deals for a named customer or account
  • Checking deal stages and pipeline status
  • Reviewing filtered groups of closed-won deals
  • Finding the available properties for CRM queries

Files included (1)

  • SKILL.md4.4 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

HubSpot CRM Integration

Connection

  • Base URL: https://api.hubapi.com
  • Auth: Authorization: Bearer $HUBSPOT_PRIVATE_APP_TOKEN or legacy HUBSPOT_ACCESS_TOKEN
  • Env vars: HUBSPOT_PRIVATE_APP_TOKEN preferred, HUBSPOT_ACCESS_TOKEN legacy
  • Caching: 10-minute in-memory cache, max 120 entries

Server Lib

  • File: server/lib/hubspot.ts

Exported Functions

FunctionDescription
getDealPipelines()All deal pipelines with stages
getVisiblePipelines(pipelines)Filter to visible pipelines
getMetricsPipelines(pipelines)Filter to metrics-relevant pipelines
getDealProperties()HubSpot deal property metadata
getAllDeals(extraProperties?)All deals (paginated, up to ~10k)
getDealOwners()HubSpot owner id → owner name map
computeSalesMetrics(deals, pipelines, filter?)Compute won/lost/pipeline metrics

Script Usage

# Search deals for a named account/deal
pnpm action hubspot-deals --query="Example Corp" --limit=10 --properties=dealname,amount,dealstage

# Structured cohort: products field = Publish, closed-won New Business deals
pnpm action hubspot-deals --product=Publish --pipeline="New Business" --closedStatus=won --closedDateFrom=2025-06-01 --closedDateTo=2026-06-01

# List deals
pnpm action hubspot-deals --properties=dealname,amount,dealstage

# Find custom fields before requesting them
pnpm action hubspot-deal-properties --search=nbm

Key Patterns & Gotchas

  • getAllDeals paginates using limit=100 and HubSpot after token (up to 100 pages)
  • hubspot-deals --query="Customer" uses HubSpot search and should be the first path for named account/deal deep dives. Avoid pulling every deal first.
  • For deal cohorts, use structured hubspot-deals filters (product, pipeline, closedStatus, closedDateFrom, closedDateTo) and report the returned filters/count in the methodology.
  • Do not use query for property-specific filters. query="Publish" is broad full-text search across deals and can include records where products is not Publish.
  • If hubspot-deals cannot express the needed CRM endpoint/filter/body/pagination, use provider-api-catalog --provider=hubspot, optionally provider-api-docs, then provider-api-request --provider=hubspot with the exact HubSpot API request.
  • hubspot-deals returns normalized stage_name, pipeline_name, owner_name, is_closed_won, and is_deal_closed fields under deal.properties
  • For AE QBR or NBM deck work, HubSpot is the source of truth. Request nbm_meeting_booked_date, nbm_meeting_complete_date, and hs_manual_forecast_category through hubspot-deals; do not use warehouse SQL as the first path unless HubSpot is unavailable and the user approves the fallback
  • Optional deal properties are filtered against HubSpot property metadata before fetching, so deployments without a custom field do not fail the whole action
  • The default deal fetch includes the hard-coded hs_v2_date_entered stage property names with embedded stage IDs when they exist in the connected portal
  • computeSalesMetrics infers won/lost stages from probability metadata or label text; identifies POV stages by names containing "proof of value", "pov", "poc"
  • When looking up a customer, search deals by name, then get associated company via /crm/v3/objects/deals/{id}/associations/companies, then contacts via /crm/v3/objects/companies/{id}/associations/contacts

HubSpot Company Properties (BigQuery staging table)

Table: your-project-id.dbt_staging.hubspot_companies

  • company_name, company_id, company_domain_name
  • upcoming_renewal_date, customer_stage, hs_csm_sentiment
  • company_owner_name, root_org_id
  • customer_segmentation, current_enterprise_arr, company_status

Cross-Reference

  • HubSpot company → contacts → dim_hs_contacts.builder_user_id → BigQuery usage data
  • HubSpot deal → company → Pylon support tickets, Gong sales calls

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

a2a-assets

FreeSummary

Generate, refine, export, and place brand images or videos from an Assets library into another app. The skill covers choosing a library, handling image batches and video runs, and updating selected assets after feedback.

  • Generate brand images for slides or another app
  • Refine an existing asset after feedback
  • Create and export a video asset
BuilderIO/agent-native7.5KUpdated Oct 26, 2026

account-health

FreeSummary

Prepare a customer account health, renewal, or contract usage readout. Verify the account identity, use approved metric definitions, compare contracted capacity with actual usage, and trace findings to sources, time windows, and known gaps.

  • Preparing a named customer's account health review
  • Comparing contracted seats or capacity with usage
  • Gathering adoption signals before a renewal or QBR
BuilderIO/agent-native7.5KUpdated Oct 26, 2026

actions

FreeSummary

Create focused app actions that agents can call as tools and frontend code can use through client hooks. Use them to add provider integrations or fetch UI data, with validated inputs and structured results.

  • Adding a new app operation
  • Connecting an external provider API
  • Fetching data for a frontend view
BuilderIO/agent-native7.5KUpdated Oct 26, 2026

adding-a-feature

FreeSummary

Use this checklist when adding a feature or integration to an agent-native app. It covers the user interface, agent-callable actions, instructions, and app-state sync so both the user and agent can work with the capability consistently.

  • Planning a new feature across UI and agent actions
  • Checking that agent changes appear in the UI
  • Documenting actions and feature state for the agent
BuilderIO/agent-native7.5KUpdated Oct 26, 2026

adhoc-analysis

FreeSummary

Investigate complex questions by combining data from multiple sources, then summarize patterns, metrics, and evidence in a clear report. Save requested analyses as dashboards with instructions for future refreshes.

  • Comparing CRM deals with call records
  • Investigating customer health across systems
  • Saving a repeatable performance analysis
BuilderIO/agent-native7.5KUpdated Oct 26, 2026

admin-surfaces

FreeSummary

Use the Analytics admin surfaces to inspect and change workspace feature flags, review dashboard ownership and usage activity, or browse and edit databases connected from other agent-native apps. The skill guides administrators to the relevant view and actions.

  • Review dashboard owners, views, and edits
  • Change a workspace feature flag for an app
  • Browse or edit a connected app database
BuilderIO/agent-native7.5KUpdated Oct 26, 2026

See all skills by BuilderIO

Report a problem with this skill