Migrating from v0? See Migrating to the v1 embed standard SSO signing format to learn about what changed in v1 and how to migrate your code.
Requirements
To follow the steps in this guide, you’ll need:- Organization Admin permissions
- To have the Embed feature enabled in your Omni instance
@omni-co/embed v1.0.0 or later:
Generate an embed secret
- Navigate to Settings > Embed > Admin in your Omni instance.
- Click the Add Secret button below the secrets table.
- In the dialog that appears:
- A 32-character secret key is automatically generated for you
- Enter a descriptive Name to identify the secret’s purpose (e.g., “Production”, “Staging”, or “Partner Integration”)
- Click Add secret to save the new secret.
Customize session length
This step is optional.
Generate an embed URL
Omni embed URLs are signed with a secret key used only by your organization. When an Omni server receives the request, it verifies the signature using that secret. If the signature checks out, the request is honored.There are three ways to generate a signed embed URL - the SDK (recommended), the API, or manually. Click the tabs below to view instructions for each approach.
- SDK (Recommended)
- API
- Manual
Omni’s TypeScript SDK is the recommended way to generate embed URLs. Each function returns a complete, signed login URL:Every v1 payload carries an expiry. The SDK automatically sets the expiry to 24 hours from the moment the URL is minted. To choose a different lifetime, use the See URL expiry for more information.
Generate a v1 signed embed URL
The Omni TypeScript SDK utilizes Node’s
crypto module, which is only available in Node environments. Attempting to use Omni TypeScript SDK functions in a client-side context will likely lead to the SDK functions generating improperly signed embed URLs. Always generate embed URLs server-side.expiresIn parameter to define the new lifetime in seconds. The value must be positive and at most seven days (604800 seconds):Generate a URL that's valid for one hour
Review the signed embed URL
A v1 login URL has the following form, where all parameters are carried inside the For example, this is a signed embed URL for a
payload parameter:blobsrus organization:SDK-generated URLs also carry an
sdk parameter identifying the version that produced the URL. It isn’t covered by the signature and isn’t required - Omni uses it to understand which SDK versions are in use.Test the URL with the Embed URL Builder
This step is optional.
-
First, you’ll need your content’s unique ID:
Locate dashboard IDs
You can find the dashboard ID by:- Opening the document settings. Navigate to File > Document settings in the dashboard and then click Settings. The Identifier field contains the dashboard ID.
- Using the dashboard’s URL. The string after
/dashboardsis the dashboard’s ID; for example:
Locate workbook IDs
- If the workbook is attached to a dashboard, its content ID is the same as the dashboard
- If the workbook doesn’t have a dashboard, you can find the ID by navigating to File > Document settings, then clicking Settings. The Identifier field contains the document ID. Note: Embedding a workbook creates a copy of the workbook for that embed user so their changes are not reflected back into the application’s production version of the workbook.
- Navigate to Admin > Embed > URL Builder tab.
-
Fill in the required fields, noted below:
- Content Path
- For dashboards:
/dashboards/<content_id> - For workbooks:
/w/<content_id> - For apps:
/apps/<content_id>
- For dashboards:
- External ID - Any alphanumeric value
- Name - Any alphanumeric value
- Content Path
- Generate your URL and embed!

