Embed a widget
Embed customizable FeatureOS widgets for feedback, roadmap, and changelog on your website.
FeatureOS provides a highly customizable widget for feedback boards, roadmaps, and changelogs.
Setup
Add the following snippet to your website and attach it to a trigger button:
<button id="featureosWidget">Click Here ✨</button>
<script>
const widget = new window.HellonextWidget({
token: 'YOUR ORGANIZATION WIDGET TOKEN',
modules: ['feature_requests', 'changelog'],
selector: '#featureosWidget'
});
widget.init();
</script>Note — Find your organization widget token in your organization settings.
Options
-
token: Your organization widget token. -
ssoToken: A user JWT generated from the JSON structure below, signed with your organization's SSO key. Required to let users create feature requests and vote.{ "email": "<EMAIL OF THE USER>", "name": "<NAME OF THE USER>" } -
jwtToken: (Deprecated) The JWT token of the user. UsessoTokeninstead. -
modules: Modules to enable. Supported:feature_requests,changelog,knowledge_base. -
selector: The element the widget attaches to. -
placement: Widget position —left,right,sticky-left,sticky-right. -
openFrom: Where the widget opens from —center,left,right. -
type: Widget type —popoverormodal. -
theme:lightordark. -
accent: The accent color. Either a hex string, or an object for granular control:background: Widget background across the whole interface.primary: Gradient, header, and button elements.button: Button elements only.
-
triggerText: Text shown on the default trigger button when noselectoris given. -
enableIndicator: Show a count of new published changelogs. -
showChangelogIndicator: Show the new-changelog indicator dot on the trigger button. Defaults totrue. -
submissionBucketIds: Restrict submissions to specific bucket IDs; only these appear in the submission form's bucket dropdown. -
hideBucketSelection: Hide the bucket dropdown whensubmissionBucketIdshas a single ID. Defaults tofalse. -
showOnlySubmission: Show only the submission form for thefeature_requestsmodule. -
suggestSimilarPost: Suggest similar posts as a user types. Defaults totrue. -
postOnBehalf: Post feature requests on behalf of a user.nameemailadd_as_customer: Also add the user as a customer.
-
changelogFilters: Filters for the changelog module.per_page: Number of changelog items per page.ids: Specific changelog item IDs to show.labels: Changelog labels to show.published_at: Show changelog items published from this date.
-
hideChangelogLabels: Hide labels on changelog items. Defaults tofalse. -
locale: Default language for the widget and changelog module. Defaults to the organization's default language, or English (en). -
allowedLanguages: Languages allowed for the changelog module. -
postFilters: Filters for the feature requests module.status: Statuses to show.bucket_id: Bucket to show.
-
noDefaultTrigger: Don't render the default trigger button. -
autoOpenWhenNewChangelog: Open the widget automatically when a new changelog is published. -
launcherIconURL: Icon shown in the launcher button. -
showAllChangelogLink: Show the "View all" link in the changelog module. Defaults totrue. -
showAllPostLink: Show the "View all" link in the feature requests module. Defaults totrue. -
showAllArticles: Show the "View all" link in the knowledge base module. Defaults totrue. -
module_names: Customize the display names used in the widget modules.roadmap_name,roadmap_plural_namebucket_plural_name,bucket_singular_namechangelog_plural_name,changelog_singular_nameknowledge_base_name
Example:
{ "bucket_plural_name": "Feedback Groups", "changelog_singular_name": "Update" } -
customizations: Style customizations.disableBackgroundOverlay: Disable the background overlay.indicatorColor: Custom color for the new-changelog indicator dot.widgetWidth: Custom widget width (e.g.400px).styles:headerButtonStylesbackButtonStylesmoduleLinkButtonStyles
Methods
widget.open: Open the widget programmatically.widget.close: Close the widget programmatically.
Events
onInitialized: Fired when the widget is initialized.onNewChangelogIndicator: Fired when a new changelog is published.