Portal Community

The Problem Tenant Overrides Solve

In a multi-tenant SaaS deployment, a single form schema is shared across hundreds of tenants. But individual tenants often need small variations:

All of these are solved by the tenant override system without creating per-tenant form forks.

What Can Be Overridden

Override TypeMechanism
Control label / placeholderJSONPath override on controls[n].label
Control default valueJSONPath override on controls[n].defaultValue
Select options listJSONPath override on controls[n].options
Visibility ruleJSONPath override on controls[n].visibilityRule
Validation rulesJSONPath override on controls[n].validation
Player selectionJSONPath override on metadata.playerOverride
Tenant-specific fieldsAdditions: new controls/sections in the tenant override row
Form visibilitySet IsActive = 0 on the tenant override row for the form

What Cannot Be Overridden

FieldReason
FormIDPrimary key — immutable per tenant
FormCategoryIDGroup membership is global
FormTypeIDForm type is set by the group owner
FormCodeUsed by routing and AI pipeline — must be stable
PrimaryUsageTab routing is group-wide

Pages in This Guide

PageTopic
Override SchemaThe formGroupOverride JSON document structure
Control-Level OverridesChanging labels, defaults, options for a specific tenant
Tenant-Specific FormsAdding new forms in the tenant's private FormID range
Disabling FormsHiding specific forms for a tenant via IsActive flag
Tenant FormID RangesThe tenantId × 100000 + groupStart convention
Deploying Tenant OverridesSeparate deploy scripts and tenant isolation