Skip to Content
You're looking at the old Cube documentation. Visit the new docs →

Creator mode

Available on the Enterprise plan .

Creator mode enables you to embed the entire Cube application with workbooks-dashboard functionality. Users will be able to create and modify their dashboards directly within the embedded application.

How it works

In creator mode, you embed the full Cube application instead of individual dashboards or chat interfaces. This provides users with the complete Cube experience, including the ability to:

  • Create new dashboards
  • Modify existing dashboards
  • Access all workbook and dashboard functionality
  • Build custom analytics experiences

To enable creator mode, pass creatorMode: true to the Generate Session API when generating an embed session. Optionally, pass embedTenantName to scope content to a specific embed tenant — by default, creator mode uses the current tenant’s name.

Embed tenant name

embedTenantName is an optional parameter on the Generate Session API used to scope all content (dashboards, workbooks, etc.) that users create within the embedded application to a specific embed tenant. This ensures proper data isolation in multi-tenant scenarios.

When embedTenantName is omitted in creator mode, the session defaults to the current tenant, so most setups don’t need to set it.

The value must be lowercase, start with a letter, end with a letter or number, and only contain letters, numbers, or hyphens (length 5–36).

Using creator mode

To use creator mode and embed an app:

  1. Set the embed type to “App” in the form
  2. Fill in Deployment ID and either External ID or Internal ID (email). Optionally provide an Embed Tenant Name to scope content to a specific embed tenant
  3. Click “Generate Session & Embed” — the request automatically includes creatorMode: true for app embeddings
  4. The app is embedded at /embed/d/{deploymentId}/app?session={sessionId} and displayed in the iframe

Creator mode is enabled automatically when the embed type is “app”; no additional configuration is needed.

Example

const API_KEY = "YOUR_API_KEY"; const DEPLOYMENT_ID = 32; const session = await fetch( "https://your-account.cubecloud.dev/api/v1/embed/generate-session", { method: "POST", headers: { "Content-Type": "application/json", Authorization: `Api-Key ${API_KEY}`, }, body: JSON.stringify({ deploymentId: DEPLOYMENT_ID, externalId: "user@example.com", creatorMode: true, // Optional — defaults to the current tenant when omitted: // embedTenantName: "acme-corp", }), }, ); const data = await session.json(); const sessionId = data.sessionId;

Embedding the app

Use the session ID to embed the full Cube application:

<iframe title="Cube App" src="https://your-tenant.cubecloud.dev/embed/d/{deploymentId}/app?session={sessionId}" width="100%" height="800" ></iframe>

Replace {deploymentId} with your deployment ID and {sessionId} with the session ID returned from the Generate Session API.

Example application

For a complete working example of embedding, including creator mode, check out the cube-embedding-demo  repository. This demo application provides:

  • A full working example of iframe embedding
  • Implementation of signed iframe embedding with session generation
  • Support for creator mode with an optional embed tenant name
  • A React-based UI for testing embedding functionality
  • Backend server that securely handles API key authentication

You can clone the repository, configure it with your Cube credentials, and run it locally to test embedding functionality or use it as a reference implementation for your own application.

Was this page useful?