Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

HubSpot

OAuth 2.0 crmsales

HubSpot

Connect this agent connector to let your agent:

  • Manage contacts — create, update, list, and search contacts; batch-create up to 100 at once
  • Manage companies — create and update company records with industry, location, and revenue data
  • Manage deals — create deals, move them through pipeline stages, and search by any property
  • Manage tickets — create and update support tickets with priority and pipeline stage
  • Log engagements — record calls, meetings, notes, and emails against any CRM record
  • Manage tasks — create tasks with due dates and priorities, and mark them complete
  • Work with products, line items, and quotes — build out deal proposals end-to-end
  • Manage custom objects — create, update, and search records for any custom schema
  • Access marketing data — list forms, retrieve submissions, and inspect campaigns and email events
  • Search and paginate — full-text search and filter across all CRM object types
  • Manage associations — link any two CRM objects (e.g. associate a contact with a ticket)
  • List owners and properties — look up user IDs and discover all available fields per object type

This connector uses OAuth 2.0. Scalekit acts as the OAuth client: it redirects your user to HubSpot, obtains an access token, and automatically refreshes it before it expires. Your agent code never handles tokens directly — you only pass a connectionName and a user identifier.

You supply your HubSpot Connected App credentials (Client ID + Secret) once per environment in the Scalekit dashboard.

Before calling this connector from your code, create the HubSpot connection in AgentKit > Connections and copy the exact Connection name from that connection into your code. The value in code must match the dashboard exactly.

Set up the connector

Register your Scalekit environment with the HubSpot connector so Scalekit handles the authentication flow and token lifecycle for you. The connection name you create will be used to identify and invoke the connection programmatically. Then complete the configuration in your application as follows:

  1. Set up auth redirects

    • In Scalekit dashboard, go to AgentKit > Connections > Create Connection. Find HubSpot and click Create. Copy the redirect URI. It looks like https://<SCALEKIT_ENVIRONMENT_URL>/sso/v1/oauth/<CONNECTION_ID>/callback.

      Copy redirect URI from Scalekit dashboard

    • Log in to your HubSpot developer dashboard, click Manage apps, click Create app, and select Public app. Do not select Private app; Private Apps use static API tokens and do not support OAuth redirect flows, so they do not show the Redirect URL field Scalekit needs. If you already have a HubSpot Public App, open that app instead.

    • Go to Auth > Auth settings > Redirect URL, paste the redirect URI from Scalekit, and click Save.

      Adding redirect URL to HubSpot

    • Under Auth > Auth settings > Scopes, select the required scopes for your application. The scopes you select here must match exactly what you configure in Scalekit. For a read-only CRM enrichment flow that looks up contacts, companies, and deals, use:

      crm.objects.contacts.read
      crm.objects.companies.read
      crm.objects.deals.read
  2. Get client credentials

    • In your HubSpot app, go to Auth > Auth settings.

    • Copy your Client ID and Client Secret.

  3. Add credentials in Scalekit

    • In Scalekit dashboard, go to AgentKit > Connections and open the connection you created.

    • Enter your credentials:

      • Client ID (from your HubSpot app)
      • Client Secret (from your HubSpot app)
      • Permissions (OAuth scope strings such as crm.objects.contacts.read, entered exactly as configured in the HubSpot app)

      Add credentials in Scalekit dashboard

    • Click Save.

Code examples

Connect a user’s HubSpot account and make API calls on their behalf — Scalekit handles OAuth and token management automatically.

Proxy API calls

Make authenticated requests to any HubSpot API endpoint through the Scalekit proxy.

