How to Build a Program-Based List
Last updated: July 6, 2026
Summary
The most common task in HubSpot with this integration is building a list of the people who registered for a specific program — so you can email them, enroll them in a workflow, or report on them. This walkthrough builds that list in HubSpot's Lists tool using cross-object filters against the registration data the integration syncs.
Before you start
The program detail you'll filter on (program name, branch, type) lives on line items attached to registration deals, not on the contact directly. See The Object Model.
Cross-object list filters depend on your HubSpot subscription tier. If you don't see the associated-object options below, check your Marketing Hub entitlements or ask your implementation partner.
Steps
1. Create a new active list. Go to CRM → Lists → Create list, choose Contact-based, and select Active list (so it stays current as new registrations sync in).
📸 Screenshot: The HubSpot "Create list" dialog with Contact-based + Active list selected.
2. Filter to real program registrations. Add a filter group: Associated Deal / Line item → Product Type (description) is equal to Program. This ensures you're capturing actual class registrations and not membership or fee lines. (Why this matters: Product Types.)
3. Narrow to the specific program. Add an AND condition on the line item's Program / Product Name is equal to (or contains) your program — for example, a swim or gymnastics class name.
📸 Screenshot: The list filter builder showing Product Type = Program AND Product Name contains "[program]".
4. (Optional) Add branch or timeframe. Layer additional AND conditions — for example, Branch for a single location, or a date condition tied to the session. For date-based sends, see How to Trigger a Workflow on a Class Start Date.
5. Review and save. Check the list preview count and spot-check a few records to confirm they're the people you expect. Name the list clearly (e.g., "Program – [Name] – [Branch] – Active") and save.
Tips
Keep it active, not static, so people who register later are automatically included.
Group your program families. A single program is often offered across many branches and months, each as its own product record — so filter on the program name (and branch, if needed) rather than a single SKU. See Understanding Your Product Library.
Members and non-members will both appear — that's expected and usually desired. To send them different messaging, branch inside a workflow rather than splitting the list. See How to Segment Members vs. Non-Members.