From hubspot-admin
Creates a HubSpot workflow to auto-enrich new contacts: sets lifecycle stage via v4 Automation API, copies company name/industry from associated company, and branches on completeness.
How this skill is triggered — by the user, by Claude, or both
Slash command
/hubspot-admin:new-contact-hygiene-workflowThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Build a workflow that automatically enriches every new contact at creation time. This ensures contacts enter the database with a lifecycle stage, company name, and industry before any human touches them.
Build a workflow that automatically enriches every new contact at creation time. This ensures contacts enter the database with a lifecycle stage, company name, and industry before any human touches them.
The v4 Automation API (stable) creates workflows programmatically, including "is unknown" enrollment conditions via LIST_BASED filter criteria. Two pieces of this particular design still belong in the UI:
GET /automation/v4/flows/{flowId}, and extend the script with the exact field shapes your portal returns.So the split is: the script creates the default-lifecycle-stage workflow via API; the enrichment copy actions and the notification branch are added in the UI. If you already run /enrich-company-name and /enrich-industry, their dedicated workflows cover the copy actions and this skill's API-created workflow completes the intake picture.
HUBSPOT_ACCESS_TOKEN in .env) with the automation scope (for the API path)uv/enrich-company-name and /enrich-industry first for existing contacts)| Stage | Script | Run with |
|---|---|---|
| Before | scripts/before.py | uv run skills/new-contact-hygiene-workflow/scripts/before.py |
| Execute | scripts/execute.py | uv run skills/new-contact-hygiene-workflow/scripts/execute.py |
| After | scripts/after.py | uv run skills/new-contact-hygiene-workflow/scripts/after.py |
execute.py creates one workflow — "HYGIENE: Default Lifecycle Stage for New Contacts" (enrollment: create date known AND lifecycle stage unknown; action: set stage to Lead; re-enrollment on) — disabled, for review before enabling. Extend it in the UI with the copy actions and notification branch per the design below.
Option A (primary): run the scripts, then extend the created workflow in the UI with the copy-from-associated-company actions, the delay, and the no-company notification branch (Stage 3, steps 3-6).
Option B: build the whole workflow manually in the UI (all of Stage 3).
Alternatives: HubSpot Breeze AI provides minimal value for this workflow — it creates event-based (OR) triggers, and cannot create "is unknown" conditions, copy-from-association actions, or re-enrollment rules. The Claude Chrome extension can drive the workflow builder UI directly and handles those cases. Both are secondary options.
TRIGGER: Contact create date is known
(fires for every new contact)
│
▼
┌─────────────────────────┐
│ Set lifecycle stage │
│ = "Lead" (if empty) │
└────────────┬────────────┘
│
▼
┌─────────────────────────┐
│ Copy company name from │
│ associated company │
└────────────┬────────────┘
│
▼
┌─────────────────────────┐
│ Copy industry from │
│ associated company │
└────────────┬────────────┘
│
▼
┌─────────────────────────┐
│ Delay: short wait │
│ (3-10 min, rec: 5) │
└────────────┬────────────┘
│
▼
┌─────────────────────────┐
│ IF/THEN BRANCH: │
│ Company name is unknown? │
├──────────┬──────────────┘
│ YES │ NO
│ │
▼ ▼
Retry Continue
copy (enriched)
+ notify
admin
uv run skills/new-contact-hygiene-workflow/scripts/before.py to inventory workflows and check name collisions.Option A: run uv run skills/new-contact-hygiene-workflow/scripts/execute.py, then open the created workflow in the UI and continue from step 3 below (copy actions, delay, branch). Option B: open HubSpot > Automation > Workflows > Create workflow, select "Contact-based", start from scratch, and follow all steps.
Set enrollment trigger:
Add action: Set property value
Add action: Copy property
Add action: Copy property
Add delay: a short delay (3-10 minutes, recommended: 5)
Add if/then branch:
Review settings:
Turn on the workflow.
uv run skills/new-contact-hygiene-workflow/scripts/after.py (API path) to confirm the workflow exists and report enabled state.npx claudepluginhub tomgranot/hubspot-admin-skills --plugin hubspot-adminPopulates missing contact company name fields from associated HubSpot company records using a workflow or API backfill script. Enables CRM segmentation, personalization, and ICP classification.
Configures HubSpot for B2B SaaS GTM teams: CRM, deal pipelines, lifecycle stages, marketing automation, sequences, reporting, and enrichment integration.
Automates CRM workflows for HubSpot, Salesforce, and Pipedrive including lead capture, enrichment, deal tracking, pipeline management, and multi-CRM synchronization using n8n templates.