import { ScalekitClient } from '@scalekit-sdk/node';
import 'dotenv/config';
const connectionName = 'hubspot'; // your connection name from Scalekit dashboard
const identifier = 'user_123'; // your unique user identifier
// Get credentials from app.scalekit.com → Developers → Settings → API Credentials
const scalekit = new ScalekitClient(
process.env.SCALEKIT_ENV_URL,
process.env.SCALEKIT_CLIENT_ID,
process.env.SCALEKIT_CLIENT_SECRET
);
const actions = scalekit.actions;
// Authenticate the user (first time only)
const { link } = await actions.getAuthorizationLink({
connectionName,
identifier,
});
console.log('Authorize HubSpot:', link);
process.stdout.write('Press Enter after authorizing...');
await new Promise(r => process.stdin.once('data', r));
// Make a request through the Scalekit proxy
const result = await actions.request({
connectionName,
identifier,
path: '/crm/v3/owners',
method: 'GET',
});
console.log(result);

Execute tools

Use executeTool (Node.js) or execute_tool (Python) to call any HubSpot tool by name with typed parameters.

Create a contact

const contact = await actions.executeTool({
connectionName,
identifier,
toolName: 'hubspot_contact_create',
parameters: {
email: 'jane.smith@acme.com',
firstname: 'Jane',
lastname: 'Smith',
jobtitle: 'VP of Engineering',
company: 'Acme Corp',
lifecyclestage: 'lead',
},
});
console.log('Created contact ID:', contact.id);

Search deals

const deals = await actions.executeTool({
connectionName,
identifier,
toolName: 'hubspot_deals_search',
parameters: {
query: 'enterprise',
filterGroups: JSON.stringify([{
filters: [{ propertyName: 'dealstage', operator: 'EQ', value: 'qualifiedtobuy' }]
}]),
properties: 'dealname,amount,dealstage,closedate',
limit: 10,
},
});
console.log('Found deals:', deals.results);

Log a call

const call = await actions.executeTool({
connectionName,
identifier,
toolName: 'hubspot_call_log',
parameters: {
hs_call_title: 'Q4 Renewal Discussion',
hs_timestamp: new Date().toISOString(),
hs_call_body: 'Discussed renewal terms. Customer is interested in the enterprise plan.',
hs_call_direction: 'OUTBOUND',
hs_call_duration: 900000, // 15 minutes in ms
hs_call_status: 'COMPLETED',
},
});
console.log('Logged call ID:', call.id);

Create and associate a ticket

// Create the ticket
const ticket = await actions.executeTool({
connectionName,
identifier,
toolName: 'hubspot_ticket_create',
parameters: {
subject: 'Cannot export data to CSV',
hs_pipeline_stage: '1', // "New" stage
content: 'Customer reports that the CSV export button is unresponsive on the Reports page.',
hs_ticket_priority: 'HIGH',
},
});
// Associate with a contact
await actions.executeTool({
connectionName,
identifier,
toolName: 'hubspot_association_create',
parameters: {
from_object_type: 'tickets',
from_object_id: ticket.id,
to_object_type: 'contacts',
to_object_id: '12345',
},
});
console.log('Ticket created and associated:', ticket.id);

Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.

hubspot_company_create Create a new company in HubSpot CRM. Requires a company name as the unique identifier. Supports additional properties like domain, industry, phone, location, and revenue information. 10 params

Create a new company in HubSpot CRM. Requires a company name as the unique identifier. Supports additional properties like domain, industry, phone, location, and revenue information.

Name Type Required Description
name string required Company name (required, serves as primary identifier).
domain string optional Company website domain (e.g. `example.com`).
phone string optional Primary phone number for the company.
industry string optional Industry type of the company.
description string optional Company description or overview.
city string optional City where the company is located.
state string optional State or region where the company is located.
country string optional Country where the company is located.
annualrevenue number optional Annual revenue of the company in dollars.
numberofemployees number optional Number of employees at the company.
hubspot_company_get Retrieve details of a specific company from HubSpot by company ID. Returns company properties and associated data. 2 params

Retrieve details of a specific company from HubSpot by company ID. Returns company properties and associated data.

Name Type Required Description
company_id string required The unique identifier of the company in HubSpot.
properties string optional Comma-separated list of properties to include in the response (e.g. `name,domain,industry,phone`).
hubspot_company_update Update an existing company in HubSpot CRM by company ID. Provide any fields to update. 12 params

Update an existing company in HubSpot CRM by company ID. Provide any fields to update.

