jsapi-filters

Apply client-side filters to embedded Domo content via the JS API.

19|13|Updated Jan 20, 2026
One-click install
npx skills add https://github.com/stahura/domo-ai-vibe-rules --skill jsapi-filters
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: jsapi-filters
Source: https://github.com/stahura/domo-ai-vibe-rules/tree/main/skills/domo-everywhere/jsapi-filters
Command: npx skills add https://github.com/stahura/domo-ai-vibe-rules --skill jsapi-filters

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Enables real-time, client-side filtering of embedded Domo content using the JS API (MessagePort) without server-side re-tokenization.

Core Features & Use Cases

  • Client-side filter application via the JS API to embedded Domo content.
  • Support for drill events, filter-change listeners, iframe resize, and App Studio data exchange.
  • Handles URL-based filtering with pfilters and the overrideFilters parameter for App Studio apps.

Quick Start

Mount the JS API listener early in your app and use applyFilters to send runtime filters to embeds.

Frequently Asked Questions about jsapi-filters

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I apply real-time client-side filters to embedded Domo content?

Real-time client-side filtering of embedded Domo content is achieved by using the JS API MessagePort to apply runtime filters directly in the browser. This allows interactive UIs to update without requiring server-side re-tokenization.

Can I synchronize filter changes across multiple embedded Domo iframes?

Yes, you can synchronize filter changes across multiple embeds using the JS API. The system handles filter-change synchronization and communicates updates between the host application and Domo iframes via MessagePort events.

How do I listen for drill events in an embedded Domo App Studio application?

To listen for drill events in an embedded Domo application, you mount a JS API listener in your host app. This captures Domo-to-host events like /v1/onDrill and /v1/onAppReady sent through the MessagePort.

What is the best way to filter Domo content without server-side re-tokenization?

Filtering Domo content without server-side re-tokenization is best handled by applying client-side filters via the JS API. The host application uses /v1/filters/apply to send runtime parameters directly to the embedded iframe.

Does the Domo JS API support URL-based filtering parameters like pfilters?

Yes, the Domo JS API supports URL-based filtering using pfilters and the overrideFilters parameter. This is specifically useful for configuring initial filter states within App Studio applications.

Why is my embedded Domo iframe not resizing correctly with the JS API?

Embedded Domo iframe resizing is managed through the /v1/onFrameSizeChange event. You must ensure your JS API listener is mounted correctly to catch these Domo-to-host events and adjust the container dimensions dynamically.