Overview
It is possible to control dashboard level filters from your application. This requires setup in the Upsolve Hub to configure a filter key, and then a prop to be set in your application to pass a filter value down to the filter through the key. Controlled filters and their set values are not visible to your end users by default. They are meant to be exclusively for your access.Configuration in Upsolve Hub
To make a filter controlled, first have a dashboard with a filter configured for it.

city


Configuration in your application
Refer back to the in-product guide:
UpsolveDashboard component. Pass into the prop an object, where each key refers to a controlled filter key you have configured, and each value is the value the controlled filter should take.
In this example, the prop would be:
Controlled Filters in Embedded Contexts
Default Behavior
By default, controlled filters are hidden when your dashboard is embedded in an iframe or used in tenant views. This is the intended behavior to keep controlled filters invisible to end users.Showing Controlled Filters in Embedded Contexts
If you need to show controlled filters in embedded contexts (such as admin panels or internal tools), you can use theshowControlledFilter prop:
Deploying with Iframe and URL Parameters
When deploying dashboards in iframes, controlled filters can be passed through URL parameters instead of using thecontrolledFilterValues prop.
URL Parameter Format
Basic Iframe Implementation
Migration from Props to URL Parameters
Before (Props):Use Cases for showControlledFilter
Example: Visible Controlled Filters
Best Practices
- Use Descriptive Keys: Choose filter keys that clearly indicate their purpose (e.g.,
userRegion,departmentFilter) - Document Your Filters: Keep track of which filters are controlled and their expected values
- Test Both Contexts: Test your dashboard both with and without
showControlledFilterto ensure proper behavior
Troubleshooting
Controlled Filter Not Working
- Verify the filter key matches exactly between Hub configuration and your
controlledFilterValuesprop - Check that the filter value type matches the filter configuration (string, number, array, etc.)
Controlled Filter Hidden When It Should Be Visible
- Set
showControlledFilter={true}to override the default hiding behavior