> ## Documentation Index
> Fetch the complete documentation index at: https://domoinc-openapi-sync-dataflows.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# URL Parameters in Embedded Content

Domo Everywhere supports three main types of URL parameters in embedded content:

<ul>
  <li>Transparent Backgrounds </li>
  <li>Pfilters </li>
  <li>AppData </li>
  <li>ViewId (App Studio Specific) </li>
</ul>

## Transparent Backgrounds

***

Many embed customers customize the dashboard background color or image to make embedded content feel native.

<iframe src="https://www.youtube.com/embed/plqweXEX6u0" title="Transparent Backgrounds" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen />

<Frame>
  <img src="https://mintcdn.com/domoinc-openapi-sync-dataflows/iw1IetDHTR-tXArd/images/dev/web-assets.domo.com/blog/wp-content/uploads/2022/08/URLParameters1-1.png?fit=max&auto=format&n=iw1IetDHTR-tXArd&q=85&s=d39cb229476a9e8bc2a1d0b3c3d7b871" alt="" width="1422" height="753" data-path="images/dev/web-assets.domo.com/blog/wp-content/uploads/2022/08/URLParameters1-1.png" />
</Frame>

With this URL parameter, making the background totally transparent can make embedded content seem even more native to the host page.

Here is how an embedded dashboard looks when the background is the host page is black and the URL parameter is set to true (?transparentBackground=true)

<Frame>
  <img src="https://mintcdn.com/domoinc-openapi-sync-dataflows/iw1IetDHTR-tXArd/images/dev/web-assets.domo.com/blog/wp-content/uploads/2022/08/URLParameters2.png?fit=max&auto=format&n=iw1IetDHTR-tXArd&q=85&s=93720076a96f14cdf267925aa6dd2a36" alt="" width="1988" height="1054" data-path="images/dev/web-assets.domo.com/blog/wp-content/uploads/2022/08/URLParameters2.png" />
</Frame>

Here is how that same embedded dashboard looks when the background transparency is set to false (?transparentBackground=false)

<Frame>
  <img src="https://mintcdn.com/domoinc-openapi-sync-dataflows/iw1IetDHTR-tXArd/images/dev/web-assets.domo.com/blog/wp-content/uploads/2022/08/URLParameters3.png?fit=max&auto=format&n=iw1IetDHTR-tXArd&q=85&s=4bd41e03e564637f1e0febe1247fd416" alt="" width="1992" height="1052" data-path="images/dev/web-assets.domo.com/blog/wp-content/uploads/2022/08/URLParameters3.png" />
</Frame>

## PFilters

***

You can use Pfilters (Python particle filters) to apply filters from URL query parameters to embedded Domo Dashboards as a layer after SSO or programmatic filtering.

The Pfilter acts as an array of page filter objects. Any matching column names will be filtered upon page load even if they are based on different DataSets. Results can be validated in POST requests on the network tab.

Review how to link from one embedded dashboard to another while maintaining secure programmatic filters [here](/portal/embed/embed-in-sites-and-apps/programmatic-filtering#linking-across-embedded-dashboards-while-persisting-programmatic-filters).

### Example

The following multi-line example shows Pfilters being used to apply filters to an embedded Domo Dashboard. Note, this example is broken up into multiple lines:

```url theme={"dark"}
example.domo.com/embed/pages/private/ABCDE

?pfilters=[{
  "column":"Pos",
  "operand":"IN",
  "values":["TE","WR"],
},
{
  "column":"Location",
  "operand":"IN",
  "values":["Amsterdam","Anchorage"],
}]
```

### Operands

The operands you can use when writing code with Pfilters are as follows. Note that the values always need square brackets for the array, even when only a single value is included.

* IN
* CONTAINS
* EQUALS
* NOT\_EQUALS
* GREATER\_THAN
* LESS\_THAN
* GREAT\_THAN\_EQUALS\_TO
* LESS\_THAN\_EQUALS\_TO
* BETWEEN

### Persistence of Pfilters across Pages

Domo automatically creates Pfilters when you check Persist Filters in the embed dialog, as shown here:

<Frame>
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/domoinc-openapi-sync-dataflows/images/dev/stoplight.io/images/Screenshot-2023-11-09-at-12.02.05-PM.png%3E" alt="" />
</Frame>

You can then view the parameters by hovering over the content. (Card interactions must be turned on and set to External link for this to work). This is shown for the "QA pass rate by model" Card in the following example:

<Frame>
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/domoinc-openapi-sync-dataflows/images/dev/stoplight.io/images/Screenshot-2023-11-09-at-12.03.02-PM.png%3E" alt="" />
</Frame>

When viewers click those links, any parts of the story they had previously clicked will be passed along as Pfilters to the next Page. These filters can either be applied to single Cards or complete Pages (even if the Pages contain many Cards based on various DataSets).

<Frame>
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/domoinc-openapi-sync-dataflows/images/dev/stoplight.io/images/Screenshot-2023-11-09-at-12.04.56-PM.png%3E" alt="" />
</Frame>

### Persistence of Pfilters across sessions

If you want Pfilters to expand beyond pages to also persist across sessions and refreshes, you'll need to store and load the last known state of the Pfilters. One way to do this is through AppDB.

### Malformed criteria

If a Pfilter is written incorrectly, the unfiltered version renders and a black error bar appears.

<Frame>
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/domoinc-openapi-sync-dataflows/images/dev/stoplight.io/images/Screenshot-2023-11-09-at-12.06.54-PM.png%3E" alt="" />
</Frame>

## AppData

***

The appData parameter supports passing in general types of inputs to the app. The app developer needs to watch for the parameter, parse the value, and inject it into the most relevant part of the app.

For example, the value of the parameter could then auto-populate a drop-down menu in an app that selects the location. This way, the host page can avoid the delay of waiting for manual inputs. They can now deep-link to a version of the app that already has specific values filled in. Spaces should be encoded as “+” :

```html theme={"dark"}
public.domo.com/embed/pages/abcde?appData=Salt+Lake+City
```

The query parameters on the embed URL will then be automatically passed down into the apps (e.g. xyz.domoapps.prod4.domo.com) contained by the embedded cards or dashboards.

## ViewId

***

App Studio includes many navigatable page views, for control outside of the embeded App Studio app, a viewId can be provided in the URL to tell the app a specific page view to open to directly instead of the default landing page view. As well as this parameter can be used by programmatic filter calls to prevent reloading and ensure the page opens to the page that the filter was set.

To find these view ids, when opening an embedded page, looking at the network traffic, the views can be found in the following request `https://embed.domo.com/embed/app-studio/<EMBED TOKEN>/dataapp`. In the response, there is an array of `views`, listing the id and names.

```html theme={"dark"}
public.domo.com/embed/pages/abcde?viewId=835972594
```