Name Type Required Description
company_id string required The unique identifier of the company in HubSpot.
name string optional Updated name of the company.
domain string optional Updated company website domain.
phone string optional Updated primary phone number.
city string optional Updated city.
state string optional Updated state or region.
country string optional Updated country.
industry string optional Updated industry.
description string optional Updated company description.
website string optional Full URL of the company website.
annualrevenue number optional Updated annual revenue.
numberofemployees number optional Updated number of employees.
hubspot_contact_create Create a new contact in HubSpot CRM. Requires an email address as the unique identifier. Supports additional properties like name, company, phone, and lifecycle stage. 9 params

Create a new contact in HubSpot CRM. Requires an email address as the unique identifier. Supports additional properties like name, company, phone, and lifecycle stage.

Name Type Required Description
email string required Primary email address (required, must be unique in HubSpot).
firstname string optional Contact's first name.
lastname string optional Contact's last name.
phone string optional Contact's primary phone number.
company string optional Company name where the contact works.
jobtitle string optional Contact's job title or role.
website string optional Personal or company website URL.
lifecyclestage string optional Lifecycle stage: `subscriber`, `lead`, `marketingqualifiedlead`, `salesqualifiedlead`, `opportunity`, `customer`, `evangelist`, or `other`.
hs_lead_status string optional Lead status: `NEW`, `OPEN`, `IN_PROGRESS`, `OPEN_DEAL`, `UNQUALIFIED`, `ATTEMPTED_TO_CONTACT`, `CONNECTED`, or `BAD_TIMING`.
hubspot_contact_get Retrieve details of a specific contact from HubSpot by contact ID. Returns contact properties and associated data. 2 params

Retrieve details of a specific contact from HubSpot by contact ID. Returns contact properties and associated data.

Name Type Required Description
contact_id string required The unique identifier of the contact in HubSpot.
properties string optional Comma-separated list of properties to include (e.g. `firstname,lastname,email,company`).
hubspot_contact_update Update an existing contact in HubSpot CRM by contact ID. Provide any fields to update. 10 params

Update an existing contact in HubSpot CRM by contact ID. Provide any fields to update.

Name Type Required Description
contact_id string required The unique identifier of the contact in HubSpot.
email string optional Updated email address (must be unique in HubSpot).
firstname string optional Updated first name.
lastname string optional Updated last name.
phone string optional Updated phone number.
company string optional Updated company name.
jobtitle string optional Updated job title.
website string optional Updated website URL.
lifecyclestage string optional Updated lifecycle stage (e.g. `lead`, `customer`).
hs_lead_status string optional Updated lead status (e.g. `IN_PROGRESS`, `CONNECTED`).
hubspot_contacts_list Retrieve a list of contacts from HubSpot with filtering and pagination. Returns contact properties and supports cursor-based navigation. 4 params

Retrieve a list of contacts from HubSpot with filtering and pagination. Returns contact properties and supports cursor-based navigation.

Name Type Required Description
properties string optional Comma-separated list of properties to return.
limit number optional Number of contacts to return per page (max 100).
after string optional Cursor value from previous response to get next page.
archived boolean optional Include archived contacts (default: false).
hubspot_contacts_batch_create Create multiple contacts in HubSpot CRM in a single API call. Each contact requires an email address. Supports up to 100 contacts per request. 1 param

Create multiple contacts in HubSpot CRM in a single API call. Each contact requires an email address. Supports up to 100 contacts per request.

Name Type Required Description
contacts array required Array of contact objects to create. Each object supports: `email` (required), `firstname`, `lastname`, `phone`, `company`, `jobtitle`, `website`, `lifecyclestage`. Max 100 contacts.
hubspot_contact_list_membership_get Retrieve all HubSpot lists that a specific contact belongs to, identified by contact ID. 1 param

Retrieve all HubSpot lists that a specific contact belongs to, identified by contact ID.

Name Type Required Description
contact_id string required The unique identifier of the contact in HubSpot.
hubspot_contact_email_events_get Retrieve marketing email events for a specific contact by their email address. Returns open, click, bounce, and unsubscribe events. 3 params

