The HubSpot Courses Object Explained: How Education Businesses Should Actually Use It

HubSpot Courses object explained overview

HubSpot Courses object explained for education and edtech CRM teams

The HubSpot Courses object is a native CRM object that stores a program, a series of lessons, a training, an educational module, as a real record, with its own properties, associations, workflow triggers, reporting, and API. It is not a custom object you build. It ships with HubSpot and sits switched off until a super admin activates it.

Almost every edtech company we have worked with runs two systems that do not talk to each other. HubSpot holds the CRM, the marketing, and the pipeline. Something else entirely, Teachable, Thinkific, a WordPress LMS plugin, holds the courses and the students. Then somebody spends months trying to join them with Zapier, a spreadsheet, and increasingly desperate custom work, and the Courses object sitting dormant in the same account the whole time never enters the conversation.

This post covers what the HubSpot Courses object is, how to activate it, how to structure it properly, and what it unlocks once you do. It also covers what it does not do, and the two subscription limits that decide whether gated learning content actually works on your plan, because that matters just as much as the feature list.

We build on this object regularly. It is the foundation of the HubSpot LMS theme we shipped for education businesses, and everything below is what putting it into production has actually taught us.

What Is the HubSpot Courses Object?

In HubSpot, courses store information about programs such as a series of lessons, trainings, or educational modules. Each course is a full CRM record. It has properties, it associates to contacts, it can trigger workflows, and it is addressable through the courses API.

That is the entire point of the HubSpot Courses object. A course stops being a page on a separate platform and becomes a record your CRM actually understands.

HubSpot ships the object with core properties already defined, including:

PropertyInternal namePurpose
Course namehs_course_nameThe program identifier
Course IDhs_course_idUnique reference used for deduplication and API matching
Course descriptionhs_course_descriptionWhat the program covers
Enrollment capacityhs_enrollment_capacityMaximum seats or slots available

You add your own properties on top of these HubSpot Courses object defaults. Category, delivery format, instructor, duration, price tier, cohort dates, and anything else your business actually uses to run the program.

Where the HubSpot Courses Object Sits in the Data Model

HubSpot Courses object among four activatable objects

This is the part most education businesses on HubSpot do not know. The HubSpot Courses object is one of four objects that exist in every account but stay dormant until activated:

  • Courses (education and training)
  • Listings (real estate)
  • Appointments (services and scheduling)
  • Services (service-based businesses)

These are not custom objects. Custom objects require an Enterprise subscription and you build them yourself, field by field. These four are pre-built industry objects HubSpot maintains, and none of them require Enterprise to activate. We made the same argument for real estate in our HubSpot Listing object guide. The reasoning holds here too: if your business runs on a specific kind of record, and HubSpot already has an object for it, use that object rather than bolting a second platform onto the side of your CRM.

How to Activate the HubSpot Courses Object

Activation takes about a minute and requires super admin permissions.

  1. In your HubSpot account, click More, then go to Data Management > Data Model. If More does not appear, go to Data Management > Data Model directly.
  2. Click Edit data model.
  3. Find the Courses object and click Activate.
  4. Click Confirm.

That is it. The HubSpot Courses object is now live in your account. Once activated, courses appear on a CRM index page, associate to other objects, and become usable in workflows, lists, and reporting.

Even if you are not ready to build a full course website against it, having courses exist as CRM records improves your reporting and automation immediately, before a single page changes.

Structuring HubSpot Courses Object Properties: Get This Right First

The most common mistake we see is teams activating the Courses object and immediately importing every program with a loose property structure. Fixing this after data exists is significantly harder than getting it right before.

Rule 1: use dropdowns for category, level, and format

Free text fields become unfilterable within weeks. Someone types “Beginner,” someone else types “beginner level,” and your course catalog filter now treats them as separate categories.

Rule 2: enrollment capacity and duration must be numeric

If capacity is a text field, you cannot trigger a workflow when a cohort fills up, cannot sort by seats remaining, and cannot build a “closing soon” view. This is the mistake that quietly breaks capacity-based automation.

Rule 3: separate course status from publish visibility

“Open, full, archived” is a status. “Published, hidden, coming soon” is a visibility flag. Teams that merge these into one field end up unable to keep a completed cohort visible as a case study, or unable to stage a new course before it goes live.

Custom properties on the HubSpot Courses object are created directly in the data model builder. Expand the Courses object, click Create property, and configure the field type in the panel.

