@flidget/web-sdk
v0.1.5
Published
Official Flidget browser SDK: identify users, track product usage, and run Retention Copilot.
Readme
@flidget/web-sdk
Official browser SDK for Flidget: identify users, emit product / drift-style events, and optionally load Retention Copilot (widget.js) from your configured API host.
Install
npm install @flidget/web-sdkQuick start
Call init once you know the signed-in user (client-side only — not during SSR):
import Flidget from "@flidget/web-sdk";
Flidget.init({
appId: "<your-public-key>",
userId: "user_123",
email: "[email protected]",
});
Flidget.track("feature_used", { feature: "export" });String shorthand for the public key:
Flidget.init("<your-public-key>", { userId: "user_123", email: "[email protected]" });What you must pass
| Field | Notes |
|--------|--------|
| appId | Your public app key (safe in the browser). |
| userId or email | At least one, for identity and dashboard alignment. |
| apiBase | Optional. API origin (no trailing slash). If omitted, the SDK uses its bundled default; set this for self-hosted or non-default endpoints. |
Drift only (no exit-chat bundle)
Flidget.init({ appId: "…", userId: "…", loadExitChat: false });Optional helpers
Flidget.openExitChat()— opens the Retention Copilot overlay afterwidget.jshas loaded.Flidget.isExitChatAllowed({ apiBase, publicKey, userId?, userEmail? })—Promise<boolean>; lightweight check before loading the widget (plan limits / already completed session).Flidget.setDefaultApiBase(origin)— override the default API origin beforeinit, if you need to.
Script-tag embeds (no bundler)
If you do not use npm, you can still load sdk.js and widget.js from your Flidget deployment using the HTML snippets in the in-app integration docs. This package is aimed at apps that bundle with Vite, webpack, or Next.js client code.
Browser permissions & CSP
Allow connect-src (and script-src if you load scripts from your API host) for the same origin you pass as apiBase.
Troubleshooting
| Symptom | What to check |
|--------|----------------|
| Events or widget calls fail with 403 / origin | Your site’s allowed embed domains in the Flidget dashboard must include the host users browse from. |
| Widget does not appear | Confirm loadExitChat is not false, apiBase is correct, and the browser console for blocked requests or CSP. |
| Double initialization | A second init is ignored (warning in the console). |
Security
- Use only the public key in the browser. Do not ship secret keys in client code.
License
Apache-2.0 — see LICENSE in this package.
