Skip to content

Bulk Create Properties: Step-by-Step Guide

This guide walks through every step of the Bulk Create Properties wizard. By the end, you will have a Cloud Task queued that creates your property group and all defined properties in the target HubSpot portal.

Before starting, confirm the following:

  • You have at least one HubSpot portal connected to your JetStack AI workspace
  • The connected portal has sufficient permissions for property creation (the OAuth scope crm.schemas.contacts.write or equivalent for your target object type)
  • You know the object type you want to add properties to (Contact, Company, Deal, Ticket, or a Custom Object)
  • You have your property definitions ready — at minimum, an internal name and display name for each

JetStack AI Bulk Create Properties Step 1 showing portal selection, object type dropdown, and property group fields

Navigate to Implementations > Bulk Create Properties and begin the wizard.

Use the portal dropdown to choose which connected HubSpot account receives the new properties. The dropdown shows all portals connected to your workspace, identified by portal name and Hub ID.

Choose the CRM object type these properties will belong to:

  • Contact
  • Company
  • Deal
  • Ticket
  • Custom Object — if selected, an additional dropdown appears listing the custom object types defined in the target portal

Enter the group name (required). This is the internal identifier used by HubSpot’s API. Use lowercase with no spaces — for example, lead_qualification or onboarding_data.

Optionally, enter a group label. This is the human-readable name displayed in HubSpot’s property settings UI. If left blank, the group name is used as the label.

If a group with this name already exists in the target portal, JetStack AI adds the new properties to it. No duplicate group is created.

Click Next to proceed to Step 2.

JetStack AI Bulk Create Properties Step 2 showing the property table editor with type, name, and options columns

This step presents a table editor where you define each property.

Click Add Property to insert a new row. Each row contains the following fields:

FieldRequiredDescription
Internal NameYesThe API-level identifier. Must be unique within the object type. Use lowercase letters, numbers, and underscores.
Display NameYesThe label shown to users in HubSpot’s UI.
TypeYesThe property type (text, number, date, select, radio, checkbox, etc.). Selected from a dropdown.
DescriptionNoA short explanation shown as help text in HubSpot.
Is UniqueNoCheckbox. When enabled, HubSpot enforces that no two records share the same value for this property.
OptionsConditionalRequired for select, radio, and multiple checkbox types. Define the list of available choices.

When you choose a type that requires options (dropdown select, radio select, or multiple checkboxes), an Options editor appears for that row. Each option needs:

  • Value — the internal value stored by HubSpot
  • Label — the display text shown to users

Add as many options as needed. You can reorder options by dragging, or remove them individually.

For large property sets, click Upload CSV to import definitions from a file. The CSV must include the following columns:

  • internalName — the property’s API name
  • displayName — the property’s UI label
  • type — the property type (must match one of the supported type identifiers)
  • description (optional) — help text
  • isUnique (optional) — true or false
  • options (optional) — semicolon-separated list of value:label pairs

After upload, the imported rows appear in the table editor. You can edit, reorder, or delete any row before proceeding.

Each property row has Edit and Delete actions. Click Edit to modify any field inline. Click Delete to remove the property from the batch.

Before advancing to Step 3, JetStack AI checks:

  • Every property has an internal name and display name
  • No two properties share the same internal name
  • Properties with select/radio/checkbox types have at least one option defined
  • Internal names contain only valid characters (lowercase alphanumeric and underscores)

If validation fails, the specific rows with issues are highlighted and an error message explains what needs correction.

Click Next to proceed to Step 3.

JetStack AI Bulk Create Properties Step 3 showing the review summary with all properties listed before creation

The final step displays a summary table of everything you are about to create:

  • Target Portal — the portal name and Hub ID
  • Object Type — the selected CRM object type
  • Property Group — the group name and label
  • Properties — a table listing every property with its internal name, display name, type, description, uniqueness flag, and options count

Review the summary carefully. Use the Back button to return to previous steps and make corrections.

When satisfied, click Create Properties.

Clicking Create Properties triggers the following sequence:

  1. A Cloud Task is created containing the full batch configuration
  2. You are redirected to the Activity Log where the task appears immediately
  3. The task status shows Processing while JetStack AI creates the group and properties via the HubSpot API
  4. When complete, the status updates to Completed (all properties created) or Partial (some properties failed)

Individual property results are visible in the task detail view. Each property shows either a success confirmation or the specific error returned by HubSpot.