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 passing a filter value through that key on your embed URL.Controlled filters and their set values are not visible to your end users by default. They are meant to be exclusively for your access.
To make a filter controlled, first have a dashboard with a filter configured for it.Next, click the “code” icon on the filterThen, configure a key for the filter. In this case, we have chosen cityFinally, when the control is added, note that the filter label changes color and the icon indicates that this filter will not be visible to your users
Pass controlled filter values on your embed iFrame src using the filter_{controlKey} query parameter, where {controlKey} is the key you configured in the Hub. Each value must be JSON-encoded (and URL-encoded).
For Select Multi filter types, the value must be a JSON array, not a
plain string. For example filter_region=%5B%22North%20America%22%5D (which is
["North America"] URL-encoded). Plain strings cause chart load errors.
By default, controlled filters are hidden when your dashboard is embedded, keeping them invisible to end users.If you need to show a controlled filter in embedded contexts (such as admin panels or internal tools), set isVisible: true on the filter’s control configuration in the Hub. The filter will then render as a visible pill while still being driven by your filter_ URL parameter.
Controlled Filter Hidden When It Should Be Visible
Set isVisible: true on the filter’s control configuration in the Hub to override the default hiding behavior
Was this page helpful?
{"docsConfig":{"$schema":"https://mintlify.com/docs.json","theme":"mint","name":"Upsolve AI","colors":{"primary":"#F13470","light":"#F13470","dark":"#E05883"},"favicon":"https://mintcdn.com/upsolve/uJJfNnm4qkd0qTuD/favicon.svg?fit=max\u0026auto=format\u0026n=uJJfNnm4qkd0qTuD\u0026q=85\u0026s=57743e080022ecdee9a3d16dc270ee80","logo":{"light":"https://mintcdn.com/upsolve/2iK7L-lfLcwqCcz_/logo/light_logo.svg?fit=max\u0026auto=format\u0026n=2iK7L-lfLcwqCcz_\u0026q=85\u0026s=e2c715b3dad371be16e683c74655b2a8","dark":"https://mintcdn.com/upsolve/2iK7L-lfLcwqCcz_/logo/dark_logo.svg?fit=max\u0026auto=format\u0026n=2iK7L-lfLcwqCcz_\u0026q=85\u0026s=e5b53eb0a41de94b806015890a6b4bdc","href":"https://upsolve.ai/?utm_source=docs\u0026utm_medium=logo\u0026utm_campaign=docs"},"api":{"openapi":["api-reference/upsolve.documentation.yaml"],"mdx":{"server":"https://api.upsolve.ai","auth":{"method":"bearer","name":null}}},"navbar":{"links":[{"label":"Support","href":"mailto:support@upsolve.ai"}],"primary":{"type":"button","label":"Start free","href":"https://ai-hub.upsolve.ai/?utm_source=docs\u0026utm_medium=navbar\u0026utm_campaign=docs\u0026utm_content=start_free"}},"seo":{"metatags":{"slack-app-id":"A0C9DAKJQ49"},"indexing":"navigable"},"footer":{"socials":{"website":"https://upsolve.ai/?utm_source=docs\u0026utm_medium=footer\u0026utm_campaign=docs","linkedin":"https://www.linkedin.com/company/upsolveai","hacker-news":"https://www.ycombinator.com/companies/upsolve-ai"}},"styling":{"latex":true},"navigation":{"global":{"anchors":[{"anchor":"Impact Studies","href":"https://upsolve.ai/impact-study?utm_source=docs\u0026utm_medium=sidebar\u0026utm_campaign=docs","icon":"newspaper"},{"anchor":"Security Trust Center","href":"https://trust.upsolve.ai/?utm_source=docs\u0026utm_medium=sidebar\u0026utm_campaign=docs","icon":"shield-halved"},{"anchor":"Community","href":"https://upsolve-ai-community.slack.com/join/shared_invite/zt-2x9oospxx-vv2uDP_20IafkekwCOMi4A#/shared-invite/email","icon":"slack"},{"anchor":"Blog","href":"https://upsolve.ai/blog?utm_source=docs\u0026utm_medium=sidebar\u0026utm_campaign=docs","icon":"newspaper"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"upsolve","hasAudioNarration":false,"actualSubdomain":"upsolve","customDomains":["docs.upsolve.ai"],"gitSource":{"type":"github","owner":"upsolve-labs","repo":"upsolve-core","deployBranch":"main","contentDirectory":"apps/docs","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aedc5801fad4dc685c6c029","clientVersion":"0.0.4102","searchFilterCounts":[{"language":"default","tag":"API Reference","count":148},{"language":"default","tag":"API Documentation","count":147},{"language":"default","tag":"Integrations","count":116},{"language":"default","tag":"Documentation","count":48},{"language":"default","tag":"SQL Reference","count":48},{"language":"default","tag":"Canvases","count":29},{"language":"default","tag":"Workspace draft","count":29},{"language":"default","tag":"Functions","count":23},{"language":"default","tag":"Analytics Layer","count":22},{"language":"default","tag":"Connections \u0026 environments","count":19}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"embedded-bi/filters/controlled-filters","slug":"/embedded-bi/filters/controlled-filters","pageMetadata":{"title":"Controlled Filters","description":"Controlling filters from your app","icon":"arrow-down-to-bracket","href":"/embedded-bi/filters/controlled-filters"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Controlling filters from your app\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,OptimizedImage,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`overview`,children:`Overview`}),`\n`,_jsx(_components.p,{children:`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 passing a filter value through that key on your embed URL.`}),`\n`,_jsx(_components.p,{children:`Controlled filters and their set values are not visible to your end users by default. They are meant to be exclusively for your access.`}),`\n`,_jsx(Heading,{level:`2`,id:`configuration-in-upsolve-hub`,children:`Configuration in Upsolve Hub`}),`\n`,_jsx(_components.p,{children:`To make a filter controlled, first have a dashboard with a filter configured for it.`}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/upsolve/K_3XAKoFAbXHl92p/images/filters/controlled-filters-1.png?fit=max\u0026auto=format\u0026n=K_3XAKoFAbXHl92p\u0026q=85\u0026s=3c16bfb441c14221fbff7391b719fa12`,alt:`Controlled Filter 1`,\"data-og-width\":`2884`,width:`2884`,\"data-og-height\":`1490`,height:`1490`,\"data-path\":`images/filters/controlled-filters-1.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/upsolve/K_3XAKoFAbXHl92p/images/filters/controlled-filters-1.png?w=280\u0026fit=max\u0026auto=format\u0026n=K_3XAKoFAbXHl92p\u0026q=85\u0026s=068e00fb25d1534f29a570347a26cbec 280w, https://mintcdn.com/upsolve/K_3XAKoFAbXHl92p/images/filters/controlled-filters-1.png?w=560\u0026fit=max\u0026auto=format\u0026n=K_3XAKoFAbXHl92p\u0026q=85\u0026s=63e5cfb4262a93500d4fa6e7e5f4e409 560w, https://mintcdn.com/upsolve/K_3XAKoFAbXHl92p/images/filters/controlled-filters-1.png?w=840\u0026fit=max\u0026auto=format\u0026n=K_3XAKoFAbXHl92p\u0026q=85\u0026s=e1a2795eafd365f50fd46250f183be4b 840w, https://mintcdn.com/upsolve/K_3XAKoFAbXHl92p/images/filters/controlled-filters-1.png?w=1100\u0026fit=max\u0026auto=format\u0026n=K_3XAKoFAbXHl92p\u0026q=85\u0026s=759390cdbd36c3d7c77dda12c108329d 1100w, https://mintcdn.com/upsolve/K_3XAKoFAbXHl92p/images/filters/controlled-filters-1.png?w=1650\u0026fit=max\u0026auto=format\u0026n=K_3XAKoFAbXHl92p\u0026q=85\u0026s=a8386e1654d7f4ce17cfeeabb30645f6 1650w, https://mintcdn.com/upsolve/K_3XAKoFAbXHl92p/images/filters/controlled-filters-1.png?w=2500\u0026fit=max\u0026auto=format\u0026n=K_3XAKoFAbXHl92p\u0026q=85\u0026s=badc93663cf2d5f8b19bc4448aa31201 2500w`}),`\n`,_jsx(_components.p,{children:`Next, click the “code” icon on the filter`}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/upsolve/K_3XAKoFAbXHl92p/images/filters/controlled-filters-2.png?fit=max\u0026auto=format\u0026n=K_3XAKoFAbXHl92p\u0026q=85\u0026s=5adcc27cb14f4f8eb2972073ec4d4b0d`,alt:`Controlled Filter 2`,\"data-og-width\":`744`,width:`744`,\"data-og-height\":`190`,height:`190`,\"data-path\":`images/filters/controlled-filters-2.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/upsolve/K_3XAKoFAbXHl92p/images/filters/controlled-filters-2.png?w=280\u0026fit=max\u0026auto=format\u0026n=K_3XAKoFAbXHl92p\u0026q=85\u0026s=b2d57e8275ba0590b4d5da7ed4556199 280w, https://mintcdn.com/upsolve/K_3XAKoFAbXHl92p/images/filters/controlled-filters-2.png?w=560\u0026fit=max\u0026auto=format\u0026n=K_3XAKoFAbXHl92p\u0026q=85\u0026s=4b3c4bc07bdcf1de818648a0356d8263 560w, https://mintcdn.com/upsolve/K_3XAKoFAbXHl92p/images/filters/controlled-filters-2.png?w=840\u0026fit=max\u0026auto=format\u0026n=K_3XAKoFAbXHl92p\u0026q=85\u0026s=00d8234dd0536e21648528b8585cbf47 840w, https://mintcdn.com/upsolve/K_3XAKoFAbXHl92p/images/filters/controlled-filters-2.png?w=1100\u0026fit=max\u0026auto=format\u0026n=K_3XAKoFAbXHl92p\u0026q=85\u0026s=e3eb72a6792ef3be30745493b538165c 1100w, https://mintcdn.com/upsolve/K_3XAKoFAbXHl92p/images/filters/controlled-filters-2.png?w=1650\u0026fit=max\u0026auto=format\u0026n=K_3XAKoFAbXHl92p\u0026q=85\u0026s=60bb1cfefd4a93e803abb8c31974fd28 1650w, https://mintcdn.com/upsolve/K_3XAKoFAbXHl92p/images/filters/controlled-filters-2.png?w=2500\u0026fit=max\u0026auto=format\u0026n=K_3XAKoFAbXHl92p\u0026q=85\u0026s=d26b3d541513d5619e91c8f7a93e65b7 2500w`}),`\n`,_jsxs(_components.p,{children:[`Then, configure a key for the filter. In this case, we have chosen `,_jsx(_components.code,{children:`city`})]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/upsolve/K_3XAKoFAbXHl92p/images/filters/controlled-filters-3.png?fit=max\u0026auto=format\u0026n=K_3XAKoFAbXHl92p\u0026q=85\u0026s=053a4bc9e3ea50be914b2908dd882135`,alt:`Controlled Filter 3`,\"data-og-width\":`1072`,width:`1072`,\"data-og-height\":`1090`,height:`1090`,\"data-path\":`images/filters/controlled-filters-3.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/upsolve/K_3XAKoFAbXHl92p/images/filters/controlled-filters-3.png?w=280\u0026fit=max\u0026auto=format\u0026n=K_3XAKoFAbXHl92p\u0026q=85\u0026s=c00e4e448ee45ad72a1d074389063f80 280w, https://mintcdn.com/upsolve/K_3XAKoFAbXHl92p/images/filters/controlled-filters-3.png?w=560\u0026fit=max\u0026auto=format\u0026n=K_3XAKoFAbXHl92p\u0026q=85\u0026s=97478b1db90eb5c457e279133592483a 560w, https://mintcdn.com/upsolve/K_3XAKoFAbXHl92p/images/filters/controlled-filters-3.png?w=840\u0026fit=max\u0026auto=format\u0026n=K_3XAKoFAbXHl92p\u0026q=85\u0026s=4d6f6553c55dcb1d32eb9afc9dcec2cc 840w, https://mintcdn.com/upsolve/K_3XAKoFAbXHl92p/images/filters/controlled-filters-3.png?w=1100\u0026fit=max\u0026auto=format\u0026n=K_3XAKoFAbXHl92p\u0026q=85\u0026s=42f3976ac740261c8e3f73a73ce77163 1100w, https://mintcdn.com/upsolve/K_3XAKoFAbXHl92p/images/filters/controlled-filters-3.png?w=1650\u0026fit=max\u0026auto=format\u0026n=K_3XAKoFAbXHl92p\u0026q=85\u0026s=1f7fdb2e41b6eb52c5522edd04846d5b 1650w, https://mintcdn.com/upsolve/K_3XAKoFAbXHl92p/images/filters/controlled-filters-3.png?w=2500\u0026fit=max\u0026auto=format\u0026n=K_3XAKoFAbXHl92p\u0026q=85\u0026s=3934ab3cd7bd933e580d48cf93ea7aa9 2500w`}),`\n`,_jsx(_components.p,{children:`Finally, when the control is added, note that the filter label changes color and the icon indicates that this filter will not be visible to your users`}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/upsolve/K_3XAKoFAbXHl92p/images/filters/controlled-filters-4.png?fit=max\u0026auto=format\u0026n=K_3XAKoFAbXHl92p\u0026q=85\u0026s=dfc79a7ab993cdedddb17e20a947a5ea`,alt:`Controlled Filter 4`,\"data-og-width\":`726`,width:`726`,\"data-og-height\":`210`,height:`210`,\"data-path\":`images/filters/controlled-filters-4.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/upsolve/K_3XAKoFAbXHl92p/images/filters/controlled-filters-4.png?w=280\u0026fit=max\u0026auto=format\u0026n=K_3XAKoFAbXHl92p\u0026q=85\u0026s=723c7f3b71567cf1aed213267de3ff0b 280w, https://mintcdn.com/upsolve/K_3XAKoFAbXHl92p/images/filters/controlled-filters-4.png?w=560\u0026fit=max\u0026auto=format\u0026n=K_3XAKoFAbXHl92p\u0026q=85\u0026s=f107a2198d45aed3397a5ee5070c23f9 560w, https://mintcdn.com/upsolve/K_3XAKoFAbXHl92p/images/filters/controlled-filters-4.png?w=840\u0026fit=max\u0026auto=format\u0026n=K_3XAKoFAbXHl92p\u0026q=85\u0026s=f02040086e2d75fadc7495157e9940d7 840w, https://mintcdn.com/upsolve/K_3XAKoFAbXHl92p/images/filters/controlled-filters-4.png?w=1100\u0026fit=max\u0026auto=format\u0026n=K_3XAKoFAbXHl92p\u0026q=85\u0026s=ded391828f747eb8cc835baebc71cffa 1100w, https://mintcdn.com/upsolve/K_3XAKoFAbXHl92p/images/filters/controlled-filters-4.png?w=1650\u0026fit=max\u0026auto=format\u0026n=K_3XAKoFAbXHl92p\u0026q=85\u0026s=734c9e5588fbc06023d2d735ae7c14b3 1650w, https://mintcdn.com/upsolve/K_3XAKoFAbXHl92p/images/filters/controlled-filters-4.png?w=2500\u0026fit=max\u0026auto=format\u0026n=K_3XAKoFAbXHl92p\u0026q=85\u0026s=8bae33c8e74d962930df8e6c36e36859 2500w`}),`\n`,_jsx(Heading,{level:`2`,id:`passing-controlled-filter-values`,children:`Passing Controlled Filter Values`}),`\n`,_jsxs(_components.p,{children:[`Pass controlled filter values on your embed iFrame `,_jsx(_components.code,{children:`src`}),` using the `,_jsx(_components.code,{children:`filter_{controlKey}`}),` query parameter, where `,_jsx(_components.code,{children:`{controlKey}`}),` is the key you configured in the Hub. Each value must be JSON-encoded (and URL-encoded).`]}),`\n`,_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`https://ai-hub.upsolve.ai/share/application/{applicationId}?jwt={token}\u0026filter_{controlKey}={value}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(_components.p,{children:[`For the `,_jsx(_components.code,{children:`city`}),` key configured above:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`6`,language:`html`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`html`,children:_jsxs(_components.code,{language:`html`,numberOfLines:`6`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`iframe`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` src`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://ai-hub.upsolve.ai/share/application/{applicationId}?jwt={token}\u0026filter_city=%22Abu%20Dhabi%22\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` width`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"100%\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` height`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"600px\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` frameborder`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"0\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>\u003c/`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`iframe`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`]})})}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`For `,_jsx(_components.strong,{children:`Select Multi`}),` filter types, the value `,_jsx(_components.strong,{children:`must`}),` be a JSON array, not a\nplain string. For example `,_jsx(_components.code,{children:`filter_region=%5B%22North%20America%22%5D`}),` (which is\n`,_jsx(_components.code,{children:`[\"North America\"]`}),` URL-encoded). Plain strings cause chart load errors.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`multiple-controlled-filters`,children:`Multiple Controlled Filters`}),`\n`,_jsxs(_components.p,{children:[`Combine multiple `,_jsx(_components.code,{children:`filter_`}),` parameters in the same URL:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`6`,language:`html`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`html`,children:_jsxs(_components.code,{language:`html`,numberOfLines:`6`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`iframe`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` src`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://ai-hub.upsolve.ai/share/application/{applicationId}?jwt={token}\u0026filter_region=%5B%22North%20America%22%5D\u0026filter_department=%22Engineering%22\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` width`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"100%\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` height`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"600px\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#9CDCFE`},children:` frameborder`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"0\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>\u003c/`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`iframe`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#808080`},children:`>`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`For the full URL parameter reference — including omnibar (`,_jsx(_components.code,{children:`f_`}),`) filters and combining both types — see `,_jsx(_components.a,{href:`/embedded-bi/filters/url-filter-parameters`,children:`URL Filter Parameters`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`visibility-in-embedded-contexts`,children:`Visibility in Embedded Contexts`}),`\n`,_jsxs(_components.p,{children:[`By default, controlled filters are `,_jsx(_components.strong,{children:`hidden`}),` when your dashboard is embedded, keeping them invisible to end users.`]}),`\n`,_jsxs(_components.p,{children:[`If you need to show a controlled filter in embedded contexts (such as admin panels or internal tools), set `,_jsx(_components.strong,{children:_jsx(_components.code,{children:`isVisible: true`})}),` on the filter’s control configuration in the Hub. The filter will then render as a visible pill while still being driven by your `,_jsx(_components.code,{children:`filter_`}),` URL parameter.`]}),`\n`,_jsx(Heading,{level:`2`,id:`best-practices`,children:`Best Practices`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Use Descriptive Keys`}),`: Choose filter keys that clearly indicate their purpose (e.g., `,_jsx(_components.code,{children:`userRegion`}),`, `,_jsx(_components.code,{children:`departmentFilter`}),`)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Document Your Filters`}),`: Keep track of which filters are controlled and their expected values`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`JSON-encode values`}),`: Always JSON-encode (and URL-encode) the value, especially arrays for Select Multi filters`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`troubleshooting`,children:`Troubleshooting`}),`\n`,_jsx(Heading,{level:`3`,id:`controlled-filter-not-working`,children:`Controlled Filter Not Working`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Verify the filter key matches exactly between the Hub configuration and your `,_jsx(_components.code,{children:`filter_{controlKey}`}),` URL parameter`]}),`\n`,_jsx(_components.li,{children:`Check that the filter value type matches the filter configuration (string, number, array, etc.)`}),`\n`,_jsxs(_components.li,{children:[`For Select Multi filters, ensure the value is a JSON-encoded array (`,_jsx(_components.code,{children:`%5B%22value%22%5D`}),`), not a plain string`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`controlled-filter-hidden-when-it-should-be-visible`,children:`Controlled Filter Hidden When It Should Be Visible`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Set `,_jsx(_components.code,{children:`isVisible: true`}),` on the filter’s control configuration in the Hub to override the default hiding behavior`]}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Controlled Filters","description":"Controlling filters from your app","icon":"arrow-down-to-bracket","href":"/embedded-bi/filters/controlled-filters"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Overview","slug":"overview","depth":2,"children":[]},{"title":"Configuration in Upsolve Hub","slug":"configuration-in-upsolve-hub","depth":2,"children":[]},{"title":"Passing Controlled Filter Values","slug":"passing-controlled-filter-values","depth":2,"children":[{"title":"Multiple Controlled Filters","slug":"multiple-controlled-filters","depth":3,"children":[]}]},{"title":"Visibility in Embedded Contexts","slug":"visibility-in-embedded-contexts","depth":2,"children":[]},{"title":"Best Practices","slug":"best-practices","depth":2,"children":[]},{"title":"Troubleshooting","slug":"troubleshooting","depth":2,"children":[{"title":"Controlled Filter Not Working","slug":"controlled-filter-not-working","depth":3,"children":[]},{"title":"Controlled Filter Hidden When It Should Be Visible","slug":"controlled-filter-hidden-when-it-should-be-visible","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":[],"subdomain":"upsolve","siteName":"Upsolve AI","title":"Controlled Filters - Upsolve AI","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-06-04T21:03:57.817Z","originalFileLocation":"embedded-bi/filters/controlled-filters.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Controlling filters from your app\">\u003cmeta data-mint-head name=\"application-name\" content=\"Upsolve AI\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/upsolve/97yzI2eDoRqG7EuN/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/upsolve/97yzI2eDoRqG7EuN/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/upsolve/97yzI2eDoRqG7EuN/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/upsolve/97yzI2eDoRqG7EuN/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/upsolve/97yzI2eDoRqG7EuN/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/upsolve/97yzI2eDoRqG7EuN/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/upsolve/97yzI2eDoRqG7EuN/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/upsolve/97yzI2eDoRqG7EuN/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/upsolve/97yzI2eDoRqG7EuN/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Controlled Filters - Upsolve AI\">\u003cmeta data-mint-head property=\"og:description\" content=\"Controlling filters from your app\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Upsolve AI\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.upsolve.ai/embedded-bi/filters/controlled-filters\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://upsolve.mintlify.site/_mintlify/api/og/v2?division=Filtering\u0026amp;title=Controlled+Filters\u0026amp;description=Controlling+filters+from+your+app\u0026amp;theme=4ad9ec435a983944c0d6a45c\u0026amp;signature=1d5dbb348e304b06197dc7e9d256d4c3c9675a79407f3a0e59b74e0ae152e288\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Controlled Filters - Upsolve AI\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Controlling filters from your app\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://upsolve.mintlify.site/_mintlify/api/og/v2?division=Filtering\u0026amp;title=Controlled+Filters\u0026amp;description=Controlling+filters+from+your+app\u0026amp;theme=4ad9ec435a983944c0d6a45c\u0026amp;signature=1d5dbb348e304b06197dc7e9d256d4c3c9675a79407f3a0e59b74e0ae152e288\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/upsolve/97yzI2eDoRqG7EuN/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Upsolve AI\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#F13470\">\u003cmeta data-mint-head name=\"slack-app-id\" content=\"A0C9DAKJQ49\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.upsolve.ai/embedded-bi/filters/controlled-filters\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/embedded-bi/filters/controlled-filters.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.upsolve.ai/#organization\",\"name\":\"Upsolve AI\",\"url\":\"https://docs.upsolve.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/upsolve/2iK7L-lfLcwqCcz_/logo/light_logo.svg?fit=max\u0026auto=format\u0026n=2iK7L-lfLcwqCcz_\u0026q=85\u0026s=e2c715b3dad371be16e683c74655b2a8\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.upsolve.ai#website\",\"name\":\"Upsolve AI\",\"url\":\"https://docs.upsolve.ai\",\"publisher\":{\"@id\":\"https://docs.upsolve.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.upsolve.ai/embedded-bi/filters/controlled-filters#webpage\",\"url\":\"https://docs.upsolve.ai/embedded-bi/filters/controlled-filters\",\"name\":\"Controlled Filters\",\"description\":\"Controlling filters from your app\",\"dateModified\":\"2026-06-04T21:03:57.817Z\",\"isPartOf\":{\"@id\":\"https://docs.upsolve.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.upsolve.ai/embedded-bi/filters/controlled-filters#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.upsolve.ai/embedded-bi/filters/controlled-filters#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Filtering\",\"item\":\"https://docs.upsolve.ai/embedded-bi/filters/filters-in-depth\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Controlled Filters\",\"item\":\"https://docs.upsolve.ai/embedded-bi/filters/controlled-filters\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.upsolve.ai/embedded-bi/filters/controlled-filters#article\",\"headline\":\"Controlled Filters\",\"name\":\"Controlled Filters\",\"description\":\"Controlling filters from your app\",\"url\":\"https://docs.upsolve.ai/embedded-bi/filters/controlled-filters\",\"mainEntityOfPage\":{\"@id\":\"https://docs.upsolve.ai/embedded-bi/filters/controlled-filters#webpage\"},\"dateModified\":\"2026-06-04T21:03:57.817Z\",\"publisher\":{\"@id\":\"https://docs.upsolve.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.upsolve.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Upsolve AI\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Upsolve AI\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/embedded-bi/filters/controlled-filters.md","siteName":"Upsolve AI","nav":{"global":{"anchors":[{"anchor":"Impact Studies","href":"https://upsolve.ai/impact-study?utm_source=docs\u0026utm_medium=sidebar\u0026utm_campaign=docs","icon":"newspaper"},{"anchor":"Security Trust Center","href":"https://trust.upsolve.ai/?utm_source=docs\u0026utm_medium=sidebar\u0026utm_campaign=docs","icon":"shield-halved"},{"anchor":"Community","href":"https://upsolve-ai-community.slack.com/join/shared_invite/zt-2x9oospxx-vv2uDP_20IafkekwCOMi4A#/shared-invite/email","icon":"slack"},{"anchor":"Blog","href":"https://upsolve.ai/blog?utm_source=docs\u0026utm_medium=sidebar\u0026utm_campaign=docs","icon":"newspaper"}]},"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/introduction"}]},{"tab":"Analytics Layer","groups":[{"group":"Analytics Layer","pages":[{"title":"Build and Deploy Your First Dashboard","icon":"chart-line","href":"/embedded-bi/introduction"}]},{"group":"Data Connection","pages":[{"title":"Set up connection","icon":"database","href":"/embedded-bi/data-connection/data-connection"},{"title":"Data Plane","icon":"plane","href":"/embedded-bi/data-connection/data-plane"},{"title":"JSON Column Parsing","icon":"brackets-curly","href":"/embedded-bi/data-connection/json-columns"}]},{"group":"Charts","pages":[{"title":"Create Chart","icon":"chart-simple","href":"/embedded-bi/charts/create-chart"},{"title":"Point-and-Click Interface","icon":"computer-mouse","href":"/embedded-bi/charts/point-and-click-interface"}]},{"group":"Dashboards","pages":[{"title":"Create Dashboard","icon":"chart-simple","href":"/embedded-bi/dashboards/create-dashboard"},{"title":"Point-and-Click Interface","icon":"computer-mouse","href":"/embedded-bi/dashboards/point-and-click-interface"},{"title":"Programmatic Dashboard Management","icon":"code","href":"/embedded-bi/dashboards/programmatic-management"}]},{"group":"Filtering","pages":[{"title":"Filtering","description":"An in depth guide for setting up filters","icon":"filter","href":"/embedded-bi/filters/filters-in-depth"},{"title":"Controlled Filters","icon":"arrow-down-to-bracket","href":"/embedded-bi/filters/controlled-filters"},{"title":"URL Filter Parameters","description":"Pre-filter shared dashboards via URL query parameters","icon":"link","href":"/embedded-bi/filters/url-filter-parameters"},{"title":"Timezones","icon":"clock","href":"/embedded-bi/filters/timezone"}]},{"group":"Data Permissioning","pages":[{"title":"Data Permissioning Overview","icon":"shield-check","href":"/embedded-bi/data-permissioning/overview"},{"title":"RLS \u0026 Schema Filtering","icon":"shield","href":"/embedded-bi/data-permissioning/rls-management"}]},{"group":"Scheduled Reporting","pages":[{"title":"Static Dashboards","icon":"file-lines","href":"/embedded-bi/scheduled-reporting/static-dashboards"},{"title":"SMTP Configuration","icon":"envelope","href":"/embedded-bi/scheduled-reporting/smtp-configuration"},{"title":"Schedule Reports","icon":"clock-eight","href":"/embedded-bi/scheduled-reporting/schedule-reports"}]},{"group":"Sharing \u0026 Export","pages":[{"title":"Dashboard Link Sharing","icon":"rocket","href":"/embedded-bi/sharing-and-export/dashboard-link-sharing"},{"title":"Live Filter Sync, Auto-Height \u0026 Token Handoff (iframe postMessage)","icon":"arrows-left-right","href":"/embedded-bi/sharing-and-export/iframe-messaging"}]},{"group":"Customize","pages":[{"title":"Overview","icon":"paintbrush","href":"/embedded-bi/customize-dashboards/overview"}]}]},{"tab":"Integrations","pages":[{"title":"Integrations","href":"/integrations/introduction"}]},{"tab":"Chart Configurations","pages":[{"title":"Chart Configurations","href":"/content/charts/area-line-chart"}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/v2/migrate-from-v1"}]},{"tab":"SQL Reference","pages":[{"title":"SQL Reference","href":"/sql/introduction"}]},{"tab":"Demo","pages":[{"title":"Demo","href":"/demo/product-walkthrough"}]}]},"basePath":"","title":"Controlled Filters - Upsolve AI","buildId":"dpl_596ePT575z4qnAFksq1biRW97aLY","deploymentId":"dpl_596ePT575z4qnAFksq1biRW97aLY","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-C5F0mVLH.js","lightbox-handle-r17bVUz3.js"]}