How resolution works
Given a scope with the hierarchyCompany → Department → Team → User, and a query for user rider-456 in Zomato → Online Ordering → Riders, Foff checks these paths in order:
| Priority | Path checked | Description |
|---|---|---|
| 1 (most specific) | Zomato + Online Ordering + Riders + rider-456 | Exact user match |
| 2 | Zomato + Online Ordering + Riders | Team-level match |
| 3 | Zomato + Online Ordering | Department-level match |
| 4 | Zomato | Company-level match |
| 5 (least specific) | (none) | Feature default value |
Concrete example
You have adark-mode-ui feature with a default value of false. You want to disable it explicitly for everyone in the Zomato → Online Ordering → Riders team — regardless of which individual user is queried.
Create an override with:
- Hierarchy path:
Zomato→Online Ordering→Riders - Value:
false
false from the team-level override, even if a higher-level override (say, at the Zomato company level) sets a different value.
Adding an override
Open the feature
In the Foff dashboard, navigate to the scope and select the feature you want to override.
Enter the hierarchy path
Fill in the hierarchy levels you want to target. You can specify any prefix of the full hierarchy — for example, just
Company to target everyone in an organization, or Company + Department + Team to target a specific team.Set the override value
Enter the value to return for this path. It must be the same JSON type as the feature’s default value.
Next steps
To understand the full resolution algorithm — including exactly how Foff walks the hierarchy and what happens at each step — read the hierarchy reference.Hierarchy
Learn the full resolution algorithm and how hierarchy paths are evaluated.