hubspot-by-altf1be
Full HubSpot platform CLI — CRM contacts/companies/deals/tickets, CMS blog posts/pages, Marketing emails/forms/lists, Conversations, Automation workflows. Private App token or OAuth 2.0 auth.
Best use case
hubspot-by-altf1be is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Full HubSpot platform CLI — CRM contacts/companies/deals/tickets, CMS blog posts/pages, Marketing emails/forms/lists, Conversations, Automation workflows. Private App token or OAuth 2.0 auth.
Teams using hubspot-by-altf1be should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/hubspot-by-altf1be/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How hubspot-by-altf1be Compares
| Feature / Agent | hubspot-by-altf1be | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Full HubSpot platform CLI — CRM contacts/companies/deals/tickets, CMS blog posts/pages, Marketing emails/forms/lists, Conversations, Automation workflows. Private App token or OAuth 2.0 auth.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
Related Guides
AI Agents for Marketing
Discover AI agents for marketing workflows, from SEO and content production to campaign research, outreach, and analytics.
Best AI Agents for Marketing
A curated list of the best AI agents and skills for marketing teams focused on SEO, content systems, outreach, and campaign execution.
AI Agent for Cold Email Generation
Discover AI agent skills for cold email generation, outreach copy, lead personalization, CRM support, and sales-adjacent messaging workflows.
SKILL.md Source
# 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
```
3. 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 |
4. Install dependencies: `cd {baseDir} && npm install`
## Commands
### CRM — Contacts
```bash
# List contacts
node {baseDir}/scripts/hubspot.mjs contacts list
# Search contacts by email
node {baseDir}/scripts/hubspot.mjs contacts search --query "john@example.com"
# Read contact details
node {baseDir}/scripts/hubspot.mjs contacts read --id 123
# Create a contact
node {baseDir}/scripts/hubspot.mjs contacts create --email "jane@example.com" --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
```bash
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
```bash
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
```bash
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
```bash
node {baseDir}/scripts/hubspot.mjs owners list
node {baseDir}/scripts/hubspot.mjs owners list --email "john@company.com"
node {baseDir}/scripts/hubspot.mjs owners read --id 55
```
### CRM — Pipelines
```bash
# 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)
```bash
# 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
```bash
# 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
```bash
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
```bash
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
```bash
node {baseDir}/scripts/hubspot.mjs pages list
node {baseDir}/scripts/hubspot.mjs pages read --id 2001
```
### CMS — Domains
```bash
node {baseDir}/scripts/hubspot.mjs domains list
```
### Marketing — Email Campaigns
```bash
node {baseDir}/scripts/hubspot.mjs email-campaigns list
node {baseDir}/scripts/hubspot.mjs email-campaigns read --id 3001
```
### Marketing — Forms
```bash
node {baseDir}/scripts/hubspot.mjs forms list
node {baseDir}/scripts/hubspot.mjs forms read --id 4001
```
### Marketing — Marketing Emails
```bash
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
```bash
node {baseDir}/scripts/hubspot.mjs lists list
node {baseDir}/scripts/hubspot.mjs lists read --id 6001
```
### Conversations
```bash
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
```bash
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](https://www.alt-f1.be), Brussels 🇧🇪 🇲🇦
X: [@altf1be](https://x.com/altf1be)Related Skills
x-twitter-by-altf1be
Post tweets, threads, and media to X/Twitter via API v2 — secure OAuth 1.0a signing, minimal dependencies (commander + dotenv only).
sharepoint-by-altf1be
Secure SharePoint file operations and Office document intelligence via Microsoft Graph API — certificate auth, Sites.Selected, read/write Word (mammoth), Excel (exceljs), PowerPoint (jszip), PDF (pdf-parse).
openproject-by-altf1be
OpenProject CRUD skill — manage work packages, projects, groups, news, users, watchers, relations, notifications, time entries, comments, attachments, wiki pages, statuses, and more via OpenProject API v3 with API token auth. Supports cloud and self-hosted instances.
openclaw-skill-m365-task-manager-by-altf1be
Manage lightweight Microsoft 365 task workflows with Microsoft To Do and Planner. Use when a user needs to quickly create, assign, track, and follow up operational tasks in M365 with clear owners, due dates, status, and daily reminders.
m365-task-manager-by-altf1be
Manage lightweight Microsoft 365 task workflows with Microsoft To Do and Planner. Use when a user needs to quickly create, assign, track, and follow up operational tasks in M365 with clear owners, due dates, status, and daily reminders.
atlassian-jira-by-altf1be
Atlassian Jira Cloud CRUD skill — manage issues, comments, attachments, workflow transitions, and JQL search via Jira REST API v3 with email + API token auth.
---
name: article-factory-wechat
humanizer
Remove signs of AI-generated writing from text. Use when editing or reviewing text to make it sound more natural and human-written. Based on Wikipedia's comprehensive "Signs of AI writing" guide. Detects and fixes patterns including: inflated symbolism, promotional language, superficial -ing analyses, vague attributions, em dash overuse, rule of three, AI vocabulary words, negative parallelisms, and excessive conjunctive phrases.
find-skills
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
tavily-search
Use Tavily API for real-time web search and content extraction. Use when: user needs real-time web search results, research, or current information from the web. Requires Tavily API key.
baidu-search
Search the web using Baidu AI Search Engine (BDSE). Use for live information, documentation, or research topics.
agent-autonomy-kit
Stop waiting for prompts. Keep working.