home / skills / abdullahbeam / nexus-design-abdullah / hubspot-create-company

hubspot-create-company skill

/00-system/skills/hubspot/hubspot-create-company

This skill creates a new HubSpot company using provided name and optional domain, industry, and city to streamline CRM onboarding.

npx playbooks add skill abdullahbeam/nexus-design-abdullah --skill hubspot-create-company

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
1.9 KB
---
name: hubspot-create-company
description: "Create a new company in HubSpot CRM. Load when user says 'create company', 'add company', 'new company'. Requires name, optional domain, industry, city."
---

# Create HubSpot Company

**Specialized skill** for creating companies in HubSpot CRM.

## Pre-Flight Check

Before running, execute config check:
```bash
python 00-system/skills/hubspot/hubspot-master/scripts/check_hubspot_config.py --json
```

If `ai_action` is not `proceed_with_operation`, follow hubspot-connect setup guide.

---

## Usage

### Required Parameters
- `--name` - Company name (required)

### Optional Parameters
- `--domain` - Company website domain
- `--industry` - Industry type
- `--city` - City location
- `--phone` - Company phone

### Examples

**Minimal (name only):**
```bash
python 00-system/skills/hubspot/hubspot-master/scripts/create_company.py \
  --name "Acme Corp" \
  --json
```

**Full company:**
```bash
python 00-system/skills/hubspot/hubspot-master/scripts/create_company.py \
  --name "Acme Corp" \
  --domain "acme.com" \
  --industry "Technology" \
  --city "San Francisco" \
  --json
```

---

## Output Format

```json
{
  "id": "6493611979",
  "properties": {
    "name": "Acme Corp",
    "domain": "acme.com",
    "industry": "Technology",
    "createdate": "2025-12-13T10:00:00Z"
  }
}
```

---

## Display Format

```
āœ… Company created!
  ID: 6493611979
  Name: Acme Corp
  Domain: acme.com
  Industry: Technology
  City: San Francisco
```

---

## Error Handling

| Error | Solution |
|-------|----------|
| 401 | Invalid token - re-run setup |
| 403 | Missing `crm.objects.companies.write` scope |
| 409 | Company may already exist - search first |
| 429 | Rate limited - wait and retry |

---

## Related Skills

- `hubspot-list-companies` - List all companies
- `hubspot-search-companies` - Find existing companies
- `hubspot-get-associations` - Link contacts to company

Overview

This skill creates a new company record in HubSpot CRM when you say phrases like "create company", "add company", or "new company". It requires a company name and accepts optional fields such as domain, industry, city, and phone. The skill returns the new company ID and key properties after creation. It includes preflight checks to confirm HubSpot configuration and permissions before proceeding.

How this skill works

The skill validates that HubSpot credentials and required API scopes are configured, then submits a create request to the HubSpot Companies API with the provided fields. On success it returns the created company ID and the populated properties (name, domain, industry, created date, etc.). On failure it surfaces common HTTP error conditions and guidance for remediation.

When to use it

  • Add a new customer or account to HubSpot CRM from a chat or automation.
  • Quickly capture a lead company with minimal details (name + optional domain).
  • Create company records before linking contacts or deals.
  • Automate bulk creation workflows when you have standardized data.
  • Create test companies in a sandbox environment for QA.

Best practices

  • Always run the preflight config check to confirm credentials and required scopes before creating records.
  • Search for an existing company first to avoid duplicates (handle 409 Conflict responses).
  • Provide the domain when available to improve deduplication and enrichment.
  • Handle rate limits (429) by retrying with exponential backoff.
  • Ensure the integration has crm.objects.companies.write scope to avoid 403 errors.

Example use cases

  • Create a minimal company with only a name during a discovery call.
  • Add a prospect record with name, domain, industry, and city from a lead capture form.
  • Automate company creation as part of onboarding when signing a new client.
  • Create sample companies in a test account to validate CRM automations.
  • Integrate with other systems to sync newly approved accounts into HubSpot.

FAQ

What fields are required?

Only the company name is required. Domain, industry, city, and phone are optional but recommended when available.

What if I get a 409 Conflict?

A 409 usually means a matching company already exists. Search existing companies first or handle duplicates according to your rules.

What permissions are needed?

The integration must have crm.objects.companies.write scope and valid HubSpot credentials to create companies.

How are rate limits handled?

If you receive a 429 rate limit response, wait and retry using exponential backoff; batch or throttle requests when creating many records.