← 返回 Skills 市场
abdelkrim

HubSpot by altf1be

作者 Abdelkrim from Brussels · GitHub ↗ · v1.0.1 · MIT-0
cross-platform ⚠ suspicious
160
总下载
1
收藏
0
当前安装
2
版本数
在 OpenClaw 中安装
/install hubspot-by-altf1be
功能描述
Full HubSpot platform CLI — CRM contacts/companies/deals/tickets, CMS blog posts/pages, Marketing emails/forms/lists, Conversations, Automation workflows. Pr...
使用说明 (SKILL.md)

HubSpot by @altf1be

Full HubSpot platform CLI covering CRM, CMS, Marketing, Conversations, and Automation.

Setup

  1. Create a Private App in HubSpot: Settings > Integrations > Private Apps
  2. Set environment variables (or create .env in {baseDir}):
# Required (Private App mode)
HUBSPOT_ACCESS_TOKEN=pat-na1-xxxxxxxx

# OR use OAuth 2.0 mode (set all three):
# HUBSPOT_CLIENT_ID=your-client-id
# HUBSPOT_CLIENT_SECRET=your-client-secret
# HUBSPOT_REFRESH_TOKEN=your-refresh-token

# Optional
# HUBSPOT_MAX_RESULTS=100
  1. Configure the required Private App scopes in HubSpot (Settings > Integrations > Private Apps > your app > Scopes):
Scope Description
crm.objects.contacts.read View properties and other details about contacts
crm.objects.contacts.write Create, delete, or make changes to contacts
crm.objects.companies.read View properties and other details about companies
crm.objects.companies.write Create, delete, or make changes to companies
crm.objects.deals.read View properties and other details about deals
crm.objects.deals.write Create, delete, or make changes to deals
crm.objects.owners.read View details about users assigned to a CRM record
crm.schemas.contacts.read View details about property settings for contacts
crm.schemas.companies.read View details about property settings for companies
crm.schemas.deals.read View details about property settings for deals
tickets View, create, delete, or make changes to tickets
automation Workflows
content Sites, landing pages, CTA, email, blog, campaigns
conversations.read View messages, comments, threads, recipient/user/assignment details
forms Access to the Forms API
  1. Install dependencies: cd {baseDir} && npm install

Commands

CRM — Contacts

# List contacts
node {baseDir}/scripts/hubspot.mjs contacts list

# Search contacts by email
node {baseDir}/scripts/hubspot.mjs contacts search --query "[email protected]"

# Read contact details
node {baseDir}/scripts/hubspot.mjs contacts read --id 123

# Create a contact
node {baseDir}/scripts/hubspot.mjs contacts create --email "[email protected]" --firstname Jane --lastname Doe

# Update a contact
node {baseDir}/scripts/hubspot.mjs contacts update --id 123 --phone "+1234567890"

# Delete a contact (requires --confirm)
node {baseDir}/scripts/hubspot.mjs contacts delete --id 123 --confirm

CRM — Companies

node {baseDir}/scripts/hubspot.mjs companies list
node {baseDir}/scripts/hubspot.mjs companies search --query "Acme"
node {baseDir}/scripts/hubspot.mjs companies read --id 456
node {baseDir}/scripts/hubspot.mjs companies create --name "Acme Corp" --domain "acme.com"
node {baseDir}/scripts/hubspot.mjs companies update --id 456 --industry "Technology"
node {baseDir}/scripts/hubspot.mjs companies delete --id 456 --confirm

CRM — Deals

node {baseDir}/scripts/hubspot.mjs deals list
node {baseDir}/scripts/hubspot.mjs deals search --query "Enterprise"
node {baseDir}/scripts/hubspot.mjs deals read --id 789
node {baseDir}/scripts/hubspot.mjs deals create --name "Big Deal" --amount 50000 --stage appointmentscheduled
node {baseDir}/scripts/hubspot.mjs deals update --id 789 --stage closedwon
node {baseDir}/scripts/hubspot.mjs deals delete --id 789 --confirm

CRM — Tickets