HubSpot Courses Object Associations: Connecting Courses to the Rest of Your CRM

Associations are where the HubSpot Courses object earns its place over a standalone platform with no CRM connection at all.

Course to contact: The student, the enquirer, the corporate training coordinator booking seats for a team. When someone enrolls, that contact associates to the specific course they enrolled in. Your team opens the contact record and sees exactly which program they are in, without hunting through a separate platform.

Course to company: Useful for corporate training providers and certification businesses selling seats to organizations rather than individuals.

Course to deal: The transaction, particularly relevant for paid courses, cohort-based programs, or any enrollment that goes through a sales conversation rather than a self-serve checkout.

You can go further with association labels, defining the nature of the relationship rather than just its existence. On a single course record, one contact might be labelled “enrolled,” another “waitlisted,” another “completed.” Labels are created in the data model builder under the Associations tab, and association limits can enforce structure, if a course should only have one primary instructor, set that association to one-to-one and HubSpot enforces it.

What You Can Automate Once the HubSpot Courses Object Holds Real Records

This is the practical payoff. Because courses are real records, HubSpot automation can act on them directly.

TriggerExample automation
New enrollment on a courseAdd the contact to a course-specific nurture sequence and remove them from general lead nurture
Course reaches enrollment capacityNotify the team, close registration, trigger a waitlist workflow
Contact enrolls in a second courseFlag the contact as a repeat student for a loyalty or referral sequence
Course start date approachesSend a reminder sequence to enrolled contacts
Enrollment stalls with no login activityTask an advisor to follow up, if activity data is being synced from your LMS
Corporate account enrolls multiple contactsAssociate all enrolled contacts to the company record and notify the account manager

Reporting on the HubSpot Courses object works the same way. Enrollment counts by course, conversion from marketing campaign to enrolled student, and revenue per program all become standard CRM reports instead of a spreadsheet someone rebuilds every term.

Working With the HubSpot Courses Object Through the API

The courses endpoints sit at /crm/objects/2026-03/courses and require the corresponding course object scopes. They support create, read, update, upsert, merge, and associate operations, individually or in batch.

To create one course, you make a POST request to /crm/objects/2026-03/courses with your course data in a properties object. Batch creation works the same way against the /batch/create endpoint, useful if your course catalog lives somewhere else first and needs to sync in as CRM records.

Courses are deduplicated by the Record ID property, which matters if you are syncing from an external system, use a stable external ID as your matching key rather than course name, program names get renamed for marketing reasons far more often than anyone plans for.

What the HubSpot Courses Object Does Not Do

Honest limits, because a post that only lists benefits is not useful.

It does not track student progress: There is no built-in “60% through this course” state on the record. Progress tracking is a learning platform function, not a CRM function.

It does not handle quizzing or assessment: No question banks, no scoring, no pass marks live on a course record.

It does not issue certificates: No completion certificates, no credential management, no badge system.

It does not support SCORM or xAPI: If you have existing SCORM packages, the Courses object has nowhere to run them.

It is not a video hosting platform: Course content itself, the actual lessons, lives elsewhere and gets embedded or linked.

It does not render your website by itself: Activating the object gives you records in the CRM. Turning those records into a course catalog, single course pages, and student-facing structure is a separate build.

If you need progress tracking, assessment, or certification, the HubSpot Courses object is not the layer for it, you need a dedicated learning platform, and the right architecture is HubSpot for marketing, CRM, and enrollment, with the LMS handling delivery and a deliberate integration between the two. That is a legitimate, common setup, not a failure to commit to one platform.

The Two Subscription Limits That Decide Gated Learning on the HubSpot Courses Object

HubSpot Courses object membership access group limits

This is the section most comparisons skip, and the one worth reading before you commit to anything.

Limit 1: memberships need Content Hub Professional

A gated learning experience, content only visible to enrolled students, runs on HubSpot memberships, which require Content Hub Professional or Enterprise. Accounts on a legacy CMS Hub Professional subscription do not support memberships at all, worth checking before you build anything. Private content also only works on a connected subdomain, not a default hs-sites.com domain.

Limit 2: Professional gives you two access groups. Only two

An access group controls who can see what. Content Hub Professional accounts can have up to two access groups. Enterprise accounts can have up to 100. Two groups is fine for a simple “free tier, paid tier” structure. It is not enough for a catalog of eight courses that each need separate access, or a training provider running distinct cohorts that shouldn’t see each other’s content.

