One script tag per app. Everything below is the whole integration.
Load it early in <head>, before your app bundle, so the capture hooks install first.
<script src="https://bugkit.netlify.app/widget.js"
data-project-key="pub_myapp_xxxxxxxx" defer></script>
Mint the key once per app, owner-side: npm run project:new -- <slug> "<App Name>".
BugKit.setContext({
appVersion: '2026.07.25',
screen: 'Meal Plan',
userId: staff.id,
tenant: propertyId,
correlationHeader: 'x-correlation-id', // widget reads the last value it saw
extra: { flags: [...] },
});
BugKit.open(); // open the modal programmatically
BugKit.identify(user); // convenience wrapper over setContext
The widget auto-captures URL, viewport, locale, console errors, and the last failed
requests. Your setContext() adds the correlation id, semantic screen,
version, and user/tenant. See the live demo.
If your app already has something there (a mobile bottom bar), add
data-launcher="none" to the script tag and open the modal from your own
button with BugKit.open().