Retrieve marketing email events for a specific contact by their email address. Returns open, click, bounce, and unsubscribe events.

Name Type Required Description
email string required The contact's email address.
eventType string optional Filter by event type: `OPEN`, `CLICK`, `BOUNCE`, or `UNSUBSCRIBE`.
limit number optional Number of events to return per page (default: 100).
hubspot_deal_create Create a new deal in HubSpot CRM. Requires dealname and dealstage. Supports additional properties like amount, pipeline, close date, and deal type. 8 params

Create a new deal in HubSpot CRM. Requires dealname and dealstage. Supports additional properties like amount, pipeline, close date, and deal type.

Name Type Required Description
dealname string required Name of the deal.
dealstage string required Current stage of the deal (e.g. `qualifiedtobuy`, `closedwon`).
amount number optional Monetary value of the deal.
closedate string optional Expected close date in `YYYY-MM-DD` format.
pipeline string optional The pipeline this deal belongs to (e.g. `default`).
dealtype string optional Classification of the deal type (e.g. `newbusiness`, `existingbusiness`).
description string optional Additional details about the deal.
hs_priority string optional Deal priority: `high`, `medium`, or `low`.
hubspot_deal_get Retrieve details of a specific deal from HubSpot by deal ID. Returns deal properties and associated data. 3 params

Retrieve details of a specific deal from HubSpot by deal ID. Returns deal properties and associated data.

Name Type Required Description
deal_id string required The unique identifier of the deal in HubSpot.
properties string optional Comma-separated list of properties to return (e.g. `dealname,amount,dealstage,closedate`).
associations string optional Comma-separated object types to retrieve associations for (e.g. `contacts,companies,line_items`).
hubspot_deal_update Update an existing deal in HubSpot CRM by deal ID. Provide any fields to update. 9 params

Update an existing deal in HubSpot CRM by deal ID. Provide any fields to update.

Name Type Required Description
deal_id string required The unique identifier of the deal in HubSpot.
dealname string optional Updated name of the deal.
dealstage string optional Updated pipeline stage (e.g. `closedwon`).
amount number optional Updated monetary value of the deal.
closedate string optional Updated expected close date in `YYYY-MM-DD` format.
pipeline string optional Updated pipeline.
dealtype string optional Updated deal type.
description string optional Updated deal description.
hs_priority string optional Updated priority: `high`, `medium`, or `low`.
hubspot_deal_pipelines_list Retrieve all pipelines for a HubSpot CRM object type (e.g. `deals` or `tickets`), including pipeline stages. Use this to get valid pipeline IDs and stage IDs for creating or updating deals and tickets. 1 param

Retrieve all pipelines for a HubSpot CRM object type (e.g. `deals` or `tickets`), including pipeline stages. Use this to get valid pipeline IDs and stage IDs for creating or updating deals and tickets.

Name Type Required Description
archived boolean optional Set to `true` to include archived pipelines.
hubspot_deal_line_items_get Retrieve all line items associated with a specific HubSpot deal. 1 param

Retrieve all line items associated with a specific HubSpot deal.

Name Type Required Description
deal_id string required The HubSpot ID of the deal.
hubspot_ticket_create Create a new support ticket in HubSpot. Use `hubspot_deal_pipelines_list` with `object_type: tickets` to find valid pipeline and stage IDs. 5 params

Create a new support ticket in HubSpot. Use `hubspot_deal_pipelines_list` with `object_type: tickets` to find valid pipeline and stage IDs.

Name Type Required Description
subject string required A short descriptive title for the support ticket.
hs_pipeline_stage string required Pipeline stage ID for the ticket (e.g. `1` for New).
content string optional Detailed description of the support issue.
hs_pipeline string optional Pipeline ID (use `'0'` for the default Support Pipeline).
hs_ticket_priority string optional Priority level: `HIGH`, `MEDIUM`, or `LOW`.
hubspot_ticket_get Retrieve details of a specific HubSpot support ticket by ticket ID. 2 params

