Skip to content

Bulk Create Properties: How It Works

Bulk Create Properties lets you define a set of HubSpot properties in JetStack AI and create them all at once in a connected portal. Instead of clicking through HubSpot’s property editor one field at a time, you define everything in a three-step wizard and JetStack AI handles the API calls asynchronously.

When you submit a bulk property creation request, JetStack AI:

  1. Validates every property definition against HubSpot’s schema requirements
  2. Creates a Cloud Task containing the full property set, target portal, object type, and group configuration
  3. Executes the task asynchronously — creating the property group first (if it does not already exist), then creating each property within that group
  4. Reports results in the Activity Log with per-property success or failure status

The entire operation runs as a background task. You do not need to keep the browser open after submitting.

The Bulk Create Properties interface is a guided wizard with three steps:

StepWhat Happens
1. Choose TargetSelect the destination portal, object type, and property group
2. Define PropertiesAdd properties one-by-one via a table editor, or upload a CSV
3. Review & CreateConfirm the full configuration, then submit

Each step validates its inputs before allowing you to proceed. See the Step-by-Step Guide for a complete walkthrough.

Bulk Create Properties supports all standard HubSpot CRM object types:

  • Contact — person records in the CRM
  • Company — organization records
  • Deal — sales opportunity records
  • Ticket — support ticket records
  • Custom Objects — any custom object types defined in the target portal

The object type determines which property group namespaces are available and which API endpoint JetStack AI uses to create the properties.

Every HubSpot property belongs to a property group. During Step 1, you provide:

  • Group Name (required) — the internal identifier for the group. If a group with this name already exists in the target portal, properties are added to it. If not, JetStack AI creates the group automatically.
  • Group Label (optional) — the display name shown in HubSpot’s UI. If omitted, the group name is used as the label.

Property group creation happens before any individual properties are created. This ensures the target group exists when each property is submitted to the API.

Each property requires a type that determines what kind of data it stores and how it renders in HubSpot. Supported types include:

  • Single-line text — standard text input
  • Multi-line text — textarea input
  • Number — numeric values
  • Date picker — calendar date selector
  • Dropdown select — single-choice from a defined option list
  • Radio select — single-choice rendered as radio buttons
  • Multiple checkboxes — multi-choice from a defined option list
  • Single checkbox — boolean true/false
  • Rich text — formatted HTML content
  • File — file upload reference

For dropdown select, radio select, and multiple checkboxes types, you must also define the available options. Each option has an internal value and a display label. JetStack AI validates that at least one option is provided for these types before submission.

The Is Unique flag marks a property as having unique values across all records of that object type. HubSpot enforces this constraint at the API level.

When you click Create Properties in Step 3, JetStack AI does not call the HubSpot API directly from the browser. Instead, it creates a Cloud Task — a server-side job that executes the creation sequence:

  1. Authenticate with the target portal using stored OAuth credentials
  2. Create or verify the property group via the HubSpot Properties API
  3. Create each property sequentially within that group
  4. Record the result for each property — success, or failure with the error message from HubSpot

You are redirected to the Activity Log immediately after submission. The task appears with a “Processing” status and updates to “Completed” or “Failed” when finished. Each individual property’s result is visible in the task detail view.

JetStack AI validates for duplicate internal names within the batch before submission. If you accidentally add two properties with the same internal name, the wizard flags the conflict and prevents submission.

If a property with the same internal name already exists in the target portal, HubSpot’s API returns a conflict error for that specific property. Other properties in the batch continue to process. The Activity Log shows exactly which properties succeeded and which were rejected.