What Are HubSpot Custom Objects?
- Physical equipment with serial numbers and maintenance schedules
- Training courses with completion dates and certifications
- Property listings with viewing histories and multiple buyers
- Subscription tiers with renewal dates and usage limits
- Medical equipment across multiple locations
How Custom Objects Function
- Behave identically to standard objects — No limitations
- Support custom properties — Add any fields needed to store your data
- Allow associations with other records — Connect to Contacts, Companies, Deals, Tickets
- Integrate with reporting — Build dashboards and track metrics
- Work with automation — Trigger workflows, send emails, update records
Why Do HubSpot Custom Objects Exist?

Option 1: Property Overload
You create custom properties on the Company record:
- Vehicle 1 VIN, Vehicle 1 Make, Vehicle 1 Model
- Vehicle 2 VIN, Vehicle 2 Make, Vehicle 2 Model
- Vehicle 3 VIN…
Option 2: External Management
You keep vehicle data in a separate system—a specialized database or spreadsheet. Now your data exists in two places. Sales teams use HubSpot, and inventory teams use Excel. Nobody has the complete picture, reporting requires manual work, and automation is impossible.
What Problems Do Custom Objects Solve?
- Eliminate data clutter Create one specialized object type instead of dozens of redundant properties.
- Centralize separated data Bring operational data from spreadsheets directly into HubSpot for a single source of truth.
- Enable one-to-many relationships One customer can have unlimited associated instances—vehicles, subscriptions, courses, and equipment.
Custom Objects vs. Custom Properties: What's the Difference?

When to Use a Custom Property
- "What's this contact's job title?" — One contact, one title
- "What's this company's annual revenue?" — One company, one revenue number
- "What industry does this company operate in?" — One company, one industry
When to Use a Custom Object
- "What are all the courses this contact has taken?" — One contact, multiple courses
- "What are all the vehicles this company owns?" — One company, multiple vehicles
- "What are all the subscriptions this customer has?" — One customer, multiple subscriptions
How to Set Up HubSpot Custom Objects
Step 1: Plan Your Implementation
- Validate the 1:Many relationship
- Confirm this data truly needs multiple instances per customer. If tracking only one item per customer, use a custom property instead.
- Define your unique identifier
- Every Custom Object needs a primary display property. Examples: VIN for vehicles, License ID for subscriptions
- Map your associations
- Which standard objects will this connect to? Contacts? Companies? Deals? Tickets?
- Design your workflow triggers
- What actions will create new records? How will automation interact with this object?
- Create a flowchart
- Sketch the data model visually, define every relationship and dependency and map the direction of data flow
Pro Tip: Test everything in a sandbox or developer portal first. Deleting Custom Objects in production requires complex API work and causes major disruptions.
Step 2: Create the Custom Object
- Access Custom Object Settings
- Navigate to Settings ⚙️→ Data Management → Objects → Custom Objects
- Create the Object Schema
- Click "Create custom object."
- Define singular and plural names (these are permanent—choose wisely)
- Add an internal description explaining the object's purpose

- Configure Display Properties
- Set the Primary Display Property (the unique field identifying each record)
- Configure up to three Secondary Display Properties for quick context
- These properties appear on record cards throughout HubSpot
- Finalize Object Creation
- Review your settings carefully
- Click "Create object"
- Set Up Associations
- Navigate back to object settings
- Configure associations with other objects (Contact, Company, Deal, etc.)
- Enable association cards to appear on linked records

- Create Properties
- Add all necessary properties for your data
- Apply validation rules: character limits, unique values, regex patterns
- Organize properties into logical groups
- Mark required fields

