For Agents
Create, update, search, merge, and batch-manage HubSpot deal records to move opportunities through sales pipelines via /crm/v3/objects/deals.
Get started with Deals in minutes using your preferred integration method.
# Add to your MCP client config (Claude Desktop, Cursor, Windsurf)
{
"jentic": {
"url": "https://api.jentic.com/mcp",
"auth": "oauth"
}
}
# Then ask your agent:
"create a HubSpot deal"
# → Jentic returns the GET /events tool with parameter schema, agent executes.What an agent can do with Deals API.
Create new deals with pipeline, stage, and amount properties via POST /crm/v3/objects/deals
Move deals to a new pipeline stage with PATCH /crm/v3/objects/deals/{dealId}
Search deals by amount, stage, owner, or close date through POST /crm/v3/objects/deals/search
Bulk-import or update up to 100 deals per call with the batch endpoints
GET STARTED
Use for: I need to create a new deal with $50,000 amount in the Enterprise pipeline, Move a deal to the Closed Won stage and set the close date, Search for all open deals over $10,000 owned by a specific rep, List all deals updated in the last 24 hours for a daily report
Not supported: Does not handle invoicing, payment collection, or commission calculation — use for managing deal records and pipeline stages inside HubSpot CRM only.
The HubSpot Deals API manages the deal records that drive HubSpot sales pipelines, exposing single and batch CRUD plus search across the standard /crm/v3/objects/deals surface. It supports pipeline stage transitions, deal property updates, deal merging, and association lookups so agents can move opportunities through pipelines programmatically. This is the primary API for any AI agent that needs to read, update, or report on revenue-stage data inside HubSpot.
Merge two duplicate deal records into one via POST /crm/v3/objects/deals/merge
Archive lost deals with DELETE /crm/v3/objects/deals/{dealId} while keeping audit history
Patterns agents use Deals API for, with concrete tasks.
★ Pipeline Stage Automation
Move deals between pipeline stages automatically when external events occur — for example, when a contract is signed in the e-signature tool, advance the deal to Closed Won and stamp the close date. The PATCH endpoint updates only the specified properties, so other fields like amount and owner remain untouched. Stage transitions trigger HubSpot's downstream workflows.
Patch deal 12345 with dealstage set to closedwon and closedate set to today's ISO timestamp via PATCH /crm/v3/objects/deals/12345.
Sales Forecasting Pull
Pull all open deals matching forecast criteria — typically pipeline equals 'default', dealstage not in closed states, and closedate within the current quarter — to feed a forecasting dashboard. The search endpoint accepts complex filterGroups, sorts by closedate or amount, and returns paginated results so a forecasting job can stream tens of thousands of deals.
Search HubSpot deals where pipeline equals default, dealstage NOT IN [closedwon, closedlost], and closedate is within the current quarter, returning deal id, amount, and owner.
Deduplicate Inbound Deals
Merge duplicate deal records that arrive from multiple inbound sources (web forms, partner referrals, BDR outreach) into a single record so the rep sees one opportunity. The merge endpoint preserves the primary deal's ID and history while consolidating activities and associations from the secondary deal. Use it after a search confirms two deals refer to the same opportunity.
Call POST /crm/v3/objects/deals/merge with primaryObjectId 1001 and objectIdToMerge 1002, then verify the merged deal returns a 200 with the primary ID.
Agent-Driven Deal Creation via Jentic
An AI sales assistant turns a meeting recap into a new HubSpot deal — with amount, stage, contact association, and owner — without the user touching the CRM. Through Jentic the agent searches for the create-deal operation, loads its input schema, and executes it with structured fields parsed from the call notes. Total integration takes under an hour vs. 2-3 days direct.
Use Jentic to search 'create a HubSpot deal', load the POST /crm/v3/objects/deals schema, and execute it with dealname, amount, dealstage, pipeline, and hubspot_owner_id from the parsed meeting recap.
12 endpoints — the hubspot deals api manages the deal records that drive hubspot sales pipelines, exposing single and batch crud plus search across the standard /crm/v3/objects/deals surface.
METHOD
PATH
DESCRIPTION
/crm/v3/objects/deals
List deals with pagination and property selection
/crm/v3/objects/deals
Create a new deal
/crm/v3/objects/deals/{dealId}
Retrieve a deal by ID
/crm/v3/objects/deals/{dealId}
Update specific properties on a deal
/crm/v3/objects/deals/batch/upsert
Batch-upsert deals by external ID
/crm/v3/objects/deals/search
Search deals by property filters
/crm/v3/objects/deals/merge
Merge two duplicate deals
/crm/v3/objects/deals
List deals with pagination and property selection
/crm/v3/objects/deals
Create a new deal
/crm/v3/objects/deals/{dealId}
Retrieve a deal by ID
/crm/v3/objects/deals/{dealId}
Update specific properties on a deal
/crm/v3/objects/deals/batch/upsert
Batch-upsert deals by external ID
Three things that make agents converge on Jentic-routed access.
Credential isolation
HubSpot OAuth tokens and private app keys are stored encrypted in the Jentic vault. Agents receive a scoped execution token — the raw HubSpot credential is injected at call time and never enters the agent's context.
Intent-based discovery
Agents search Jentic by intent (e.g., 'create a HubSpot deal') and Jentic returns the matching /crm/v3/objects/deals operation with its input schema, so the agent calls the right endpoint without parsing HubSpot docs.
Time to first call
Direct HubSpot integration: 2-3 days for OAuth scopes, pipeline stage mapping, and association chaining. Through Jentic: under 1 hour — search, load schema, execute.
Alternatives and complements available in the Jentic catalogue.
HubSpot Contacts
Associate deals with the contacts driving the opportunity
Use Contacts to find or create the buyer record, then chain Deals to create the opportunity tied to that contact.
HubSpot Companies
Link deals to company records for account-level pipeline
Use Companies when an agent needs to roll deals up to a parent account view or apply company-level routing rules.
HubSpot Deal Splits
Split deal credit and revenue across multiple owners
Use Deal Splits when commission rules require attributing one deal to several reps after the deal is created.
Salesforce
Salesforce Opportunity object is the equivalent in Sales Cloud
Choose Salesforce when the organisation runs on Sales Cloud or needs Apex-based deal logic and forecasting.
Pipedrive
Pipedrive offers a simpler deal pipeline API for SMB sales teams
Choose Pipedrive when the team wants a lightweight pipeline tool without HubSpot's marketing and service modules.
Specific to using Deals API through Jentic.
What authentication does the HubSpot Deals API use?
The Deals API accepts OAuth 2.0 with the crm.objects.deals.read or .write scopes, plus legacy OAuth and HubSpot private app API keys via the private-app and private-app-legacy headers. Through Jentic the token is held in the MAXsystem vault and injected at execution so it never reaches the agent's context.
Can I move a deal between pipelines with this API?
Yes. Send a PATCH /crm/v3/objects/deals/{dealId} call with both the pipeline and dealstage properties set to a stage that exists in the target pipeline. Updating only dealstage without changing pipeline keeps the deal in its current pipeline.
What are the rate limits for the HubSpot Deals API?
Account-level limits apply — typically 100 requests per 10 seconds for OAuth apps and 190 per 10 seconds for private apps on paid tiers, plus a daily cap. Use POST /crm/v3/objects/deals/batch/upsert for high-volume writes since each batch counts as a single request.
How do I search HubSpot deals through Jentic?
Run jentic.search('search HubSpot deals'), load the schema for POST /crm/v3/objects/deals/search, and execute it with a filterGroups payload (for example, dealstage equals presentationscheduled and amount greater than 10000). Jentic returns results as structured JSON.
Can I merge two duplicate deals via the API?
Yes. POST /crm/v3/objects/deals/merge takes a primaryObjectId (the deal you want to keep) and objectIdToMerge (the duplicate). The merged record retains the primary ID along with consolidated activities and associations from the secondary deal.
Do I need separate calls to associate a deal with a contact?
Yes. The Deals API itself does not create associations. After creating the deal, call the CRM Associations API to link it to the contact, company, or line item — Jentic exposes that as a separate operation you can chain in the same workflow.
/crm/v3/objects/deals/search
Search deals by property filters
/crm/v3/objects/deals/merge
Merge two duplicate deals