Feature Overrides & Configuration
Feature Overrides & Configuration
Available from v0.1.14, the feature override system gives agencies granular control over which portal capabilities are visible to their clients. Overrides are managed via Next.js API routes and applied through a priority chain at runtime.
Overview
The portal supports two tiers of feature flag overrides:
| Tier | Scope | Priority |
|---|---|---|
| Company-wide | All users under an agency | Lower |
| Person-level | A specific contact/user | Higher |
When the portal resolves which features to show, it walks the priority chain — person-level overrides win over company-wide overrides, which in turn win over platform defaults.
Supported Feature Flags
RemoveContactButtons
Hides contact and call-to-action buttons (e.g. phone numbers, email links) from the portal. Useful for agencies that want to direct all communication through in-portal messaging.
RemoveMaintenanceJobs
Removes the maintenance jobs module from the portal for the affected user(s). Applicable when an agency handles maintenance through an external workflow and does not want clients submitting jobs through the portal.
RemoveAffiliateLinks
Suppresses affiliate or referral links that would otherwise appear in the portal UI. Suitable for agencies that have opted out of affiliate programmes or want a cleaner interface.
Priority Chain
Overrides are resolved in the following order (highest priority first):
Person-level override
↓
Company-wide override
↓
Platform default
If a flag has a person-level override set, that value is used — regardless of the company-wide setting. If no person-level override exists, the company-wide override is checked. If neither is set, the platform default applies.
FixFlo Integration Toggles
The same override mechanism controls FixFlo integration behaviour. FixFlo is a third-party maintenance reporting tool that can be surfaced inside the portal.
Agencies can:
- Enable or disable FixFlo at the company level for all tenants/landlords.
- Override the company setting for a specific contact — for example, enabling FixFlo for a particular landlord while keeping it off for others.
This is managed through the same person-level and company-wide override API routes.
API Routes
Feature override values are fetched via Next.js API routes on the server side. These routes connect to the AgentOS API and return the resolved override configuration for the requesting context.
Company-wide overrides
Fetches all feature flag overrides configured at the agency/company level.
Person-level overrides
Fetches feature flag overrides for a specific contact (person). Requires a contact identifier. The response reflects only the flags explicitly overridden for that person — the priority chain resolution happens in the application layer.
Notes
- Feature flags are opt-in overrides — if no override is configured, the platform default applies.
- Flags are boolean (enabled/disabled); there are no partial or conditional values.
- Changes to overrides take effect on the next page load or API response; no portal restart is required.