Hubspot Suite

v1.2.0

Comprehensive HubSpot CRM, Marketing, Sales, Service, and CMS management suite. Covers all HubSpot APIs: CRM objects (contacts, companies, deals, tickets, cu...

0· 544·0 current·0 all-time
MIT-0
Download zip
LicenseMIT-0 · Free to use, modify, and redistribute. No attribution required.
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description (full HubSpot suite) align with the artifacts: many reference docs and shell scripts that call HubSpot APIs. The only required environment variable (HUBSPOT_ACCESS_TOKEN) is appropriate for the stated purpose.
Instruction Scope
SKILL.md and reference docs instruct use of curl, the HubSpot CLI, and the included scripts to interact with HubSpot endpoints. Actions described (imports, exports, associations, reporting) are within the expected scope; instructions do not request unrelated files, credentials, or external endpoints beyond HubSpot or normal developer tooling.
Install Mechanism
There is no formal install spec (instruction-only + shippped scripts). The README suggests optionally installing the HubSpot CLI via npm (normal for HubSpot dev tooling). Because scripts live in the package, users should review them before running — no archive downloads or remote installers are present in the manifest.
Credentials
Only HUBSPOT_ACCESS_TOKEN is declared as required (and listed as primaryCredential). The SKILL.md mentions legacy HUBSPOT_API_KEY and optional .env entries but these are optional/typical and not required by the skill metadata. Requested environment access is proportionate to HubSpot integration tasks.
Persistence & Privilege
always is false and the skill does not request elevated or persistent platform privileges. It does not modify other skills or system-wide settings. Autonomous invocation is allowed by default (normal) but not flagged here because it is not combined with other concerning factors.
Assessment
This appears to be a legitimate HubSpot integration. Before installing or running: 1) Inspect the included scripts (scripts/*.sh) to confirm they only call HubSpot endpoints and local CSV/files you expect. 2) Use a least-privilege HubSpot token (only grant needed scopes) and avoid using a full-admin token for routine tasks; rotate tokens regularly. 3) Do not commit tokens or .env files to source control. 4) When the docs suggest installing the HubSpot CLI via npm, understand that npm will install external code — install only from the official package and review any global installs. 5) Test bulk operations (import/export, merges, deletes) on a sandbox or limited dataset first to avoid accidental data changes. If you want, I can quickly scan the contents of the scripts for commands or network calls you should be aware of.

Like a lobster shell, security has layers — review code before you run it.

latestvk97dta4sj98j3340p9cwy7vpeh81fr40

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

Runtime requirements

EnvHUBSPOT_ACCESS_TOKEN

SKILL.md

HubSpot Suite - Complete CRM & Marketing Platform

The ultimate HubSpot skill covering ALL aspects of the platform: CRM, Marketing, Sales, Service, CMS, and Developer tools.

Quick Start

1. Authentication Setup

# Private App (Recommended)
export HUBSPOT_ACCESS_TOKEN="pat-na1-xxx"  # or pat-eu1-xxx

# Legacy API Key
export HUBSPOT_API_KEY="your-api-key"

See references/auth-setup.md for complete authentication guide including new Developer Platform.

2. Basic API Test

curl -H "Authorization: Bearer $HUBSPOT_ACCESS_TOKEN" \
  "https://api.hubapi.com/crm/v3/objects/contacts?limit=1"

What Do You Want To Do?

CRM Management:

  • references/crm-contacts.md → Create, update, search contacts
  • references/crm-companies.md → Company records, hierarchies
  • references/crm-deals.md → Sales pipeline, deal stages
  • references/crm-tickets.md → Support tickets, SLA management
  • references/crm-custom-objects.md → Custom object schemas

Data & Associations:

  • references/associations.md → Link records (contact→company, deal→contact)
  • references/properties.md → Custom properties, field groups
  • references/data-quality.md → Deduplication, data cleanup
  • references/import-export.md → Bulk data migration

Activities & Automation:

  • references/engagements.md → Log calls, emails, meetings, tasks
  • references/workflows.md → Automation, triggers, enrollment
  • references/pipelines.md → Configure pipelines, stages

Marketing & Sales:

  • references/lists.md → Contact lists, segmentation
  • references/forms.md → Landing page forms
  • references/email-marketing.md → Email campaigns
  • references/conversations.md → Live chat, chatbots

Analytics & Reporting:

  • references/reporting.md → Custom dashboards, KPIs
  • references/webhooks.md → Real-time event notifications

Content & Commerce:

  • references/cms.md → Website pages, blog posts, HubDB
  • references/commerce.md → Products, quotes, invoices

Platform & Development:

  • references/developer-platform.md → HubSpot CLI, custom apps
  • references/owners.md → User management, permissions
  • references/knowledge-base-tips.md → UI navigation, admin tasks

Most Common Workflows

1. Import Contacts from CSV

./scripts/bulk-import.sh contacts contacts.csv

2. Find & Merge Duplicate Contacts

./scripts/find-duplicates.sh contacts email
./scripts/merge-records.sh contacts ID1 ID2

3. Create Deal with Associations

# Create deal
curl -X POST "https://api.hubapi.com/crm/v3/objects/deals" \
  -H "Authorization: Bearer $HUBSPOT_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "properties": {
      "dealname": "Big Deal",
      "amount": "50000",
      "dealstage": "qualifiedtobuy"
    }
  }'

# Associate to contact (type 3 = deal→contact)
curl -X PUT "https://api.hubapi.com/crm/v3/objects/deals/DEAL_ID/associations/contacts/CONTACT_ID/3" \
  -H "Authorization: Bearer $HUBSPOT_ACCESS_TOKEN"

4. Data Quality Audit

./scripts/data-audit.sh

5. Export Pipeline Report

./scripts/pipeline-report.sh > pipeline_report.csv

6. Log Activity (Call/Email/Meeting)

# Log a sales call
curl -X POST "https://api.hubapi.com/crm/v3/objects/calls" \
  -H "Authorization: Bearer $HUBSPOT_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "properties": {
      "hs_call_title": "Discovery Call",
      "hs_call_duration": "1800000",
      "hs_call_disposition": "Connected"
    },
    "associations": [{
      "to": { "id": "CONTACT_ID" },
      "types": [{ "associationCategory": "HUBSPOT_DEFINED", "associationTypeId": 194 }]
    }]
  }'

Script Usage

All scripts are in scripts/ directory. Make executable first:

chmod +x scripts/*.sh

Universal API Helper:

./scripts/hs-api.sh GET /crm/v3/objects/contacts
./scripts/hs-api.sh POST /crm/v3/objects/companies '{"properties":{"name":"ACME"}}'

Data Management:

./scripts/bulk-import.sh [object-type] [csv-file]
./scripts/bulk-export.sh [object-type] [output-file]
./scripts/find-duplicates.sh [object-type] [property]
./scripts/merge-records.sh [object-type] [primary-id] [duplicate-id]

Reports & Analytics:

./scripts/data-audit.sh > audit-report.txt
./scripts/pipeline-report.sh > pipeline-analysis.csv

API Fundamentals

Rate Limits

  • Private Apps: 100 requests/10 seconds
  • OAuth Apps: 100 requests/10 seconds
  • Search API: 4 requests/second
  • Batch Operations: 100 records max per request

Pagination

All list endpoints use after parameter:

curl "https://api.hubapi.com/crm/v3/objects/contacts?after=12345&limit=100"

Error Handling

  • 429: Rate limit exceeded → Wait and retry
  • 400: Bad request → Check property names/values
  • 401: Authentication failed → Check token/scopes
  • 404: Object not found → Verify ID exists

Common Headers

-H "Authorization: Bearer $HUBSPOT_ACCESS_TOKEN"
-H "Content-Type: application/json"

Batch Operations Pattern

curl -X POST "https://api.hubapi.com/crm/v3/objects/contacts/batch/create" \
  -H "Authorization: Bearer $HUBSPOT_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "inputs": [
      {"properties": {"firstname": "John", "lastname": "Doe"}},
      {"properties": {"firstname": "Jane", "lastname": "Smith"}}
    ]
  }'

Search Filters & Operators

Filter Syntax

{
  "filters": [{
    "propertyName": "email",
    "operator": "EQ",
    "value": "john@example.com"
  }]
}

Operators

  • EQ, NEQ: Equals, not equals
  • LT, LTE, GT, GTE: Less/greater than
  • CONTAINS_TOKEN: Contains word
  • HAS_PROPERTY, NOT_HAS_PROPERTY: Property exists
  • IN, NOT_IN: Value in list
  • BETWEEN: Numeric/date range

Advanced Search Example

curl -X POST "https://api.hubapi.com/crm/v3/objects/contacts/search" \
  -H "Authorization: Bearer $HUBSPOT_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "filters": [{
      "propertyName": "createdate",
      "operator": "GTE", 
      "value": "2024-01-01"
    }],
    "sorts": [{"propertyName": "createdate", "direction": "DESCENDING"}],
    "limit": 100
  }'

Environment Variables

Set these in your shell/environment:

# Required
export HUBSPOT_ACCESS_TOKEN="pat-na1-xxx"  # Private app token

# Optional  
export HUBSPOT_API_KEY="xxx"               # Legacy API key
export HUBSPOT_PORTAL_ID="12345"           # For some API calls
export HUBSPOT_BASE_URL="https://api.hubapi.com"  # Override for testing

Need Help?

  1. API Issues: Check references/rate-limits.md and references/search-filters.md
  2. Authentication: See references/auth-setup.md
  3. UI Tasks: Check references/knowledge-base-tips.md
  4. Data Problems: Use references/data-quality.md
  5. Specific Objects: Find the relevant references/crm-*.md file

This skill covers the entire HubSpot platform. Start with the reference file that matches your task, then use the scripts to automate repetitive operations.

Files

22 total
Select a file
Select a file to preview.

Comments

Loading comments…