@dobrodesk/widget
v0.3.0
Published
Programmatic browser SDK for the DobroDesk website support widget.
Maintainers
Readme
@dobrodesk/widget
Browser SDK for the DobroDesk website support widget.
Install
npm install @dobrodesk/widgetGet the Integration ID
In DobroDesk open Admin > Channels > Website widgets. Create a widget or select an existing one, then copy its Integration ID. DobroDesk generates this public ID automatically. Each widget has its own ID.
Initialize
import { createDobroDeskWidget } from "@dobrodesk/widget";
const widget = createDobroDeskWidget({
integrationId: "wgt_0123456789abcdef0123456789abcdef",
locale: "auto",
launcher: "hidden",
});
await widget.ready;
widget.open();integrationId is the Integration ID from DobroDesk Admin. Initialize the SDK in browser-side code.
Use launcher: "hidden" when your own button opens the widget with widget.open().
Logged-in customers
Generate a short-lived HS256 identity JWT in your backend and pass it with the already known email. Never put the widget identity secret in browser code.
const widget = createDobroDeskWidget({
integrationId: "wgt_0123456789abcdef0123456789abcdef",
identityToken: await loadIdentityTokenFromYourBackend(),
prefill: {
email: currentUser.email,
name: currentUser.name,
},
});When prefill.email is present, DobroDesk does not ask for it again. A valid JWT with email_verified: true makes the address trusted immediately; an unsigned prefill remains unverified until the customer confirms the email link.
If login happens later, use:
widget.setIdentityToken(await loadIdentityTokenFromYourBackend());
widget.prefill({ email: currentUser.email, name: currentUser.name });Call widget.logout() before ending the host application's authenticated session. It clears the
customer identity, local widget session and visible conversation history so the next person using
the browser cannot inherit the previous customer's support context.
Full setup, API and localization instructions: dobrodesk.com/help/initialize-dobrodesk-widget-programmatically.