Step 3: Create Records
- Manual creation: Navigate to the Custom Object index page and click "Create record."
- CSV import: Prepare a formatted spreadsheet and import records in bulk
- Workflow automation: Use "Create record" action in Enterprise workflows
- Form submissions: HubSpot forms can automatically create records
- API synchronization: Connect external systems via HubSpot API
Limitations of HubSpot Custom Objects
1. No Email Personalization Tokens
- Create an Enterprise workflow
- Copy the Custom Object property value to a corresponding Contact property
- Use the Contact property as your personalization token in emails
2. Limited Third-Party Integration
- Integrating Custom Object data typically requires custom API development
- You'll need dedicated development resources
- Implementation becomes more complex and technical
- Budget for additional development time and costs
3. Reporting Constraints
4. Scale Limits
- High-volume transactional data (millions of log entries) may hit this limit quickly
- Consider alternatives like HubDB or external data warehousing for massive datasets
- Monitor your record count regularly to avoid hitting the cap unexpectedly
- The 1 million limit is shared across ALL your Custom Object types
- Maximum of 10 properties can be designated as unique identifiers per object
- API rate limits apply (110 requests per 10 seconds for OAuth apps)
- Requires Enterprise subscription (significant cost barrier for smaller businesses)
Best Practices for Custom Objects
1. Validate Your Need
Only create a Custom Object if you genuinely need a one-to-many relationship.
Decision framework:
- Can this be stored as a single property on a Contact or Company? → Use custom property
- Do you need multiple instances of this entity per customer? → Use Custom Object
- Is this data primarily for static website display? → Use HubDB instead
2. Choose Names Carefully
Object names are permanent and difficult to change. Use clear, descriptive singular and plural names.
Naming guidelines:
- Use descriptive, business-friendly names (not technical codes)
- Ensure proper singular/plural forms ("Subscription" / "Subscriptions")
- Avoid hyphens (they can interfere with personalization token generation)
- Make names intuitive for all team members
3. Document Everything
Use the description field to document the object's purpose, associations, and ownership.
What to document:
- The business purpose of this object
- Which teams use this object
- Intended associations with other objects
- The responsible team or person for maintenance
- Any special workflow dependencies
4. Enforce Data Quality
Leverage property validation rules to ensure clean data from the start.
Validation strategies:
- Enforce unique values for key identifiers (VIN, License ID, etc.)
- Set character limits to prevent data overflow
- Use regex patterns for formatted fields (phone numbers, emails)
- Mark critical properties as required fields
- Validate data, especially when records come from API syncs
5. Monitor Usage Regularly
Regularly review account limits, particularly total Custom Object record count.
Monitoring checklist:
- Check record count monthly against the 1 million limit
- Review property usage to avoid unnecessary custom properties
- Audit workflows that create or update Custom Object records
- Track API usage if syncing with external systems
- Watch for duplicate records or data quality issues
Ensure all end-users understand the object's purpose and proper usage before launch.
Training essentials:
- Explain what the Custom Object represents
- Demonstrate how to create and associate records
- Show where to find Custom Object data in the interface
- Clarify the difference between the Custom Object and Contact/Company data
- Provide written documentation and quick-reference guides
Common Mistakes to Avoid
Mistake #1: Wrong Primary Property
- Always use a clear, unique identifier as your primary property
- Examples: VIN for vehicles, License ID for subscriptions, Order Number for transactions
- Test searchability before rolling out to your team
- Make sure the primary property makes sense to all users, not just technical staff
Mistake #2: Missing User Permissions
- Navigate to Settings → Users & Teams
- Edit the relevant permission sets
- Explicitly grant Read/Write access to the Custom Object type
- Verify permissions for each team that needs access
- Test with a non-admin user account before launch
Mistake #3: Improper Deletion Process
- Delete all workflow references to the Custom Object
- Delete all individual records of that object type
- Delete all custom properties on the object
- Then attempt to delete the object schema
- Often requires API commands for complete removal
Mistake #4: API Integration Errors
- Use the schemas API endpoint to get the correct internal object name
- Always use the internal name in API calls, not the friendly UI name
- Implement proper error handling for 429 rate limit errors
- Use API batching for bulk operations
- Test API integrations in a development environment first
Custom Objects vs. Other HubSpot Tools
|
Decision Factor
|
Custom Object
|
Custom Property
|
HubDB
|
|
Data relationship
|
1:Many (one company, many assets)
|
1:1 (one contact, one phone)
|
Independent rows (list of locations)
|
|
Primary use case
|
Complex, relational, transactional data
|
Simple, fixed attributes about a single entity
|
Static reference data for website display
|
|
Automation capability
|
Full workflow support for enrollment and status tracking
|
Used for segmentation and basic personalization
|
No workflow support; manual API/HubL access
|
|
Cost requirement
|
Enterprise subscription required
|
Professional or Enterprise
|
CMS Hub Professional or Enterprise
|
|
Typical volume
|
Hundreds to thousands of records
|
Unlimited (within property limits)
|
Hundreds to thousands of rows
|
Key Takeaways
- ✅ Custom Objects extend your CRM's data structure to match your unique business processes instead of forcing data into rigid categories.
- ✅ They solve the 1:Many relationship problem that custom properties can't handle—enabling you to track multiple instances of entities per customer.
- ✅ Enterprise subscription and Super Admin permissions are required to create and manage Custom Objects in your HubSpot account.
- ✅ Planning is non-negotiable because Custom Objects are difficult to delete and rebuild. Always test in sandbox environments before production deployment.
- ✅ Primary limitation: no direct personalization tokens in marketing emails, requiring workflow workarounds to copy data to Contact properties.
- ✅ Best use cases include: subscriptions, physical assets, course enrollments, and onboarding projects—anything where one customer has multiple associated instances.
- ✅ Record limit of 1 million total across all Custom Object types in your account requires monitoring and strategic planning.
- ✅ Integration typically requires custom API development for third-party tools, as many popular platforms only support standard HubSpot objects.
- ✅ Success depends on: thorough planning, proper training, data quality enforcement, regular monitoring, and clear documentation.