WebsitePlatform Login

HubSpot Integration

Manage contacts, companies, tickets and conversations in HubSpot

The HubSpot MCP server enables seamless integration with your HubSpot CRM. Manage contacts, companies, tickets and access conversations - all directly from your assistant.

Setup

Prerequisites

  • A HubSpot account (Professional or Enterprise)
  • Super Admin permissions or the App Marketplace Access permission in your HubSpot account
  • Organization Admin permissions in meinGPT (to configure integrations)

Not sure if you have the right permissions? Ask your HubSpot admin — you can check your permissions under Settings → Users & Teams.

Step-by-Step Guide

Create a Private App in HubSpot

  1. Log into your HubSpot account
  2. Click the gear icon (⚙️ Settings) in the top-right corner
  3. In the left sidebar, navigate to Integrations → Private Apps
  4. Click Create a private app

HubSpot Settings: Private Apps page

Button "Create a private app"

Fill in the basic information:

  • App name: e.g. meinGPT Integration (freely chosen — only used for internal reference)
  • Description: e.g. Connection between meinGPT and HubSpot CRM (optional)
  • Logo: optional, helps with identification

Create Private App: Basic information

Configure Scopes (Permissions)

Switch to the Scopes tab in the creation dialog. This is where you define what HubSpot data meinGPT can access.

Use the search field to find and enable the required scopes.

Scopes tab with search field

Option A: Minimal Read-Only Access

If you only want to read data from HubSpot (no creating/editing):

ScopeDescription
crm.objects.contacts.readRead contacts
crm.objects.companies.readRead companies
crm.objects.deals.readRead deals
crm.objects.owners.readRead owner information
conversations.readRead conversations
filesRead/search files

For full functionality including creating and editing CRM objects:

ScopeDescription
crm.objects.contacts.readRead contacts
crm.objects.contacts.writeCreate/edit contacts
crm.objects.companies.readRead companies
crm.objects.companies.writeCreate/edit companies
crm.objects.deals.readRead deals
crm.objects.deals.writeCreate/edit deals
crm.objects.owners.readRead owner information
conversations.readRead conversations
filesRead/search files

Optional Scopes

Depending on your needs, you can additionally enable:

ScopeDescription
ticketsTicket management
sales-email-readRead email objects (for generic CRM search)

You can always add more scopes later. Feel free to start with fewer permissions and expand as needed — you'll just need to generate a new token.

Create the App and Copy the Access Token

  1. Click Create app
  2. Confirm in the dialog that you want to create the app
  3. Your Access Token is now displayed — copy it immediately!

Access Token after creation

Important: The Access Token is only shown once! Copy it now and save it somewhere safe. If you lose the token, you'll need to generate a new one under Private Apps → Your App → Auth.

Connect HubSpot in meinGPT

  1. Open meinGPT and navigate to Settings → Integrations (you need org admin permissions)
  2. Find HubSpot in the connector list and enable the integration
  3. Paste the copied Access Token into the HubSpot Access Token field
  4. The connection is automatically tested — a green checkmark confirms everything is working

Connect HubSpot in meinGPT

Enable HubSpot for Assistants

  1. Open the Assistant Editor for the desired assistant
  2. Scroll to the Tools section
  3. Enable the HubSpot tool
  4. Optional: Configure method-level access (e.g. enable only read methods)

Your assistant can now access HubSpot data! Try it with something like: "Show me the last 5 active contacts from HubSpot"

Scope Profiles (When do you need what?)

Use caseRequired scopes
Base CRM Read (owners + search/retrieve contacts/companies/deals)crm.objects.owners.read, crm.objects.contacts.read, crm.objects.companies.read, crm.objects.deals.read
CRM Write (create contact/company/deal)crm.objects.contacts.write, crm.objects.companies.write, crm.objects.deals.write
Conversations (hubspot_get_recent_conversations)conversations.read
Files (hubspot_search_files, hubspot_get_file)files
Ticket workflows (hubspot_get_tickets, ticket pipelines/threads)tickets (account/feature dependent)
Generic search for additional objectsobject-specific scopes from HubSpot endpoint docs (for emails: sales-email-read)

Method-to-Scope Mapping