Retrieve details of a specific HubSpot support ticket by ticket ID.

Name Type Required Description
ticket_id string required The unique identifier of the ticket in HubSpot.
properties string optional Comma-separated list of properties to return.
hubspot_ticket_update Update an existing HubSpot support ticket by ticket ID. Provide any fields to update. 6 params

Update an existing HubSpot support ticket by ticket ID. Provide any fields to update.

Name Type Required Description
ticket_id string required The unique identifier of the ticket in HubSpot.
subject string optional Updated subject of the ticket.
content string optional Updated description of the support issue.
hs_pipeline_stage string optional Updated pipeline stage ID.
hs_pipeline string optional Updated pipeline ID.
hs_ticket_priority string optional Updated priority: `HIGH`, `MEDIUM`, or `LOW`.
hubspot_task_create Create a new task in HubSpot CRM. Tasks can be assigned to owners and associated with contacts, companies, or deals. 6 params

Create a new task in HubSpot CRM. Tasks can be assigned to owners and associated with contacts, companies, or deals.

Name Type Required Description
hs_task_subject string required A descriptive subject for the task.
hs_timestamp string required Due date and time for the task in ISO 8601 format (e.g. `2024-01-20T10:00:00Z`).
hs_task_status string optional Status: `NOT_STARTED`, `IN_PROGRESS`, `COMPLETED`, `DEFERRED`, or `WAITING`.
hs_task_priority string optional Priority: `HIGH`, `MEDIUM`, or `LOW`.
hs_task_type string optional Type of task: `EMAIL`, `CALL`, or `TODO`.
hs_task_body string optional Additional notes or context for the task.
hubspot_task_complete Mark a HubSpot task as completed or update its status. Use the task ID from `hubspot_tasks_search` or `hubspot_task_create`. 3 params

Mark a HubSpot task as completed or update its status. Use the task ID from `hubspot_tasks_search` or `hubspot_task_create`.

Name Type Required Description
task_id string required The unique identifier of the task in HubSpot.
hs_task_status string optional New status: `NOT_STARTED`, `IN_PROGRESS`, `COMPLETED`, `DEFERRED`, or `WAITING`.
hs_task_body string optional Updated notes when completing the task.
hubspot_meeting_log Log a meeting engagement in HubSpot CRM. Records details of a meeting including title, start/end time, description, and outcome. 6 params

Log a meeting engagement in HubSpot CRM. Records details of a meeting including title, start/end time, description, and outcome.

Name Type Required Description
hs_meeting_title string required A descriptive title for the meeting.
hs_meeting_start_time string required Start time of the meeting in ISO 8601 format (e.g. `2024-01-15T14:00:00Z`).
hs_meeting_end_time string required End time of the meeting in ISO 8601 format.
hs_timestamp string required Timestamp when the meeting was logged in ISO 8601 format.
hs_meeting_body string optional Notes, agenda, or description of the meeting.
hs_meeting_outcome string optional Outcome of the meeting: `SCHEDULED`, `COMPLETED`, `NO_SHOW`, or `CANCELED`.
hubspot_call_log Log a call engagement in HubSpot CRM. Records details of a phone call including title, duration, notes, status, and direction. 6 params

Log a call engagement in HubSpot CRM. Records details of a phone call including title, duration, notes, status, and direction.

Name Type Required Description
hs_call_title string required A descriptive title for the call.
hs_timestamp string required Date and time when the call took place in ISO 8601 format.
hs_call_body string optional Notes or transcript from the call.
hs_call_direction string optional Direction of the call: `INBOUND` or `OUTBOUND`.
hs_call_duration number optional Duration of the call in milliseconds (e.g. `300000` = 5 minutes).
hs_call_status string optional Outcome status: `COMPLETED`, `BUSY`, `FAILED`, `NO_ANSWER`, `CANCELED`, `QUEUED`, or `IN_PROGRESS`.
hubspot_note_create Create a note in HubSpot CRM to log interactions, meeting summaries, or important information. Notes can be associated with contacts, companies, or deals. 2 params