node {baseDir}/scripts/hubspot.mjs tickets list
node {baseDir}/scripts/hubspot.mjs tickets search --query "Bug"
node {baseDir}/scripts/hubspot.mjs tickets read --id 101
node {baseDir}/scripts/hubspot.mjs tickets create --subject "Login broken" --priority HIGH
node {baseDir}/scripts/hubspot.mjs tickets update --id 101 --stage 2
node {baseDir}/scripts/hubspot.mjs tickets delete --id 101 --confirm

CRM — Owners

node {baseDir}/scripts/hubspot.mjs owners list
node {baseDir}/scripts/hubspot.mjs owners list --email "[email protected]"
node {baseDir}/scripts/hubspot.mjs owners read --id 55

CRM — Pipelines

# List deal pipelines (default)
node {baseDir}/scripts/hubspot.mjs pipelines list

# List ticket pipelines
node {baseDir}/scripts/hubspot.mjs pipelines list --object-type tickets

CRM — Associations (v4)

# List associations from contact to companies
node {baseDir}/scripts/hubspot.mjs associations list --from-type contacts --from-id 123 --to-type companies

# Create an association
node {baseDir}/scripts/hubspot.mjs associations create --from-type contacts --from-id 123 --to-type companies --to-id 456 --type-id 1

# Delete an association (requires --confirm)
node {baseDir}/scripts/hubspot.mjs associations delete --from-type contacts --from-id 123 --to-type companies --to-id 456 --confirm

CRM — Properties

# List contact properties (default)
node {baseDir}/scripts/hubspot.mjs properties list

# List deal properties
node {baseDir}/scripts/hubspot.mjs properties list --object-type deals

CRM — Engagements

node {baseDir}/scripts/hubspot.mjs engagements notes
node {baseDir}/scripts/hubspot.mjs engagements emails
node {baseDir}/scripts/hubspot.mjs engagements calls
node {baseDir}/scripts/hubspot.mjs engagements tasks
node {baseDir}/scripts/hubspot.mjs engagements meetings

CMS — Blog Posts

node {baseDir}/scripts/hubspot.mjs blog-posts list
node {baseDir}/scripts/hubspot.mjs blog-posts list --state PUBLISHED
node {baseDir}/scripts/hubspot.mjs blog-posts read --id 1001
node {baseDir}/scripts/hubspot.mjs blog-posts create --name "My Post"
node {baseDir}/scripts/hubspot.mjs blog-posts update --id 1001 --name "Updated Title"

CMS — Pages

node {baseDir}/scripts/hubspot.mjs pages list
node {baseDir}/scripts/hubspot.mjs pages read --id 2001

CMS — Domains

node {baseDir}/scripts/hubspot.mjs domains list

Marketing — Email Campaigns

node {baseDir}/scripts/hubspot.mjs email-campaigns list
node {baseDir}/scripts/hubspot.mjs email-campaigns read --id 3001

Marketing — Forms

node {baseDir}/scripts/hubspot.mjs forms list
node {baseDir}/scripts/hubspot.mjs forms read --id 4001

Marketing — Marketing Emails

node {baseDir}/scripts/hubspot.mjs marketing-emails list
node {baseDir}/scripts/hubspot.mjs marketing-emails read --id 5001
node {baseDir}/scripts/hubspot.mjs marketing-emails stats --id 5001

Marketing — Contact Lists

node {baseDir}/scripts/hubspot.mjs lists list
node {baseDir}/scripts/hubspot.mjs lists read --id 6001

Conversations

node {baseDir}/scripts/hubspot.mjs conversations list
node {baseDir}/scripts/hubspot.mjs conversations read --id 7001
node {baseDir}/scripts/hubspot.mjs messages list --thread-id 7001

Automation — Workflows

node {baseDir}/scripts/hubspot.mjs workflows list
node {baseDir}/scripts/hubspot.mjs workflows read --id 8001

Security

  • Auth method: Bearer token (Private App) or OAuth 2.0 with auto-refresh
  • No secrets or tokens printed to stdout
  • All delete operations require explicit --confirm flag
  • Built-in rate limiting with exponential backoff retry (3 attempts)
  • OAuth tokens cached in ~/.cache/openclaw/hubspot-token.json
  • Lazy config validation (only checked when a command runs)

