Widget customization
Most widget behavior is configured per project in the admin UI. You can optionally add script-level overrides for embed-specific tweaks.
Where to configure
Open Project → Widget Appearance in admin to set color, launcher style, launcher behavior, launcher motion, position, radius, and typography. These settings are fetched at runtime using your publishable key.
How config is fetched
On load, the widget requests its project configuration (e.g. evidence toggles and UI settings). If the current page origin is not allowed, config will be rejected.
Appearance settings live here, but evidence behavior is still constrained by the effective org and project policy resolved server-side.
/v1/projects/configOverride order
- 1. JavaScript init overrides (`window.FeedbackMom.init(...)`)
- 2. Project settings from admin (when mode is `project_first`)
- 3. Script tag data attributes (`data-*`)
- 4. Project settings from admin (when mode is `legacy`)
- 5. Widget defaults
Default mode is legacy for backwards compatibility. Switch to project_first in Project → Widget Appearance if you want admin settings to control embeds by default.
Launcher and motion options
- • Launcher style: `pill`, `bubble`, `chip`, `side_tab`
- • Launcher behavior: `auto`, `bubble`, `side_tab`, `hidden`, `disabled`
- • Launcher motion: `attention-subtle` or `none`
- • Position and mobile position: `bottom-*` or `center-*`
- • Edge offset + auto breakpoint for responsive behavior
For an “Issues?” CTA, side-tab + attention-subtle is usually the most noticeable without feeling too noisy.
Script-level customization
Keep defaults in admin, then override per embed only when needed.
<script defer src="https://api.feedback.mom/widget.js" data-key="pk_live_..." data-api="https://api.feedback.mom" data-env="prod" data-hide-launcher="true" data-launcher="side_tab" data-launcher-behavior="side_tab" data-launcher-motion="attention-subtle" data-button-text="Issues?" data-position="center-right" data-auto-breakpoint="768" ></script>
Custom launchers
Hide the built-in launcher when you want the host page to choose the entry flow. This is useful for marketing demos where Feedback and QA should start differently.
window.FeedbackMom.open({ entryVariant: "feedback" });
window.FeedbackMom.open({ entryVariant: "qa" });UI options
- • Theme (light/dark/auto), primary color, font family
- • Border radius (widget / launcher / modal)
- • Launcher behavior and button text
- • Desktop + mobile position, edge offset, breakpoint behavior
Evidence toggles
Screenshot capture/upload, replay, and other evidence types can be enabled per project and further constrained by org-level policy. The widget UI may guide the reporter toward a lighter Feedback flow or a stronger QA flow, but it still stays inside the effective evidence policy.
