For Agents
Create, retrieve, update, search, and archive HubSpot CRM Quotes — the proposal documents that hold pricing and line items — including efficient batch operations against /crm/v3/objects/quotes.
Get started with Quotes 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 quote for a deal"
# → Jentic returns the GET /events tool with parameter schema, agent executes.What an agent can do with Quotes API.
Create a new quote tied to a deal with POST /crm/v3/objects/quotes
Retrieve a quote and its custom properties via GET /crm/v3/objects/quotes/{quoteId}
Update quote properties such as expiration date or status with PATCH /crm/v3/objects/quotes/{quoteId}
Search quotes by status, owner, or amount via POST /crm/v3/objects/quotes/search
GET STARTED
Use for: I need to create a HubSpot quote for a $10,000 deal with three line items, Retrieve the quote attached to deal 12345, Search for all draft quotes that expire in the next 7 days, Update the status of a quote to PUBLISHED
Not supported: Does not handle invoice billing, payment collection, or e-signature workflows — use for managing CRM Quote records and their associations only.
The HubSpot CRM Quotes API lets sales teams and integrations programmatically create, read, update, archive, and search Quote records — the documents that capture proposed pricing, terms, and line items presented to a buyer. Each quote is a CRM object that can be associated with deals, contacts, companies, line items, and signatures, and supports custom properties just like other HubSpot CRM objects. The API exposes single-record CRUD, batch create, batch read, batch update, batch upsert, batch archive, and a search endpoint with filtering and sorting.
Create or update many quotes at once with POST /crm/v3/objects/quotes/batch/upsert
Archive a quote that is no longer needed with DELETE /crm/v3/objects/quotes/{quoteId}
Read a batch of quotes in one call using POST /crm/v3/objects/quotes/batch/read
Patterns agents use Quotes API for, with concrete tasks.
★ Automated Quote Generation From Closed-Won Pipeline
When a deal reaches a quote-ready stage in the HubSpot pipeline, an automation creates a Quote record with the right line items, expiration date, terms, and signer fields, then associates it with the deal and primary contact. The Quotes API exposes batch create so quarter-end pushes can generate dozens of quotes in one call. Typical creation time per quote is under a second through the API versus a few minutes per quote in the HubSpot UI.
Call POST /crm/v3/objects/quotes/batch/create with quote inputs containing hs_title, hs_expiration_date, deal association, and line item associations for each closed-won deal.
Quote Status Reporting and Reminders
Sales operations needs visibility into draft, pending, and signed quotes across the team, plus automated nudges for quotes nearing expiration. Using POST /crm/v3/objects/quotes/search with filters on hs_status and hs_expiration_date, an integration produces a daily report and triggers reminder emails for quotes expiring within 3 days. The search endpoint supports paging and sorting, so even pipelines with thousands of quotes can be reviewed efficiently.
Call POST /crm/v3/objects/quotes/search with a filter on hs_status equal to 'PENDING_BUYER_ACTION' and hs_expiration_date within 3 days, then return the matching quote list.
CPQ Sync With External Pricing Engine
Companies that maintain pricing logic in an external CPQ tool need to push the resulting quote into HubSpot so the deal record reflects the proposal. A scheduled job pulls priced quotes from the CPQ system and uses POST /crm/v3/objects/quotes/batch/upsert keyed by an external ID property to create new quotes or update existing ones. This avoids duplicates and keeps HubSpot the system of record for sales-facing quote status.
Call POST /crm/v3/objects/quotes/batch/upsert with idProperty set to an external_quote_id custom property and inputs containing the latest pricing fields for each external quote.
AI Agent Quote Lookup and Update
An AI sales assistant agent answers reps' questions like 'what's the latest quote for Acme?' and updates fields when asked. Through Jentic the agent searches for quote operations, loads the search and patch schemas, and executes a search by associated company, then a PATCH on the returned quoteId to change status or expiration. Jentic stores the OAuth token in its vault so the agent never sees the secret.
Search Jentic for 'find hubspot quote for company', load the search operation, query by associated companyId, then PATCH the returned quoteId to extend hs_expiration_date by 14 days.
11 endpoints — the hubspot crm quotes api lets sales teams and integrations programmatically create, read, update, archive, and search quote records — the documents that capture proposed pricing, terms, and line items presented to a buyer.
METHOD
PATH
DESCRIPTION
/crm/v3/objects/quotes
Create a quote
/crm/v3/objects/quotes/{quoteId}
Read a quote by ID
/crm/v3/objects/quotes/{quoteId}
Update a quote
/crm/v3/objects/quotes/{quoteId}
Archive a quote
/crm/v3/objects/quotes/search
Search quotes with filters and sorting
/crm/v3/objects/quotes/batch/create
Create many quotes in one call
/crm/v3/objects/quotes/batch/upsert
Upsert quotes by unique property values
/crm/v3/objects/quotes
Create a quote
/crm/v3/objects/quotes/{quoteId}
Read a quote by ID
/crm/v3/objects/quotes/{quoteId}
Update a quote
/crm/v3/objects/quotes/{quoteId}
Archive a quote
/crm/v3/objects/quotes/search
Search quotes with filters and sorting
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 scoped execution tokens — the raw secret never enters agent context or logs.
Intent-based discovery
Agents search Jentic with intents like 'create a hubspot quote' and Jentic returns the matching Quotes operations with typed input schemas, so the agent can call the right endpoint without browsing HubSpot's docs.
Time to first call
Direct HubSpot Quotes integration with OAuth, batch handling, and error retries: 2-3 days. Through Jentic: under 30 minutes — search, load schema, execute.
Alternatives and complements available in the Jentic catalogue.
Salesforce REST API
Salesforce CPQ and Quote objects offer comparable proposal management for teams on Salesforce.
Choose Salesforce when the customer is already on Salesforce CRM and uses Salesforce CPQ for pricing and approval workflows.
HubSpot Deals
Quotes are typically created against an open Deal — use Deals to fetch context before generating a quote.
Use Deals first to find the deal record, then create a Quote associated with it via the Quotes API.
HubSpot Line Items
Line items represent the priced products on a quote and must exist before they can be attached to a quote.
Create line items first, then pass their IDs as associations when creating the quote.
Specific to using Quotes API through Jentic.
What authentication does the HubSpot Quotes API use?
It supports OAuth 2.0 (recommended for public apps) and HubSpot private app access tokens passed as a Bearer token in the Authorization header. Through Jentic the token is stored encrypted in the vault and injected at execution time so the agent never holds the raw secret.
Can I associate line items with a quote through the Quotes API?
Yes. Quotes are CRM objects that support associations, so you create the line items via the Line Items API and pass association inputs when calling POST /crm/v3/objects/quotes or POST /crm/v3/objects/quotes/batch/create. You can also associate quotes with deals, contacts, and companies in the same call.
What are the rate limits for the HubSpot Quotes API?
HubSpot enforces 100 requests per 10 seconds for OAuth apps and 190 per 10 seconds for private apps on Enterprise tiers, plus daily quotas. Use the batch endpoints (batch/read, batch/create, batch/upsert) to stay well under these limits when working with many quotes.
How do I find a quote attached to a specific deal through Jentic?
Search Jentic for 'find hubspot quote by deal', load the POST /crm/v3/objects/quotes/search operation, and execute it with a filter on associations.deal equal to your dealId. Jentic returns typed quote records you can then PATCH or read.
Can I create a quote and its line items in a single API call?
You create line items separately via the Line Items API, but you can pass their IDs as associations on POST /crm/v3/objects/quotes so they are linked to the quote at creation time. To do everything in one logical step, use a batch flow that creates line items first, then creates the quote with their IDs.
Does archiving a quote with DELETE /crm/v3/objects/quotes/{quoteId} delete it permanently?
No. Archive is a soft delete — the quote is removed from default lists and search results but can be restored within HubSpot's retention window. To permanently remove records you must use HubSpot's GDPR delete process, not the standard archive endpoint.
/crm/v3/objects/quotes/batch/create
Create many quotes in one call
/crm/v3/objects/quotes/batch/upsert
Upsert quotes by unique property values