Dependencies

  • commander — CLI framework
  • dotenv — environment variable loading
  • Node.js built-in fetch (requires Node >= 18)

Author

Abdelkrim BOUJRAF — ALT-F1 SRL, Brussels 🇧🇪 🇲🇦 X: @altf1be

安全使用建议
This skill appears coherent for a HubSpot CLI. Before installing, confirm you are comfortable providing a HubSpot Private App token or OAuth credentials (these grant full API access per the configured scopes). If using OAuth, a token cache (~/.cache/openclaw/hubspot-token.json) will be created in your home directory. Keep your .env out of version control and do not paste tokens into public chats. Remember delete actions call HubSpot delete endpoints — they require --confirm but still will delete real data when run. Review the included scripts/hubspot.mjs yourself if you want to confirm there are no additional network endpoints or behaviors beyond api.hubapi.com and api.hubspot.com/oauth/v1/token.
功能分析
Type: OpenClaw Skill Name: hubspot-by-altf1be Version: 1.0.1 The HubSpot skill bundle is a well-structured CLI tool for managing HubSpot CRM, CMS, and Marketing data. It implements standard authentication patterns (Private App tokens and OAuth 2.0 with local caching in `~/.cache/openclaw/hubspot-token.json`), includes robust error handling, and handles API rate limiting with exponential backoff. The code in `scripts/hubspot.mjs` is transparent, follows the provided documentation, and shows no signs of malicious intent, unauthorized data exfiltration, or prompt injection.
能力评估
Purpose & Capability
Name/description (full HubSpot CLI) matches the actual behavior: the script implements CRM/CMS/Marketing/Conversations/Automation endpoints. Required env vars (HUBSPOT_ACCESS_TOKEN plus optional OAuth vars) are appropriate for a HubSpot integration; no unrelated credentials, binaries, or config paths are requested.
Instruction Scope
SKILL.md instructs installing dependencies, setting a Private App token or OAuth credentials, and running the included Node CLI. The runtime instructions and the script operate on HubSpot APIs only. The instructions do not ask the agent to read unrelated files or exfiltrate data to third-party endpoints beyond HubSpot oauth/api endpoints.
Install Mechanism
No external download/install URLs; repository includes package.json and a single script plus dependencies (commander, dotenv) installed via npm. This is a low-risk, typical npm-based install.
Credentials
Only HUBSPOT_ACCESS_TOKEN is required (declared as primary). Optional HUBSPOT_CLIENT_ID, HUBSPOT_CLIENT_SECRET, HUBSPOT_REFRESH_TOKEN and HUBSPOT_MAX_RESULTS are justified for OAuth and configuration. The code only accesses these declared env vars.
Persistence & Privilege
always:false and no system-wide privileged settings. The script does persist OAuth tokens to a local cache (~/.cache/openclaw/hubspot-token.json) when using OAuth — expected behavior for token refresh. It does perform destructive API operations (delete endpoints), but delete commands require an explicit --confirm flag as documented.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install hubspot-by-altf1be
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /hubspot-by-altf1be 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.1
Added required HubSpot Private App scopes documentation to SKILL.md
v1.0.0
v1.0.0 — Full HubSpot platform: CRM, CMS, Marketing, Conversations, Automation. 50+ commands, Private App + OAuth 2.0 auth.
元数据
Slug hubspot-by-altf1be
版本 1.0.1
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 2
常见问题

HubSpot by altf1be 是什么?

Full HubSpot platform CLI — CRM contacts/companies/deals/tickets, CMS blog posts/pages, Marketing emails/forms/lists, Conversations, Automation workflows. Pr... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 160 次。

如何安装 HubSpot by altf1be?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install hubspot-by-altf1be」即可一键安装,无需额外配置。

HubSpot by altf1be 是免费的吗?

是的,HubSpot by altf1be 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

HubSpot by altf1be 支持哪些平台?

HubSpot by altf1be 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 HubSpot by altf1be?

由 Abdelkrim from Brussels(@abdelkrim)开发并维护,当前版本 v1.0.1。

💬 留言讨论