MethodScopes
hubspot_get_ownerscrm.objects.owners.read
hubspot_get_active_contactscrm.objects.contacts.read
hubspot_create_contactcrm.objects.contacts.write
hubspot_get_active_companiescrm.objects.companies.read
hubspot_create_companycrm.objects.companies.write
hubspot_get_dealscrm.objects.deals.read
hubspot_create_dealcrm.objects.deals.write
hubspot_search_crm_objectsobject-specific scopes from endpoint docs (for emails: sales-email-read)
hubspot_retrieve_crm_objectobject-specific scopes from endpoint docs
hubspot_get_recent_conversationsconversations.read
hubspot_search_filesfiles
hubspot_get_filefiles
hubspot_get_tickets, hubspot_get_ticket_conversation_threads, ticket pipelinestickets (HubSpot setup dependent)

Main Features

Company Management

  • hubspot_create_company: Creates a new company with name, domain and other properties
  • hubspot_get_company_activity: Shows the activity history of a company
  • hubspot_get_active_companies: Lists recently active companies

Contact Management

  • hubspot_create_contact: Creates a new contact with email, name and other details
  • hubspot_get_active_contacts: Shows recently active contacts

Generic Search & Retrieve

  • hubspot_search_crm_objects: Generic CRM search (contacts, companies, deals, notes, tasks, calls, meetings, emails)
  • hubspot_retrieve_crm_object: Retrieve one CRM object by ID including optional associations

File Access

  • hubspot_search_files: Search HubSpot files metadata
  • hubspot_get_file: Retrieve file metadata and signed URL

Conversations

  • hubspot_get_recent_conversations: Retrieves recent conversation threads with messages
    • Supports filtering by time period
    • Includes complete message history

Ticket Management

  • hubspot_get_tickets: Lists tickets with extensive filtering options
    • Filter by status, priority, pipeline
    • Sorting and pagination
  • hubspot_get_ticket_conversation_threads: Shows all conversations for a specific ticket

Usage Examples

Create New Contact

Create a new contact in HubSpot:
- Email: max.mustermann@example.com
- First Name: Max
- Last Name: Mustermann
- Company: Example GmbH

Retrieve Company with Activities

Show me the recent activities of the company "Example GmbH" in HubSpot

Display Open Support Tickets

List all open support tickets with high priority

Search Conversations

Show me all conversations from the last 7 days

Retrieve CRM Object

Find the latest deal for company "Example GmbH" and return the deal details by ID

Search and Load Files

Search HubSpot files for "invoice" and return the signed download URL of the latest result

Best Practices

Security

  1. Token Management: Never store your access token in code
  2. Regular Rotation: Renew tokens regularly
  3. Minimal Permissions: Only activate required scopes
  4. Activity Monitoring: Regularly check app logs in HubSpot

Performance

  • Use pagination for large data sets
  • Implement caching for frequently accessed data
  • Observe HubSpot's API rate limits (100 requests/10 seconds)

Data Quality

  • Validate email addresses before creating contacts
  • Use meaningful ticket descriptions
  • Keep company and contact data up to date

Troubleshooting

Token Not Accepted (401 Unauthorized)

  • Make sure you copied the token correctly (no leading/trailing spaces)
  • Check if the token is still valid — under Settings → Integrations → Private Apps in HubSpot
  • If the token was revoked, generate a new one in your Private App

Missing Permissions (403 Forbidden)

  • A specific HubSpot function returns a 403 error? You're probably missing a scope.
  • Open your Private App in HubSpot and check the enabled scopes
  • Add the missing scope and generate a new token
  • Update the token in meinGPT under Settings → Integrations

Token Lost or Expired

  • In HubSpot, navigate to Settings → Integrations → Private Apps
  • Select your app and go to the Auth tab
  • Click Show token or generate a new one
  • Update the token in meinGPT

Rate Limit (429 Too Many Requests)

  • HubSpot allows 100 requests per 10 seconds
  • Reduce the number of concurrent requests
  • Use pagination and batch operations where possible

Additional Resources

Revoking Token

If you need to revoke access:

Navigate to: Settings → Integrations → Private Apps

Select your app

Click "Delete App" or generate a new token

Revoking or renewing the token immediately interrupts all existing integrations.

On this page