Your setupWhat works
Content Hub StarterMemberships not available, public course marketing pages only
Content Hub ProfessionalGated learning, but a maximum of 2 access groups
Content Hub EnterpriseUp to 100 access groups, per-course or per-cohort access
Legacy CMS Hub ProfessionalMemberships not supported, check your plan first

If you need per-course access control and you are on Professional, you have three legitimate options: upgrade to Enterprise, restructure your content so two groups is genuinely enough, or keep learning delivery on a dedicated platform and use HubSpot for marketing, CRM, and the Courses object underneath it. A few other membership details worth having: each contact can receive a maximum of five membership emails per day, passwords must be at least 12 characters, and password-protected pages return a no-index response, so they will not appear in search results.

Turning the HubSpot Courses Object Into a Website

Records in the CRM are half the job. The visitor-facing half, a course catalog, single course pages, student login, and registration, is a separate build, and for most education businesses, the cost of building it from scratch exceeds the cost of buying it.

EDULMS is our HubSpot LMS theme, built specifically on the HubSpot Courses object described in this post. It ships with 22 page templates, 15 system templates, and 35 modules, course listing pages, single course templates with curriculum and instructor sections, student profile and login flows, and an events listing for cohorts and workshops alongside self-paced content, all fully drag-and-drop editable. It is $399 one-time on the HubSpot marketplace.

It fits businesses that market and sell courses, want the course website and CRM in one system, and are on Content Hub Professional or Enterprise with access needs that fit their tier’s group limit. It does not fit if you need assessment, progress tracking, certification, or SCORM support, those still need a dedicated learning platform connected to HubSpot through a deliberate integration, which is HubSpot development work we scope separately.

Frequently Asked Questions

What is the HubSpot Courses object?

The HubSpot Courses object is a native CRM object that stores information about a program, a series of lessons, a training, or an educational module. Each course is a full record with properties, associations to contacts and companies, workflow eligibility, and API access. It exists in every HubSpot account but must be activated by a super admin before use.

Can you run a course platform entirely on HubSpot CMS?

You can run course marketing, enrollment, and CRM entirely on HubSpot using the Courses object and a theme built on it. Assessment, progress tracking, certification, and SCORM support are not native to HubSpot and require a dedicated learning platform connected through integration.

What subscription do I need for gated course content in HubSpot?

Content Hub Professional or Enterprise for memberships, which control gated access. Professional supports up to two access groups. Enterprise supports up to 100, needed if you require per-course or per-cohort access control.

Do I need an Enterprise subscription to use the HubSpot Courses object?

No. The HubSpot Courses object is one of four pre-built industry objects, alongside Listings, Appointments, and Services, that can be activated without building a custom object. Custom objects require Enterprise. The Courses object does not.

Is a HubSpot LMS theme suitable for corporate training teams?

Yes, particularly for course marketing, enrollment, and company-to-contact associations tracking which employees from an organization are enrolled. Assessment and certification for compliance training still typically require a dedicated LMS connected to HubSpot.

Can I use the Courses object for events and workshops instead of online courses?

Yes. The object covers programs broadly, and course-based themes like EDULMS typically include an events listing for cohorts, workshops, and in-person training alongside self-paced content.

Does activating the Courses object change my website automatically?

No. Activation creates the CRM structure only. Your website needs templates that read from course records to display a catalog and course pages, handled either by custom development or a theme built for the object.

Where This Goes Next

The HubSpot Courses object is the piece of HubSpot’s education stack that most teams have not switched on, the same pattern we found with the Listing object in real estate. Activating it costs nothing, takes a minute, and immediately changes what your CRM can answer about your programs and students.

Get the property structure and access group planning right before you import courses or build gated content. Those are the decisions hardest to unwind after the fact.

If you want to talk through your course data structure, your membership tier, or whether EDULMS or a custom build fits your business, book a 30 minute call. We will tell you if you actually need help or not.

Our HubSpot Listing object guide covers the same activation and structuring pattern for real estate, and our guide on whether HubSpot can replace a traditional LMS covers the broader platform decision this post assumes you have already made.

Let's discuss your project!

Get A Free Consultancy Right Now, Start Working With Us.

    We Are Social

      Let's discuss your project!

      Get A Free Consultancy Right Now, Start Working With Us.