Skip to main content
Glama
amin-ale

HubSpot CRM MCP Server

by amin-ale

crm_update_deal

DestructiveIdempotent

Update an existing HubSpot deal's properties and advance it to a new pipeline stage. Use this to move deals forward in your sales pipeline.

Instructions

Update properties on an existing HubSpot deal, including moving it to a new stage.

Use this to advance a deal through its pipeline. The deal's pipeline itself is not changeable here; create the deal in the right pipeline instead.

Writes. Only the properties passed are sent, and each one overwrites the value HubSpot held before; properties left out are untouched. Applying the same values again produces the same record, which makes a retry safe. Needs the crm.objects.deals.write scope. Invalidates this deal's cache entry. Raises a not-found error for an unknown or archived id, and a validation error when no property is supplied.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
amountNoDeal value as a decimal string in the account currency, e.g. '2500.00'.
deal_idYesHubSpot deal record id, as returned by search or create.
dealnameNoDeal title shown on the pipeline board.
dealstageNoStage id taken from the chosen pipeline's 'stages'. HubSpot rejects a stage id that belongs to a different pipeline.
close_dateNoExpected close date as an ISO 8601 date or timestamp, e.g. '2026-09-30'. Maps to HubSpot's 'closedate' property.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesHubSpot record id, stable for the life of the record.
archivedNoTrue when the record is archived (soft-deleted).
propertiesNoProperty values HubSpot returned for the requested property set.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations (readOnlyHint=false, destructiveHint=true, idempotentHint=true), the description adds rich behavior: 'Writes' status, partial overwrite semantics, retry safety, required OAuth scope 'crm.objects.deals.write', cache invalidation, and specific error conditions (not-found for unknown/archived id, validation for no property). This fully complements and expands on structured hints without contradicting them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately dense, starting with a clear one-sentence purpose, followed by usage guidance, then a concise paragraph on behavior. Every sentence adds distinct value—no repetition of schema or annotation data, no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need not be described. The description covers auth requirements, cache effects, error scenarios, idempotency, and partial-update behavior, making it fully sufficient for an agent to invoke the tool correctly. The tool's complexity is moderate, and all relevant context is provided.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 100% of parameters, so the baseline is 3. The description adds meaningful context beyond schemas: dealstage must come from the chosen pipeline and HubSpot rejects mismatched stages, and close_date maps to HubSpot's 'closedate' property. This extra information elevates the score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Update properties on an existing HubSpot deal' with a specific verb and resource, and explicitly distinguishes from other operations by noting the pipeline cannot be changed here and to 'create the deal in the right pipeline instead'. This separates it from create, delete, get, and search siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit guidance: 'Use this to advance a deal through its pipeline' and warns that changing the pipeline itself requires creating a new deal. Also explains partial-update semantics (only passed properties are sent, omitted ones untouched), which helps the agent decide when to use this tool. Does not explicitly list all alternatives but covers the main use case.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/amin-ale/hubspot-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server