Create a note in HubSpot CRM to log interactions, meeting summaries, or important information. Notes can be associated with contacts, companies, or deals.

Name Type Required Description
hs_note_body string required Content of the note. Supports HTML.
hs_timestamp string required Timestamp for the note in ISO 8601 format (e.g. `2024-01-15T10:30:00Z`).
hubspot_note_log Log a note engagement in HubSpot CRM. Creates a text note that can be associated with contacts, companies, or deals. 2 params

Log a note engagement in HubSpot CRM. Creates a text note that can be associated with contacts, companies, or deals.

Name Type Required Description
hs_note_body string required Content of the note. Supports HTML.
hs_timestamp string required Timestamp for the note in ISO 8601 format (e.g. `2024-01-15T10:30:00Z`).
hubspot_engagements_list List engagements (notes, tasks, calls, emails, meetings) from HubSpot CRM. Supports filtering by engagement type and pagination. 3 params

List engagements (notes, tasks, calls, emails, meetings) from HubSpot CRM. Supports filtering by engagement type and pagination.

Name Type Required Description
engagement_type string required Type of engagement to list: `notes`, `tasks`, `calls`, `emails`, or `meetings`.
limit number optional Number of engagements to return per page (max 100).
after string optional Cursor from previous response to fetch next page.
hubspot_owners_list List all HubSpot owners (users). Use this to find owner IDs for assigning contacts, deals, tickets, and other CRM records. 3 params

List all HubSpot owners (users). Use this to find owner IDs for assigning contacts, deals, tickets, and other CRM records.

Name Type Required Description
email string optional Filter owners by email address.
limit number optional Number of owners to return per page (max 500).
after string optional Pagination cursor from previous response.
hubspot_association_create Create a default association between two HubSpot CRM objects. For example, associate a contact with a deal, or a company with a ticket. 4 params

Create a default association between two HubSpot CRM objects. For example, associate a contact with a deal, or a company with a ticket.

Name Type Required Description
from_object_type string required Type of the source object (e.g. `contacts`, `companies`, `deals`, `tickets`).
from_object_id string required HubSpot ID of the source record.
to_object_type string required Type of the target object (e.g. `contacts`, `deals`).
to_object_id string required HubSpot ID of the target record.
hubspot_campaigns_list List all HubSpot marketing campaigns with pagination support. 2 params

List all HubSpot marketing campaigns with pagination support.

Name Type Required Description
limit number optional Number of campaigns to return per page (default: 20).
after string optional Pagination cursor from previous response.
hubspot_campaign_get Retrieve details of a specific HubSpot marketing campaign by campaign ID. 1 param

Retrieve details of a specific HubSpot marketing campaign by campaign ID.

Name Type Required Description
campaign_id string required The unique identifier of the campaign in HubSpot.
hubspot_forms_list List all HubSpot marketing forms. Returns form IDs, names, and field definitions. 3 params

List all HubSpot marketing forms. Returns form IDs, names, and field definitions.

Name Type Required Description
formTypes string optional Comma-separated list of form types to filter by (e.g. `hubspot`, `captured`, `flow`).
limit number optional Number of forms to return per page (max 50).
after string optional Pagination cursor from previous response.
hubspot_form_submissions_get Retrieve all submissions for a specific HubSpot form. Returns submitted field values and submission timestamps. 3 params

Retrieve all submissions for a specific HubSpot form. Returns submitted field values and submission timestamps.

Name Type Required Description
form_id string required The unique identifier of the HubSpot form. Get it from `hubspot_forms_list`.
limit number optional Number of submissions to return per page (default: 20).
after string optional Pagination offset token for the next page.
hubspot_product_create Create a new product in the HubSpot product library. 4 params

Create a new product in the HubSpot product library.

Name Type Required Description
name string required The product name as it will appear in HubSpot.
description string optional A description of the product or service.
hs_sku string optional Unique product SKU or identifier.
price string optional Unit price of the product (e.g. `999.00`).
hubspot_products_list Retrieve a list of products from the HubSpot product library. 3 params

