HubSpot Company Management
Overview
Companies in HubSpot represent organizations -- MSP clients, prospects, vendors, or partners. Companies are a central entity in the CRM that ties together contacts (the people who work there), deals (sales opportunities), and tickets (support requests). For MSPs, companies typically represent managed clients, each with associated contacts, service agreements, and support history. HubSpot can automatically associate contacts with companies based on email domain matching.
Anti-triggers
- A named person at the organization — use
hubspot-contacts.
- The revenue opportunity with that organization — amount, stage, and
close date live on a deal, not the company; use
hubspot-deals.
- The organization as a billing entity — HubSpot companies hold no AR
balance; use
xero-contacts or qbo-customers.
- Companies seen visiting the website but not yet in the CRM — use
warmly-visitor-intelligence.
MCP Tools
Available Tools
| Tool |
Description |
Key Parameters |
hubspot_retrieve_company |
Get a single company by ID |
companyId (required) |
hubspot_create_company |
Create a new company |
name (required), domain, industry, phone |
hubspot_update_company |
Update an existing company |
companyId (required), property fields to update |
hubspot_list_company_properties |
List all available company properties |
None |
hubspot_search_companies |
Search companies by criteria |
filterGroups, sorts, limit, after |
Search Companies
Call hubspot_search_companies with filter groups to find companies:
Search by name:
{
"filterGroups": [
{
"filters": [
{
"propertyName": "name",
"operator": "CONTAINS_TOKEN",
"value": "Acme"
}
]
}
],
"limit": 100
}
Search by domain:
{
"filterGroups": [
{
"filters": [
{
"propertyName": "domain",
"operator": "EQ",
"value": "acmecorp.com"
}
]
}
]
}
Search by industry:
{
"filterGroups": [
{
"filters": [
{
"propertyName": "industry",
"operator": "EQ",
"value": "INFORMATION_TECHNOLOGY_AND_SERVICES"
}
]
}
],
"sorts": [
{
"propertyName": "name",
"direction": "ASCENDING"
}
],
"limit": 100
}
Search by lifecycle stage (find all customers):
{
"filterGroups": [
{
"filters": [
{
"propertyName": "lifecyclestage",
"operator": "EQ",
"value": "customer"
}
]
}
],
"limit": 100
}
Create a Company
Call hubspot_create_company with the company's properties:
Example: Create a new managed client:
name: Acme Corporation
domain: acmecorp.com
industry: INFORMATION_TECHNOLOGY_AND_SERVICES
phone: 555-123-4567
city: Springfield
state: Illinois
country: United States
numberofemployees: 150
annualrevenue: 25000000
lifecyclestage: customer
Update a Company
Call hubspot_update_company with the companyId and the properties to change:
Example: Update lifecycle stage and employee count:
companyId: 98765
lifecyclestage: customer
numberofemployees: 175
Retrieve a Company
Call hubspot_retrieve_company with the companyId:
Example:
hubspot_retrieve_company with companyId=98765
Key Concepts
Company vs. Contact
In HubSpot's model:
- Company - The organization (e.g., "Acme Corporation")
- Contact - Individual people at the organization (e.g., "John Smith, IT Director")
A company can have many contacts. HubSpot automatically associates contacts with companies based on email domain (e.g., anyone with @acmecorp.com is associated with the company that has domain=acmecorp.com).
Company Lifecycle Stages
Companies share lifecycle stages with contacts:
| Stage |
Description |
MSP Context |
subscriber |
Signed up for updates |
Company on mailing list |
lead |
Expressed interest |
Requested an MSP consultation |
marketingqualifiedlead |
Marketing qualified |
Meets ideal client profile |
salesqualifiedlead |
Sales qualified |
Budget, authority, need confirmed |
opportunity |
Active opportunity |
Proposal sent or in negotiation |
customer |
Paying customer |
Under managed services agreement |
evangelist |
Advocate |
Actively refers new business |
other |
Custom stage |
Does not fit standard stages |
Domain-Based Deduplication
HubSpot uses the domain property to prevent duplicate company records. When creating a company, always set the domain -- HubSpot will warn if a company with that domain already exists.
Field Reference
Core Fields
| Field |
Type |
Description |
name |
string |
Company name |
domain |
string |
Primary website domain (e.g., acmecorp.com) |
industry |
enumeration |
Industry classification |
phone |
string |
Phone number |
address |
string |
Street address |
address2 |
string |
Address line 2 |
city |
string |
City |
state |
string |
State or region |
zip |
string |
Postal code |
country |
string |
Country |
website |
string |
Company website URL |
numberofemployees |
number |
Employee count |
annualrevenue |
number |
Annual revenue |
lifecyclestage |
enumeration |
Lifecycle stage |
hubspot_owner_id |
number |
Assigned owner (user ID) |
description |
string |
Company description |
founded_year |
string |
Year founded |
type |
enumeration |
Company type (Prospect, Partner, Reseller, Vendor, Other) |
createdate |
datetime |
Record creation date |
lastmodifieddate |
datetime |
Last modification date |
notes_last_updated |
datetime |
Last note timestamp |
num_associated_contacts |
number |
Number of associated contacts |
num_associated_deals |
number |
Number of associated deals |
hs_num_open_deals |
number |
Number of open deals |
total_revenue |
number |
Total revenue from closed deals |
Industry Values
Common industry values for MSP clients:
| Value |
Display Name |
ACCOUNTING |
Accounting |
CONSTRUCTION |
Construction |
EDUCATION_MANAGEMENT |
Education Management |
FINANCIAL_SERVICES |
Financial Services |
HEALTH_WELLNESS_AND_FITNESS |
Health, Wellness and Fitness |
HOSPITAL_HEALTH_CARE |
Hospital & Health Care |
INFORMATION_TECHNOLOGY_AND_SERVICES |
Information Technology and Services |
INSURANCE |
Insurance |
LAW_PRACTICE |
Law Practice |
MANUFACTURING |
Manufacturing |
NONPROFIT_ORGANIZATION_MANAGEMENT |
Nonprofit Organization Management |
REAL_ESTATE |
Real Estate |
RETAIL |
Retail |
Common Workflows
Find a Company by Name or Domain
- Call
hubspot_search_companies with a filter on name using CONTAINS_TOKEN or on domain using EQ
- Review the results and note the
id for further operations
- If not found by name, try searching by domain
Create a New Managed Client
- Check for duplicates - Search by domain first using
hubspot_search_companies
- Create the company - Call
hubspot_create_company with name, domain, industry, address, employee count, and lifecyclestage=customer
- Create contacts - Add the primary contact using
hubspot_create_contact
- Associate contacts - Call
hubspot_create_association to link contacts to the company
- Log setup note - Call
hubspot_create_note to document the onboarding
Company Audit Report
- Call
hubspot_search_companies with lifecyclestage=customer and limit=100
- Paginate through all results using the
after cursor
- For each company, call
hubspot_access_associations to get associated contacts and deals
- Build a report with company name, domain, industry, employee count, contact count, open deal count, and last activity date
- Flag companies with no contacts, no recent activity, or missing domain
Look Up Company with Associated Records
- Search for the company by name or domain
- Call
hubspot_access_associations with objectType=company, objectId=<companyId>, toObjectType=contact to get contacts
- Call
hubspot_access_associations with toObjectType=deal to get deals
- Call
hubspot_access_associations with toObjectType=ticket to get tickets
- Present a complete company profile with all associated records
Client Portfolio Review
- Call
hubspot_search_companies with lifecyclestage=customer, sorted by annualrevenue descending
- For each company, note revenue, industry, and employee count
- Calculate total portfolio revenue and average company size
- Identify growth opportunities (companies with no open deals)
Response Examples
Single Company:
{
"id": "98765",
"properties": {
"name": "Acme Corporation",
"domain": "acmecorp.com",
"industry": "INFORMATION_TECHNOLOGY_AND_SERVICES",
"phone": "555-123-4567",
"city": "Springfield",
"state": "Illinois",
"country": "United States",
"numberofemployees": "150",
"annualrevenue": "25000000",
"lifecyclestage": "customer",
"hubspot_owner_id": "67890",
"createdate": "2025-03-10T08:00:00.000Z",
"lastmodifieddate": "2026-02-15T16:30:00.000Z",
"num_associated_contacts": "12",
"num_associated_deals": "3"
},
"createdAt": "2025-03-10T08:00:00.000Z",
"updatedAt": "2026-02-15T16:30:00.000Z"
}
Error Handling
Common Errors
| Error |
Cause |
Resolution |
| Company not found |
Invalid company ID |
Verify the ID with hubspot_search_companies |
| Duplicate domain |
Company with this domain already exists |
Search by domain first to find the existing record |
| Invalid property |
Property name not recognized |
Use hubspot_list_company_properties to check available properties |
| Invalid industry |
Industry value not valid |
Use hubspot_list_company_properties to see allowed industry values |
| Rate limited |
Too many requests |
Wait 10 seconds and retry |
Best Practices
- Always set domain - The domain field enables automatic contact-company association and deduplication
- Use lifecycle stages - Track companies through your MSP's sales pipeline
- Set industry - Categorize companies by industry for better segmentation and reporting
- Assign owners - Set
hubspot_owner_id to assign an account manager to each client
- Track employee count and revenue - Keep these fields updated for client sizing and prioritization
- Associate all contacts - Ensure every contact at a client company is linked to the company record
- Audit quarterly - Review company records for completeness and accuracy
- Use company type - Set the
type field (Prospect, Partner, Vendor, etc.) for clear categorization
- Standardize naming - Use consistent company naming conventions across HubSpot and your PSA
Related Skills
1---2name: hubspot-companies3description: HubSpot company records: core fields, industry classification values, lifecycle stages, domain-based deduplication and automatic contact-company matching, and cross-referencing associated contacts, deals, and tickets.4---56# HubSpot Company Management78## Overview910Companies in HubSpot represent organizations -- MSP clients, prospects, vendors, or partners. Companies are a central entity in the CRM that ties together contacts (the people who work there), deals (sales opportunities), and tickets (support requests). For MSPs, companies typically represent managed clients, each with associated contacts, service agreements, and support history. HubSpot can automatically associate contacts with companies based on email domain matching.1112## Anti-triggers1314- **A named person at the organization** — use `hubspot-contacts`.15- **The revenue opportunity with that organization** — amount, stage, and16 close date live on a deal, not the company; use `hubspot-deals`.17- **The organization as a billing entity** — HubSpot companies hold no AR18 balance; use `xero-contacts` or `qbo-customers`.19- **Companies seen visiting the website but not yet in the CRM** — use20 `warmly-visitor-intelligence`.2122## MCP Tools2324### Available Tools2526| Tool | Description | Key Parameters |27|------|-------------|----------------|28| `hubspot_retrieve_company` | Get a single company by ID | `companyId` (required) |29| `hubspot_create_company` | Create a new company | `name` (required), `domain`, `industry`, `phone` |30| `hubspot_update_company` | Update an existing company | `companyId` (required), property fields to update |31| `hubspot_list_company_properties` | List all available company properties | None |32| `hubspot_search_companies` | Search companies by criteria | `filterGroups`, `sorts`, `limit`, `after` |3334### Search Companies3536Call `hubspot_search_companies` with filter groups to find companies:3738**Search by name:**3940```json41{42 "filterGroups": [43 {44 "filters": [45 {46 "propertyName": "name",47 "operator": "CONTAINS_TOKEN",48 "value": "Acme"49 }50 ]51 }52 ],53 "limit": 10054}55```5657**Search by domain:**5859```json60{61 "filterGroups": [62 {63 "filters": [64 {65 "propertyName": "domain",66 "operator": "EQ",67 "value": "acmecorp.com"68 }69 ]70 }71 ]72}73```7475**Search by industry:**7677```json78{79 "filterGroups": [80 {81 "filters": [82 {83 "propertyName": "industry",84 "operator": "EQ",85 "value": "INFORMATION_TECHNOLOGY_AND_SERVICES"86 }87 ]88 }89 ],90 "sorts": [91 {92 "propertyName": "name",93 "direction": "ASCENDING"94 }95 ],96 "limit": 10097}98```99100**Search by lifecycle stage (find all customers):**101102```json103{104 "filterGroups": [105 {106 "filters": [107 {108 "propertyName": "lifecyclestage",109 "operator": "EQ",110 "value": "customer"111 }112 ]113 }114 ],115 "limit": 100116}117```118119### Create a Company120121Call `hubspot_create_company` with the company's properties:122123**Example: Create a new managed client:**124- `name`: `Acme Corporation`125- `domain`: `acmecorp.com`126- `industry`: `INFORMATION_TECHNOLOGY_AND_SERVICES`127- `phone`: `555-123-4567`128- `city`: `Springfield`129- `state`: `Illinois`130- `country`: `United States`131- `numberofemployees`: `150`132- `annualrevenue`: `25000000`133- `lifecyclestage`: `customer`134135### Update a Company136137Call `hubspot_update_company` with the `companyId` and the properties to change:138139**Example: Update lifecycle stage and employee count:**140- `companyId`: `98765`141- `lifecyclestage`: `customer`142- `numberofemployees`: `175`143144### Retrieve a Company145146Call `hubspot_retrieve_company` with the `companyId`:147148**Example:**149- `hubspot_retrieve_company` with `companyId=98765`150151## Key Concepts152153### Company vs. Contact154155In HubSpot's model:156157- **Company** - The organization (e.g., "Acme Corporation")158- **Contact** - Individual people at the organization (e.g., "John Smith, IT Director")159160A company can have many contacts. HubSpot automatically associates contacts with companies based on email domain (e.g., anyone with `@acmecorp.com` is associated with the company that has `domain=acmecorp.com`).161162### Company Lifecycle Stages163164Companies share lifecycle stages with contacts:165166| Stage | Description | MSP Context |167|-------|-------------|-------------|168| `subscriber` | Signed up for updates | Company on mailing list |169| `lead` | Expressed interest | Requested an MSP consultation |170| `marketingqualifiedlead` | Marketing qualified | Meets ideal client profile |171| `salesqualifiedlead` | Sales qualified | Budget, authority, need confirmed |172| `opportunity` | Active opportunity | Proposal sent or in negotiation |173| `customer` | Paying customer | Under managed services agreement |174| `evangelist` | Advocate | Actively refers new business |175| `other` | Custom stage | Does not fit standard stages |176177### Domain-Based Deduplication178179HubSpot uses the `domain` property to prevent duplicate company records. When creating a company, always set the domain -- HubSpot will warn if a company with that domain already exists.180181## Field Reference182183### Core Fields184185| Field | Type | Description |186|-------|------|-------------|187| `name` | string | Company name |188| `domain` | string | Primary website domain (e.g., `acmecorp.com`) |189| `industry` | enumeration | Industry classification |190| `phone` | string | Phone number |191| `address` | string | Street address |192| `address2` | string | Address line 2 |193| `city` | string | City |194| `state` | string | State or region |195| `zip` | string | Postal code |196| `country` | string | Country |197| `website` | string | Company website URL |198| `numberofemployees` | number | Employee count |199| `annualrevenue` | number | Annual revenue |200| `lifecyclestage` | enumeration | Lifecycle stage |201| `hubspot_owner_id` | number | Assigned owner (user ID) |202| `description` | string | Company description |203| `founded_year` | string | Year founded |204| `type` | enumeration | Company type (Prospect, Partner, Reseller, Vendor, Other) |205| `createdate` | datetime | Record creation date |206| `lastmodifieddate` | datetime | Last modification date |207| `notes_last_updated` | datetime | Last note timestamp |208| `num_associated_contacts` | number | Number of associated contacts |209| `num_associated_deals` | number | Number of associated deals |210| `hs_num_open_deals` | number | Number of open deals |211| `total_revenue` | number | Total revenue from closed deals |212213### Industry Values214215Common industry values for MSP clients:216217| Value | Display Name |218|-------|-------------|219| `ACCOUNTING` | Accounting |220| `CONSTRUCTION` | Construction |221| `EDUCATION_MANAGEMENT` | Education Management |222| `FINANCIAL_SERVICES` | Financial Services |223| `HEALTH_WELLNESS_AND_FITNESS` | Health, Wellness and Fitness |224| `HOSPITAL_HEALTH_CARE` | Hospital & Health Care |225| `INFORMATION_TECHNOLOGY_AND_SERVICES` | Information Technology and Services |226| `INSURANCE` | Insurance |227| `LAW_PRACTICE` | Law Practice |228| `MANUFACTURING` | Manufacturing |229| `NONPROFIT_ORGANIZATION_MANAGEMENT` | Nonprofit Organization Management |230| `REAL_ESTATE` | Real Estate |231| `RETAIL` | Retail |232233## Common Workflows234235### Find a Company by Name or Domain2362371. Call `hubspot_search_companies` with a filter on `name` using `CONTAINS_TOKEN` or on `domain` using `EQ`2382. Review the results and note the `id` for further operations2393. If not found by name, try searching by domain240241### Create a New Managed Client2422431. **Check for duplicates** - Search by domain first using `hubspot_search_companies`2442. **Create the company** - Call `hubspot_create_company` with name, domain, industry, address, employee count, and `lifecyclestage=customer`2453. **Create contacts** - Add the primary contact using `hubspot_create_contact`2464. **Associate contacts** - Call `hubspot_create_association` to link contacts to the company2475. **Log setup note** - Call `hubspot_create_note` to document the onboarding248249### Company Audit Report2502511. Call `hubspot_search_companies` with `lifecyclestage=customer` and `limit=100`2522. Paginate through all results using the `after` cursor2533. For each company, call `hubspot_access_associations` to get associated contacts and deals2544. Build a report with company name, domain, industry, employee count, contact count, open deal count, and last activity date2555. Flag companies with no contacts, no recent activity, or missing domain256257### Look Up Company with Associated Records2582591. Search for the company by name or domain2602. Call `hubspot_access_associations` with `objectType=company`, `objectId=<companyId>`, `toObjectType=contact` to get contacts2613. Call `hubspot_access_associations` with `toObjectType=deal` to get deals2624. Call `hubspot_access_associations` with `toObjectType=ticket` to get tickets2635. Present a complete company profile with all associated records264265### Client Portfolio Review2662671. Call `hubspot_search_companies` with `lifecyclestage=customer`, sorted by `annualrevenue` descending2682. For each company, note revenue, industry, and employee count2693. Calculate total portfolio revenue and average company size2704. Identify growth opportunities (companies with no open deals)271272## Response Examples273274**Single Company:**275276```json277{278 "id": "98765",279 "properties": {280 "name": "Acme Corporation",281 "domain": "acmecorp.com",282 "industry": "INFORMATION_TECHNOLOGY_AND_SERVICES",283 "phone": "555-123-4567",284 "city": "Springfield",285 "state": "Illinois",286 "country": "United States",287 "numberofemployees": "150",288 "annualrevenue": "25000000",289 "lifecyclestage": "customer",290 "hubspot_owner_id": "67890",291 "createdate": "2025-03-10T08:00:00.000Z",292 "lastmodifieddate": "2026-02-15T16:30:00.000Z",293 "num_associated_contacts": "12",294 "num_associated_deals": "3"295 },296 "createdAt": "2025-03-10T08:00:00.000Z",297 "updatedAt": "2026-02-15T16:30:00.000Z"298}299```300301## Error Handling302303### Common Errors304305| Error | Cause | Resolution |306|-------|-------|------------|307| Company not found | Invalid company ID | Verify the ID with `hubspot_search_companies` |308| Duplicate domain | Company with this domain already exists | Search by domain first to find the existing record |309| Invalid property | Property name not recognized | Use `hubspot_list_company_properties` to check available properties |310| Invalid industry | Industry value not valid | Use `hubspot_list_company_properties` to see allowed industry values |311| Rate limited | Too many requests | Wait 10 seconds and retry |312313## Best Practices3143151. **Always set domain** - The domain field enables automatic contact-company association and deduplication3162. **Use lifecycle stages** - Track companies through your MSP's sales pipeline3173. **Set industry** - Categorize companies by industry for better segmentation and reporting3184. **Assign owners** - Set `hubspot_owner_id` to assign an account manager to each client3195. **Track employee count and revenue** - Keep these fields updated for client sizing and prioritization3206. **Associate all contacts** - Ensure every contact at a client company is linked to the company record3217. **Audit quarterly** - Review company records for completeness and accuracy3228. **Use company type** - Set the `type` field (Prospect, Partner, Vendor, etc.) for clear categorization3239. **Standardize naming** - Use consistent company naming conventions across HubSpot and your PSA324325## Related Skills326327- [HubSpot API Patterns](../api-patterns/SKILL.md) - MCP tools reference and connection info328- [HubSpot Contacts](../contacts/SKILL.md) - Contacts associated with companies329- [HubSpot Deals](../deals/SKILL.md) - Deals associated with companies330- [HubSpot Tickets](../tickets/SKILL.md) - Support tickets for companies331- [HubSpot Activities](../activities/SKILL.md) - Notes, tasks, and engagement tracking