Skip to main content
PR #1971 shipped a universal website embed widget plus an admin-side customisation panel. This is the recommended embed path for any surface that isn’t a Shopify storefront (CMS, custom sites, partner portals).
Organisation branding and appearance settings

Branding & Appearance panel: theme mode, logos, and brand assets configured here.

What it is

A small embed script you drop into your site. The script finds a placeholder <div> and injects a Nudj widget wired to your community. The widget is styled from the community theme and respects the embed configuration created in the admin panel.

Setup

1

Configure the widget in admin

Open the admin panel’s embed customisation panel (PR #1971). Choose the widget layout, theme overrides, and the authentication mode — OIDC SSO or API Link token handoff.
2

Copy the embed snippet

The customisation panel surfaces a ready-to-paste snippet. It looks something like:
3

Drop the snippet onto your page

Paste the snippet anywhere on the page. The widget renders into the placeholder div on first paint.
4

Authenticate the user

  • OIDC flow — the user clicks “Sign in” inside the widget and is redirected through your identity provider and back.
  • API Link flow — your server issues a Nudj token and your page passes it to the widget (see API Link for the protocol).

CSP allowlist

PR #2333 opened the Nudj user app’s CSP frame-ancestors directive so the universal embed can render on arbitrary third-party domains without the browser blocking it. This matters because the widget ships as an iframe under the hood — without the CSP change, every new embedding host would have needed a manual allowlist entry.

When to pick the universal embed

Differences from the Shopify widget

The universal embed and the Shopify theme app extension share the same underlying Nudj user app. What differs:
  • Distribution — the Shopify widget is a theme app extension merchants add from the theme editor; the universal embed is a script tag you host.
  • Configuration surface — Shopify widgets are configured per-block in the theme editor; the universal embed is configured once in the admin panel.
  • CSP — Shopify storefront domains are allowlisted by PR #1638; universal embed uses the wider allowance from PR #2333.

Next steps

Embedding modes overview

Compare all four embedding modes.

Custom domains + theming

Theme the embedded widget to match your brand.
Last reviewed: 2026-04 · Related PRs: #1971, #2333, #1638