Install
$ agentstack add skill-dipankar-hubspot-cli-hubspot-deals ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
HubSpot Deals (via hubspot CLI)
Deals track revenue opportunities through a sales pipeline. Each deal lives in a pipeline and a stage.
Auth
Set HUBSPOT_ACCESS_TOKEN. Optional --profile .
Canonical commands
| Intent | Command | | --- | --- | | List | hubspot crm deals list --limit 20 --properties dealname,amount,dealstage,closedate | | Get by ID | hubspot crm deals get 12345 | | Create | hubspot crm deals create --dealname "Q2 Expansion" --amount 50000 --stageid appointmentscheduled | | Create from JSON | hubspot crm deals create --properties '{"dealname":"Q2","amount":"50000","pipeline":"default","dealstage":"appointmentscheduled"}' | | Update stage | hubspot crm deals update 12345 --properties '{"dealstage":"contractsent"}' | | Close-won | hubspot crm deals update 12345 --properties '{"dealstage":"closedwon","closedate":"2025-06-01T00:00:00Z"}' | | Delete | hubspot crm deals delete 12345 --yes | | Search by stage | hubspot crm deals search --filter-groups '[{"filters":[{"propertyName":"dealstage","operator":"EQ","value":"closedwon"}]}]' | | Open deals | hubspot crm deals search --filter-groups '[{"filters":[{"propertyName":"dealstage","operator":"NOT_IN","values":["closedwon","closedlost"]}]}]' | | Batch create | hubspot crm deals batch-create --inputs '[...]' |
Pipelines and stages
Deal stages are pipeline-specific. Always list them before creating or moving deals:
hubspot crm pipelines list deals
hubspot crm pipelines stages deals
Use the internal dealstage id (e.g. appointmentscheduled, qualifiedtobuy, contractsent, closedwon, closedlost), not the display label.
Common properties
dealname, amount, dealstage, pipeline, closedate, hubspot_owner_id, dealtype, description, hs_priority.
Associating deals
# Associate deal 12345 with contact 67890
hubspot crm associations create deals 12345 contacts 67890
# And with company 54321
hubspot crm associations create deals 12345 companies 54321
Output / errors
Standard {success, data, paging}. Error codes: AUTH_ERROR (3), VALIDATION_ERROR (5), NOT_FOUND (6), RATE_LIMIT (7).
Scopes
- Read:
crm.objects.deals.read - Write:
crm.objects.deals.write
Tips
amountis a string (HubSpot returns all numeric properties as strings). Quote it in JSON.closedatemust be ISO-8601 UTC.- Use
--output json-prettyonly when the user explicitly wants to read the JSON.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: dipankar
- Source: dipankar/hubspot-cli
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.