View as Markdown

HubSpot Integration

Manage HubSpot contacts, deals, and tickets

The HubSpot integration provides access to manage HubSpot contacts, deals, and tickets through the Integrate MCP server.

Installation

The HubSpot integration is included with the SDK:

import { hubspotIntegration } from "integrate-sdk/server";

Setup

1. Create a HubSpot OAuth App

  1. Go to HubSpot Developer Apps
  2. Create a new OAuth application
  3. Configure your redirect URI
  4. Note your Client ID and Client Secret

2. Configure the Integration on Your Server

Add the HubSpot integration to your server configuration. The integration automatically reads HUBSPOT_CLIENT_ID and HUBSPOT_CLIENT_SECRET from your environment variables:

import { createMCPServer, hubspotIntegration } from "integrate-sdk/server";
 
export const { client: serverClient } = createMCPServer({
  apiKey: process.env.INTEGRATE_API_KEY,
  integrations: [
    hubspotIntegration({
    }),
  ],
});

You can override the environment variables by passing explicit values:

hubspotIntegration({
  clientId: process.env.CUSTOM_HUBSPOT_ID,
  clientSecret: process.env.CUSTOM_HUBSPOT_SECRET,
});

3. Client-Side Usage

The default client automatically includes all integrations. You can use it directly:

import { client } from "integrate-sdk";
 
await client.authorize("hubspot");
const result = await client.hubspot.listContacts({});
 
console.log(result);

If you're using a custom client, add the integration to the integrations array:

import { createMCPClient, hubspotIntegration } from "integrate-sdk";
 
const customClient = createMCPClient({
  integrations: [hubspotIntegration()],
});

Configuration Options

export interface HubSpotIntegrationConfig {
  /** HubSpot OAuth client ID (defaults to HUBSPOT_CLIENT_ID env var) */
  clientId?: string;

Tools

hubspot_list_contacts

List contacts

export interface HubspotListContactsParams {
    limit?: number;

hubspot_get_contact

Get contact

export interface HubspotGetContactParams {
    contact_id: string;

hubspot_create_contact

Create contact

export interface HubspotCreateContactParams {
    email?: string;

hubspot_update_contact

Update contact

export interface HubspotUpdateContactParams {
    contact_id: string;

hubspot_delete_contact

Delete contact

export interface HubspotDeleteContactParams {
    contact_id: string;

hubspot_list_companies

List companies

export interface HubspotListCompaniesParams {
    limit?: number;

hubspot_get_company

Get company

export interface HubspotGetCompanyParams {
    company_id: string;

hubspot_create_company

Create company

export interface HubspotCreateCompanyParams {
    name?: string;

hubspot_update_company

Update company

export interface HubspotUpdateCompanyParams {
    company_id: string;

hubspot_delete_company

Delete company

export interface HubspotDeleteCompanyParams {
    company_id: string;

hubspot_list_deals

List deals

export interface HubspotListDealsParams {
    limit?: number;

hubspot_get_deal

Get deal

export interface HubspotGetDealParams {
    deal_id: string;

hubspot_create_deal

Create deal

export interface HubspotCreateDealParams {
    dealname?: string;

hubspot_update_deal

Update deal

export interface HubspotUpdateDealParams {
    deal_id: string;

hubspot_delete_deal

Delete deal

export interface HubspotDeleteDealParams {
    deal_id: string;

hubspot_list_tickets

List tickets

export interface HubspotListTicketsParams {
    limit?: number;

hubspot_get_ticket

Get ticket

export interface HubspotGetTicketParams {
    ticket_id: string;

hubspot_create_ticket

Create ticket

export interface HubspotCreateTicketParams {
    subject: string;

hubspot_update_ticket

Update ticket

export interface HubspotUpdateTicketParams {
    ticket_id: string;

hubspot_delete_ticket

Delete ticket

export interface HubspotDeleteTicketParams {
    ticket_id: string;

hubspot_search_crm

Search crm

export interface HubspotSearchCrmParams {
    object_type: string;

hubspot_create_note

Create note

export interface HubspotCreateNoteParams {
    body: string;

hubspot_create_task

Create task

export interface HubspotCreateTaskParams {
    subject: string;

hubspot_list_owners

List owners

export interface HubspotListOwnersParams {
    limit?: number;

hubspot_get_owner

Get owner

export interface HubspotGetOwnerParams {
    owner_id: string;

hubspot_list_pipelines

List pipelines

export interface HubspotListPipelinesParams {
    object_type: string;

hubspot_list_pipeline_stages

List pipeline stages

export interface HubspotListPipelineStagesParams {
    object_type: string;

hubspot_create_association

Create association

export interface HubspotCreateAssociationParams {
    from_object_type: string;

Notes

  • Category: Business
  • Authentication mode: OAuth