WebApp Modules

Products

Define what your customers get access to. Products are the foundation of your business — everything starts here.

The Foundation

Products define what you're selling. They establish the structure, variables, and access controls that flow through your entire business:

ProductsVariantsOffersCheckoutsPurchasesEntitlements

Once you define a product and its variants, you can create offers with pricing, customize checkouts, and when customers purchase, they automatically receive entitlements that grant access to your content and features.

Product Types

Products come in three types, each designed for different use cases:

Software

Choose this for SaaS products, apps, and software where you need to define custom variables that control limits and access.

Examples: API tokens, storage limits, user seats, generation quotas, feature flags.

Digital

Choose this for courses, content, memberships, and digital downloads where you define modules that represent sections of your product.

Examples: Module 1, Module 2, Bonus Content, Community Access, Exclusive Training.

Reseller

Choose this to resell capabilities from another module. The module exposes variables that you can configure for your customers.

Examples: Reselling AI generations, third-party integrations, or other platform capabilities.

Creating a Product

Navigate to Products in your WebApp admin and click Create Product.

Product Details

  • Name — A descriptive name displayed throughout the system and to customers
  • Description — Up to 500 characters explaining the product (supports markdown)
  • Type — Software, Digital, or Reseller
  • Tag — Identifies the product in your CRM for targeting (e.g., send emails to everyone with this product)

Defining Variables (Software)

For Software products, add variable names that represent limits or access controls in your application:

  • Use snake_case format (e.g., max_tokens, storage_gb)
  • Only letters, numbers, and underscores are allowed
  • Variable values are set later when creating variants

Defining Modules (Digital)

For Digital products, add module names that represent content sections:

  • Each module can be included or excluded per variant
  • Perfect for creating tiered access (Basic gets Module 1, Premium gets all modules)
  • Module access is used to control portal page visibility

Selecting Resell Product

For Reseller products, select from available resellable modules. The module's exposed variables will automatically appear when you create variants.

Product Variants

Variants represent different tiers or versions of your product. While the product defines what variables exist, variants define the specific values for those variables.

Example: A "SaaS Platform" product might have three variants: Starter (5 users, 10GB storage), Professional (50 users, 100GB storage), and Enterprise (unlimited users, 1TB storage).

Creating Variants

From your product page, click Manage Variants and then Create Variant:

  • Name — A friendly name visible to customers (e.g., "Pro Plan")
  • Description — Optional notes about why this variant exists
  • Variable Values — Set the specific limits for each variable

Variable Configuration by Type

Software Variants

Set numeric values for each variable, with optional reset periods:

  • Value — The limit (e.g., 1000, 10000)
  • Reset Period — When limits refresh (None, Daily, Weekly, Monthly, Quarterly, Yearly)

Digital Variants

Toggle each module as Included or Not included for this variant.

Reseller Variants

Configure values for the module's exposed variables. Some may have predefined options, others accept custom values with optional reset periods.

Reset Periods

Reset periods define when usage limits refresh. They're calculated from when the user gains access to the product variant.

PeriodDescription
NoneLifetime limit — never resets
DailyResets every 24 hours from access time
WeeklyResets every 7 days from access date
MonthlyResets on the same day each month (e.g., access on 15th = reset on 15th)
QuarterlyResets every 3 months from access date
YearlyResets on the anniversary of access date

Note: Reset periods only apply to numeric variables. Boolean toggles and feature flags don't have reset periods.

Product Status

Products have a lifecycle status:

  • Active — Ready to use in offers and checkouts
  • Inactive — Temporarily disabled, can be reactivated or deleted
  • Archived — Permanently disabled, cannot be reactivated

New products are set to Active by default. Products can only be deleted when in Inactive status.

Product Tag

Each product requires a unique tag that identifies it in your CRM. When a customer purchases any variant of the product, this tag is automatically applied to their contact record, enabling you to:

  • Send email broadcasts to everyone who owns this product
  • Filter contacts by product ownership in your CRM
  • Create automation triggers based on product purchases
  • Segment your audience for targeted marketing campaigns

How Products Connect

Products integrate with other modules throughout your WebApp:

  • Offers — Product variants become purchasable through offers with pricing
  • Checkouts — Customers purchase products through customized checkout pages
  • Entitlements — Purchases grant entitlements that enforce product limits
  • Portal — Page visibility can be controlled by product/module access
  • Contacts — Product tags are applied to contacts on purchase

Next Steps

  • Offers — Create purchasable offers from your product variants
  • Checkouts — Customize how customers purchase your products
  • Pages Manager — Control content access based on product entitlements