Define CRM objects, custom properties, forms, imports, and deployments declaratively. Validate locally, package for CI/CD, and deploy across environments — consistently.
Replace scattered API calls and point-and-click setup with a single source of truth for your HubSpot implementation.
Check config correctness locally before ever touching an API — no more surprise deploy failures in production.
Bundle assets, mappings, and imports into a versioned zip. Perfect for CI/CD pipelines and team sync.
Ship to Dev Sandbox, staging, or production from the same config with environment-safe credential management.
Declare CSV-to-CRM mappings declaratively. The packager handles chunking, upserts, and association rules.
Mark sensitive properties with pii_guardrails, respect HubSpot rate limits, and audit every change.
Compare target state vs. live instance with --dry-run before applying, so nothing ships unreviewed.
Three commands take you from local config to live HubSpot instance.
Add a hubspot.config.yml to your project root — define objects, properties, forms, and data imports in YAML.
Run hubspot-config validate to catch errors offline before any API call is made.
hubspot-config deploy --env production pushes the validated state to your live portal.
Declare everything — objects, forms, imports — in one place.
# hubspot.config.yml
schema:
version: "1.0"
app_name: "MyHubSpotApp"
objects:
contacts:
custom_properties:
- name: lead_score
type: number
associations:
- to_object: deals
forms:
- id: contact-us-v2
name: "Contact Us (v2)"
field_groups:
- fields:
- name: firstname
label: "First Name"
- name: email
label: "Email"
imports:
- name: "Legacy Contacts"
file_path: "./data/contacts.csv"
upsert_keys: [email]
Join the waitlist and be first when the Configuration Packager CLI launches.