Retrieve a list of products from the HubSpot product library.

Name Type Required Description
properties string optional Comma-separated list of product properties to include (e.g. `name,price,description`).
limit number optional Number of products to return per page (max 100).
after string optional Pagination cursor from previous response.
hubspot_line_item_create Create a new line item in HubSpot. Line items represent individual products or services in a deal. 5 params

Create a new line item in HubSpot. Line items represent individual products or services in a deal.

Name Type Required Description
name string required The name of the product or service for this line item.
hs_product_id string optional Link this line item to a product in the HubSpot product library.
price string optional The price per unit for this line item.
quantity string optional Number of units for this line item.
deal_id string optional The HubSpot deal ID to associate this line item with.
hubspot_quote_create Create a new quote in HubSpot for a deal. 5 params

Create a new quote in HubSpot for a deal.

Name Type Required Description
hs_title string required The display title for the quote.
hs_language string required Language of the quote as an ISO 639-1 code (e.g. `en`, `de`, `fr`). Required by HubSpot.
deal_id string optional The HubSpot deal ID to link this quote to.
hs_expiration_date string optional Expiration date of the quote in `YYYY-MM-DD` format.
hs_status string optional Status of the quote: `DRAFT`, `PENDING_APPROVAL`, `APPROVED`, or `REJECTED`.
hubspot_quote_get Retrieve a specific HubSpot quote by its ID. 2 params

Retrieve a specific HubSpot quote by its ID.

Name Type Required Description
quote_id string required The HubSpot ID of the quote.
properties string optional Comma-separated list of quote properties to include (e.g. `hs_title,hs_status,hs_expiration_date`).
hubspot_schemas_list List all custom object schemas defined in HubSpot. Returns object type IDs, labels, and property definitions needed to work with custom objects. 1 param

List all custom object schemas defined in HubSpot. Returns object type IDs, labels, and property definitions needed to work with custom objects.

Name Type Required Description
archived boolean optional Set to `true` to include archived custom object schemas.
hubspot_custom_object_record_create Create a new record for a HubSpot custom object type. 2 params

Create a new record for a HubSpot custom object type.

Name Type Required Description
object_type_id string required The custom object type ID (e.g. `2-1234567`). Get it from `hubspot_schemas_list`.
properties object required Key-value pairs for the new record (e.g. `{"name": "Example Record"}`). Use `hubspot_schemas_list` to discover valid property names.
hubspot_custom_object_record_get Retrieve a specific record of a HubSpot custom object by object type ID and record ID. 3 params

Retrieve a specific record of a HubSpot custom object by object type ID and record ID.

Name Type Required Description
object_type_id string required The custom object type ID (e.g. `2-1234567`).
record_id string required The HubSpot ID of the specific record.
properties string optional Comma-separated list of properties to return.
hubspot_custom_object_record_update Update an existing record of a HubSpot custom object by object type ID and record ID. Use hubspot_schemas_list to discover available object type IDs and their properties. 3 params

Update an existing record of a HubSpot custom object by object type ID and record ID. Use hubspot_schemas_list to discover available object type IDs and their properties.

Name Type Required Description
object_type_id string required The custom object type ID (e.g. `2-1234567`). Get it from `hubspot_schemas_list`.
record_id string required The HubSpot ID of the record to update. Get it from `hubspot_custom_object_records_search`.
properties object required JSON object of property names and updated values (e.g. `{"name": "Updated Name", "status": "active"}`). Use `hubspot_schemas_list` to discover valid property names.
hubspot_object_properties_list Retrieve all properties defined for a HubSpot CRM object type (contacts, companies, deals, tickets, etc.). 2 params

Retrieve all properties defined for a HubSpot CRM object type (contacts, companies, deals, tickets, etc.).

Name Type Required Description
object_type string required CRM object type to list properties for (e.g. `contacts`, `companies`, `deals`, `tickets`, `products`, or a custom object type ID).
archived boolean optional Set to `true` to include archived properties.