Skip to main content
In this guide, you’ll set up standard SSO for Omni embed using the v1 (latest) signing format. As the simplest way to embed Omni, this involves generating and using a single URL to create an embed user session.
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
If you want to use the Omni TypeScript SDK to generate an embed URL, you’ll need @omni-co/embed v1.0.0 or later:
1

Generate an embed secret

  1. Navigate to Settings > Embed > Admin in your Omni instance.
  2. Click the Add Secret button below the secrets table.
  3. 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”)
      Use descriptive names for your secrets to make them easier to identify and manage, especially when rotating secrets or managing multiple environments.
  4. Click Add secret to save the new secret.
2

Customize session length

This step is optional.
In the Embed settings of your Omni instance, you can also customize the length of embed sessions using the Session Length setting. In this field, enter the number of hours you want sessions to last and click Change.
3

Generate an embed URL

Because embed URLs are signed using your Omni organization’s embed secret, it is crucial that your embed URLs are generated server-side rather than client-side. From a security perspective, this protects your embed secret from being exposed to attackers.
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.
Omni’s TypeScript SDK is the recommended way to generate embed URLs. Each function returns a complete, signed login URL:
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.
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 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
See URL expiry for more information.
4

Review the signed embed URL

A v1 login URL has the following form, where all parameters are carried inside the payload parameter:
For example, this is a signed embed URL for a 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.
5

Test the URL with the Embed URL Builder

This step is optional.
While the embed URL builder is primarily intended for internal embedding, you can use it to test the format of your URL parameters.
  1. First, you’ll need your content’s unique ID:
    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 /dashboards is the dashboard’s ID; for example:
    • 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.
  2. Navigate to Admin > Embed > URL Builder tab.
  3. Fill in the required fields, noted below:
    • Content Path
      • For dashboards: /dashboards/<content_id>
      • For workbooks: /w/<content_id>
      • For apps: /apps/<content_id>
    • External ID - Any alphanumeric value
    • Name - Any alphanumeric value
  4. Generate your URL and embed!