{
  "schemaVersion": "1.0",
  "item": {
    "slug": "hubspot-suite",
    "name": "Hubspot Suite",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/Luigi08001/hubspot-suite",
    "canonicalUrl": "https://clawhub.ai/Luigi08001/hubspot-suite",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/hubspot-suite",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=hubspot-suite",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "references/associations.md",
      "references/auth-setup.md",
      "references/crm-companies.md",
      "references/crm-contacts.md",
      "references/crm-deals.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/hubspot-suite"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/hubspot-suite",
    "agentPageUrl": "https://openagent3.xyz/skills/hubspot-suite/agent",
    "manifestUrl": "https://openagent3.xyz/skills/hubspot-suite/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/hubspot-suite/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "HubSpot Suite - Complete CRM & Marketing Platform",
        "body": "The ultimate HubSpot skill covering ALL aspects of the platform: CRM, Marketing, Sales, Service, CMS, and Developer tools."
      },
      {
        "title": "1. Authentication Setup",
        "body": "# Private App (Recommended)\nexport HUBSPOT_ACCESS_TOKEN=\"pat-na1-xxx\"  # or pat-eu1-xxx\n\n# Legacy API Key\nexport HUBSPOT_API_KEY=\"your-api-key\"\n\nSee references/auth-setup.md for complete authentication guide including new Developer Platform."
      },
      {
        "title": "2. Basic API Test",
        "body": "curl -H \"Authorization: Bearer $HUBSPOT_ACCESS_TOKEN\" \\\n  \"https://api.hubapi.com/crm/v3/objects/contacts?limit=1\""
      },
      {
        "title": "What Do You Want To Do?",
        "body": "CRM Management:\n\nreferences/crm-contacts.md → Create, update, search contacts\nreferences/crm-companies.md → Company records, hierarchies\nreferences/crm-deals.md → Sales pipeline, deal stages\nreferences/crm-tickets.md → Support tickets, SLA management\nreferences/crm-custom-objects.md → Custom object schemas\n\nData & Associations:\n\nreferences/associations.md → Link records (contact→company, deal→contact)\nreferences/properties.md → Custom properties, field groups\nreferences/data-quality.md → Deduplication, data cleanup\nreferences/import-export.md → Bulk data migration\n\nActivities & Automation:\n\nreferences/engagements.md → Log calls, emails, meetings, tasks\nreferences/workflows.md → Automation, triggers, enrollment\nreferences/pipelines.md → Configure pipelines, stages\n\nMarketing & Sales:\n\nreferences/lists.md → Contact lists, segmentation\nreferences/forms.md → Landing page forms\nreferences/email-marketing.md → Email campaigns\nreferences/conversations.md → Live chat, chatbots\n\nAnalytics & Reporting:\n\nreferences/reporting.md → Custom dashboards, KPIs\nreferences/webhooks.md → Real-time event notifications\n\nContent & Commerce:\n\nreferences/cms.md → Website pages, blog posts, HubDB\nreferences/commerce.md → Products, quotes, invoices\n\nPlatform & Development:\n\nreferences/developer-platform.md → HubSpot CLI, custom apps\nreferences/owners.md → User management, permissions\nreferences/knowledge-base-tips.md → UI navigation, admin tasks"
      },
      {
        "title": "1. Import Contacts from CSV",
        "body": "./scripts/bulk-import.sh contacts contacts.csv"
      },
      {
        "title": "2. Find & Merge Duplicate Contacts",
        "body": "./scripts/find-duplicates.sh contacts email\n./scripts/merge-records.sh contacts ID1 ID2"
      },
      {
        "title": "3. Create Deal with Associations",
        "body": "# Create deal\ncurl -X POST \"https://api.hubapi.com/crm/v3/objects/deals\" \\\n  -H \"Authorization: Bearer $HUBSPOT_ACCESS_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"properties\": {\n      \"dealname\": \"Big Deal\",\n      \"amount\": \"50000\",\n      \"dealstage\": \"qualifiedtobuy\"\n    }\n  }'\n\n# Associate to contact (type 3 = deal→contact)\ncurl -X PUT \"https://api.hubapi.com/crm/v3/objects/deals/DEAL_ID/associations/contacts/CONTACT_ID/3\" \\\n  -H \"Authorization: Bearer $HUBSPOT_ACCESS_TOKEN\""
      },
      {
        "title": "4. Data Quality Audit",
        "body": "./scripts/data-audit.sh"
      },
      {
        "title": "5. Export Pipeline Report",
        "body": "./scripts/pipeline-report.sh > pipeline_report.csv"
      },
      {
        "title": "6. Log Activity (Call/Email/Meeting)",
        "body": "# Log a sales call\ncurl -X POST \"https://api.hubapi.com/crm/v3/objects/calls\" \\\n  -H \"Authorization: Bearer $HUBSPOT_ACCESS_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"properties\": {\n      \"hs_call_title\": \"Discovery Call\",\n      \"hs_call_duration\": \"1800000\",\n      \"hs_call_disposition\": \"Connected\"\n    },\n    \"associations\": [{\n      \"to\": { \"id\": \"CONTACT_ID\" },\n      \"types\": [{ \"associationCategory\": \"HUBSPOT_DEFINED\", \"associationTypeId\": 194 }]\n    }]\n  }'"
      },
      {
        "title": "Script Usage",
        "body": "All scripts are in scripts/ directory. Make executable first:\n\nchmod +x scripts/*.sh\n\nUniversal API Helper:\n\n./scripts/hs-api.sh GET /crm/v3/objects/contacts\n./scripts/hs-api.sh POST /crm/v3/objects/companies '{\"properties\":{\"name\":\"ACME\"}}'\n\nData Management:\n\n./scripts/bulk-import.sh [object-type] [csv-file]\n./scripts/bulk-export.sh [object-type] [output-file]\n./scripts/find-duplicates.sh [object-type] [property]\n./scripts/merge-records.sh [object-type] [primary-id] [duplicate-id]\n\nReports & Analytics:\n\n./scripts/data-audit.sh > audit-report.txt\n./scripts/pipeline-report.sh > pipeline-analysis.csv"
      },
      {
        "title": "Rate Limits",
        "body": "Private Apps: 100 requests/10 seconds\nOAuth Apps: 100 requests/10 seconds\nSearch API: 4 requests/second\nBatch Operations: 100 records max per request"
      },
      {
        "title": "Pagination",
        "body": "All list endpoints use after parameter:\n\ncurl \"https://api.hubapi.com/crm/v3/objects/contacts?after=12345&limit=100\""
      },
      {
        "title": "Error Handling",
        "body": "429: Rate limit exceeded → Wait and retry\n400: Bad request → Check property names/values\n401: Authentication failed → Check token/scopes\n404: Object not found → Verify ID exists"
      },
      {
        "title": "Common Headers",
        "body": "-H \"Authorization: Bearer $HUBSPOT_ACCESS_TOKEN\"\n-H \"Content-Type: application/json\""
      },
      {
        "title": "Batch Operations Pattern",
        "body": "curl -X POST \"https://api.hubapi.com/crm/v3/objects/contacts/batch/create\" \\\n  -H \"Authorization: Bearer $HUBSPOT_ACCESS_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"inputs\": [\n      {\"properties\": {\"firstname\": \"John\", \"lastname\": \"Doe\"}},\n      {\"properties\": {\"firstname\": \"Jane\", \"lastname\": \"Smith\"}}\n    ]\n  }'"
      },
      {
        "title": "Filter Syntax",
        "body": "{\n  \"filters\": [{\n    \"propertyName\": \"email\",\n    \"operator\": \"EQ\",\n    \"value\": \"john@example.com\"\n  }]\n}"
      },
      {
        "title": "Operators",
        "body": "EQ, NEQ: Equals, not equals\nLT, LTE, GT, GTE: Less/greater than\nCONTAINS_TOKEN: Contains word\nHAS_PROPERTY, NOT_HAS_PROPERTY: Property exists\nIN, NOT_IN: Value in list\nBETWEEN: Numeric/date range"
      },
      {
        "title": "Advanced Search Example",
        "body": "curl -X POST \"https://api.hubapi.com/crm/v3/objects/contacts/search\" \\\n  -H \"Authorization: Bearer $HUBSPOT_ACCESS_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"filters\": [{\n      \"propertyName\": \"createdate\",\n      \"operator\": \"GTE\", \n      \"value\": \"2024-01-01\"\n    }],\n    \"sorts\": [{\"propertyName\": \"createdate\", \"direction\": \"DESCENDING\"}],\n    \"limit\": 100\n  }'"
      },
      {
        "title": "Environment Variables",
        "body": "Set these in your shell/environment:\n\n# Required\nexport HUBSPOT_ACCESS_TOKEN=\"pat-na1-xxx\"  # Private app token\n\n# Optional  \nexport HUBSPOT_API_KEY=\"xxx\"               # Legacy API key\nexport HUBSPOT_PORTAL_ID=\"12345\"           # For some API calls\nexport HUBSPOT_BASE_URL=\"https://api.hubapi.com\"  # Override for testing"
      },
      {
        "title": "Need Help?",
        "body": "API Issues: Check references/rate-limits.md and references/search-filters.md\nAuthentication: See references/auth-setup.md\nUI Tasks: Check references/knowledge-base-tips.md\nData Problems: Use references/data-quality.md\nSpecific Objects: Find the relevant references/crm-*.md file\n\nThis skill covers the entire HubSpot platform. Start with the reference file that matches your task, then use the scripts to automate repetitive operations."
      }
    ],
    "body": "HubSpot Suite - Complete CRM & Marketing Platform\n\nThe ultimate HubSpot skill covering ALL aspects of the platform: CRM, Marketing, Sales, Service, CMS, and Developer tools.\n\nQuick Start\n1. Authentication Setup\n# Private App (Recommended)\nexport HUBSPOT_ACCESS_TOKEN=\"pat-na1-xxx\"  # or pat-eu1-xxx\n\n# Legacy API Key\nexport HUBSPOT_API_KEY=\"your-api-key\"\n\n\nSee references/auth-setup.md for complete authentication guide including new Developer Platform.\n\n2. Basic API Test\ncurl -H \"Authorization: Bearer $HUBSPOT_ACCESS_TOKEN\" \\\n  \"https://api.hubapi.com/crm/v3/objects/contacts?limit=1\"\n\nWhat Do You Want To Do?\n\nCRM Management:\n\nreferences/crm-contacts.md → Create, update, search contacts\nreferences/crm-companies.md → Company records, hierarchies\nreferences/crm-deals.md → Sales pipeline, deal stages\nreferences/crm-tickets.md → Support tickets, SLA management\nreferences/crm-custom-objects.md → Custom object schemas\n\nData & Associations:\n\nreferences/associations.md → Link records (contact→company, deal→contact)\nreferences/properties.md → Custom properties, field groups\nreferences/data-quality.md → Deduplication, data cleanup\nreferences/import-export.md → Bulk data migration\n\nActivities & Automation:\n\nreferences/engagements.md → Log calls, emails, meetings, tasks\nreferences/workflows.md → Automation, triggers, enrollment\nreferences/pipelines.md → Configure pipelines, stages\n\nMarketing & Sales:\n\nreferences/lists.md → Contact lists, segmentation\nreferences/forms.md → Landing page forms\nreferences/email-marketing.md → Email campaigns\nreferences/conversations.md → Live chat, chatbots\n\nAnalytics & Reporting:\n\nreferences/reporting.md → Custom dashboards, KPIs\nreferences/webhooks.md → Real-time event notifications\n\nContent & Commerce:\n\nreferences/cms.md → Website pages, blog posts, HubDB\nreferences/commerce.md → Products, quotes, invoices\n\nPlatform & Development:\n\nreferences/developer-platform.md → HubSpot CLI, custom apps\nreferences/owners.md → User management, permissions\nreferences/knowledge-base-tips.md → UI navigation, admin tasks\nMost Common Workflows\n1. Import Contacts from CSV\n./scripts/bulk-import.sh contacts contacts.csv\n\n2. Find & Merge Duplicate Contacts\n./scripts/find-duplicates.sh contacts email\n./scripts/merge-records.sh contacts ID1 ID2\n\n3. Create Deal with Associations\n# Create deal\ncurl -X POST \"https://api.hubapi.com/crm/v3/objects/deals\" \\\n  -H \"Authorization: Bearer $HUBSPOT_ACCESS_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"properties\": {\n      \"dealname\": \"Big Deal\",\n      \"amount\": \"50000\",\n      \"dealstage\": \"qualifiedtobuy\"\n    }\n  }'\n\n# Associate to contact (type 3 = deal→contact)\ncurl -X PUT \"https://api.hubapi.com/crm/v3/objects/deals/DEAL_ID/associations/contacts/CONTACT_ID/3\" \\\n  -H \"Authorization: Bearer $HUBSPOT_ACCESS_TOKEN\"\n\n4. Data Quality Audit\n./scripts/data-audit.sh\n\n5. Export Pipeline Report\n./scripts/pipeline-report.sh > pipeline_report.csv\n\n6. Log Activity (Call/Email/Meeting)\n# Log a sales call\ncurl -X POST \"https://api.hubapi.com/crm/v3/objects/calls\" \\\n  -H \"Authorization: Bearer $HUBSPOT_ACCESS_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"properties\": {\n      \"hs_call_title\": \"Discovery Call\",\n      \"hs_call_duration\": \"1800000\",\n      \"hs_call_disposition\": \"Connected\"\n    },\n    \"associations\": [{\n      \"to\": { \"id\": \"CONTACT_ID\" },\n      \"types\": [{ \"associationCategory\": \"HUBSPOT_DEFINED\", \"associationTypeId\": 194 }]\n    }]\n  }'\n\nScript Usage\n\nAll scripts are in scripts/ directory. Make executable first:\n\nchmod +x scripts/*.sh\n\n\nUniversal API Helper:\n\n./scripts/hs-api.sh GET /crm/v3/objects/contacts\n./scripts/hs-api.sh POST /crm/v3/objects/companies '{\"properties\":{\"name\":\"ACME\"}}'\n\n\nData Management:\n\n./scripts/bulk-import.sh [object-type] [csv-file]\n./scripts/bulk-export.sh [object-type] [output-file]\n./scripts/find-duplicates.sh [object-type] [property]\n./scripts/merge-records.sh [object-type] [primary-id] [duplicate-id]\n\n\nReports & Analytics:\n\n./scripts/data-audit.sh > audit-report.txt\n./scripts/pipeline-report.sh > pipeline-analysis.csv\n\nAPI Fundamentals\nRate Limits\nPrivate Apps: 100 requests/10 seconds\nOAuth Apps: 100 requests/10 seconds\nSearch API: 4 requests/second\nBatch Operations: 100 records max per request\nPagination\n\nAll list endpoints use after parameter:\n\ncurl \"https://api.hubapi.com/crm/v3/objects/contacts?after=12345&limit=100\"\n\nError Handling\n429: Rate limit exceeded → Wait and retry\n400: Bad request → Check property names/values\n401: Authentication failed → Check token/scopes\n404: Object not found → Verify ID exists\nCommon Headers\n-H \"Authorization: Bearer $HUBSPOT_ACCESS_TOKEN\"\n-H \"Content-Type: application/json\"\n\nBatch Operations Pattern\ncurl -X POST \"https://api.hubapi.com/crm/v3/objects/contacts/batch/create\" \\\n  -H \"Authorization: Bearer $HUBSPOT_ACCESS_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"inputs\": [\n      {\"properties\": {\"firstname\": \"John\", \"lastname\": \"Doe\"}},\n      {\"properties\": {\"firstname\": \"Jane\", \"lastname\": \"Smith\"}}\n    ]\n  }'\n\nSearch Filters & Operators\nFilter Syntax\n{\n  \"filters\": [{\n    \"propertyName\": \"email\",\n    \"operator\": \"EQ\",\n    \"value\": \"john@example.com\"\n  }]\n}\n\nOperators\nEQ, NEQ: Equals, not equals\nLT, LTE, GT, GTE: Less/greater than\nCONTAINS_TOKEN: Contains word\nHAS_PROPERTY, NOT_HAS_PROPERTY: Property exists\nIN, NOT_IN: Value in list\nBETWEEN: Numeric/date range\nAdvanced Search Example\ncurl -X POST \"https://api.hubapi.com/crm/v3/objects/contacts/search\" \\\n  -H \"Authorization: Bearer $HUBSPOT_ACCESS_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"filters\": [{\n      \"propertyName\": \"createdate\",\n      \"operator\": \"GTE\", \n      \"value\": \"2024-01-01\"\n    }],\n    \"sorts\": [{\"propertyName\": \"createdate\", \"direction\": \"DESCENDING\"}],\n    \"limit\": 100\n  }'\n\nEnvironment Variables\n\nSet these in your shell/environment:\n\n# Required\nexport HUBSPOT_ACCESS_TOKEN=\"pat-na1-xxx\"  # Private app token\n\n# Optional  \nexport HUBSPOT_API_KEY=\"xxx\"               # Legacy API key\nexport HUBSPOT_PORTAL_ID=\"12345\"           # For some API calls\nexport HUBSPOT_BASE_URL=\"https://api.hubapi.com\"  # Override for testing\n\nNeed Help?\nAPI Issues: Check references/rate-limits.md and references/search-filters.md\nAuthentication: See references/auth-setup.md\nUI Tasks: Check references/knowledge-base-tips.md\nData Problems: Use references/data-quality.md\nSpecific Objects: Find the relevant references/crm-*.md file\n\nThis skill covers the entire HubSpot platform. Start with the reference file that matches your task, then use the scripts to automate repetitive operations."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/Luigi08001/hubspot-suite",
    "publisherUrl": "https://clawhub.ai/Luigi08001/hubspot-suite",
    "owner": "Luigi08001",
    "version": "1.2.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/hubspot-suite",
    "downloadUrl": "https://openagent3.xyz/downloads/hubspot-suite",
    "agentUrl": "https://openagent3.xyz/skills/hubspot-suite/agent",
    "manifestUrl": "https://openagent3.xyz/skills/hubspot-suite/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/hubspot-suite/agent.md"
  }
}