omni-embed

Embed Omni Analytics dashboards in external applications using signed iframe URLs and the @omni-co/embed SDK.

Updated Aug 7, 2026
One-click install
npx skills add https://github.com/noiz354/oc-rebirth-rca --skill omni-embed-noiz354
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: omni-embed
Source: https://github.com/noiz354/oc-rebirth-rca/tree/main/planning-zip/omni-agent-skills/skills/omni-embed
Command: npx skills add https://github.com/noiz354/oc-rebirth-rca --skill omni-embed-noiz354

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires @omni-co/embed.

What problem does it solve? Embedding Omni Analytics dashboards into external applications requires correct URL signing, host configuration, theming, and permission handling, and mistakes like using API tokens as embed secrets or wrong hostnames cause broken or insecure embeds. ## Core Features & Use Cases - Signed Embed URLs: Generate signed iframe URLs server-side with embedSsoDashboard() from @omni-co/embed, including user attributes for row-level security. - Custom Themes & Events: Style embedded dashboards with customTheme properties and handle two-way postMessage events like dashboard:tile-drill and dashboard:filter-change-by-url-parameter. - Permission-Aware Content: Resolve embed users via SCIM, list documents scoped to user permissions, and set up entity workspaces for user-created dashboards. - Use Case: Build a customer portal sidebar that shows only the dashboards each embed user can access, then render the selected dashboard in a branded iframe that logs drill interactions back to the parent app. ## Quick Start Ask the agent to generate a signed embed URL for a specific dashboard UUID and user email using the @omni-co/embed SDK with the appropriate brand filter applied.

Frequently Asked Questions about omni-embed

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

FAQPage Schema
How do I embed an Omni dashboard in my application?▼

Embed an Omni dashboard by generating a signed URL server-side with embedSsoDashboard() from the @omni-co/embed SDK, then loading it in an iframe. Provide the dashboard UUID, embed secret, bare embed hostname, user externalId, and display name.

How to sign an Omni embed URL with row-level security?▼

Pass userAttributes as a Record of string arrays to embedSsoDashboard(), such as { brand: ['Acme'] }, to enforce row-level security. Always sign server-side using OMNI_EMBED_SECRET from Admin → Embed, never an API token.

Why does my Omni embed URL return a 400 error?▼

A 400 error typically occurs when the host parameter includes a protocol like https:// or a port. The host must be a bare hostname such as yourorg.embed-omniapp.co, and it must be the embed domain, not the .omniapp.co API domain.

Can I listen for click and drill events from an embedded dashboard?▼

Yes, Omni sends postMessage events with source: 'omni' that the parent app can listen for. Handle dashboard:tile-drill to access drill.rowToDrill data, and use dashboard:filter-change-by-url-parameter to push filters into the iframe.

How do I show only dashboards a specific embed user can access?▼

Look up the user with omni scim embed-users-list filtered by embedExternalId to get the Omni user ID, then call omni documents list --userid with that ID. Filter results to hasDashboard: true before rendering the list.

Can I use my Omni API token as the embed signing secret?▼

No, API tokens authenticate REST and CLI calls and are not valid embed signing secrets. Use the embed secret from Admin → Embed, exposed as OMNI_EMBED_SECRET, and keep signing in server-side Node.js code using the SDK.