Getting Started
Add feedback collection to any website with just two lines of code. Choose between GitHub discussions (recommended) or issues:
Quick Setup - GitHub Discussions (Recommended)
Alternative - GitHub Issues
Try the Demo
Click any button above to see different widget configurations in action! Also notice the vertical "Feedback" tab on the right side of your screen.
Key Features
GitHub Integration
- Creates GitHub discussions
- Creates GitHub issues
- Automatic categorization
- Custom labeling support
Flexible Theming
- Inherit page styles
- Tailwind CSS support
- Custom color schemes
- Dark/light themes
Custom Triggers
- Vertical tab design
- Custom trigger elements
- Programmatic API
- Event-based triggering
Universal Support
- React, Vue, Svelte, Angular
- Plain HTML
- Mobile responsive
- Accessibility ready
Discussions vs Issues
Choose the right GitHub feature for your feedback collection:
| Feature | GitHub Discussions | GitHub Issues |
|---|---|---|
| Best for | General feedback, questions, community input | Bug reports, feature requests, actionable items |
| Structure | Threaded conversations, organized by category | Linear comments, organized by labels |
| Workflow | Community-driven discussions | Project management, assignees, milestones |
| Configuration |
data-type="discussion"data-category="feedback"
|
data-type="issue"data-labels="feedback,bug"
|
Theming & Customization
1. Inherit Page Styles (Recommended)
Let the widget inherit your site's existing CSS for perfect integration. This requires adding CSS classes to style the widget components:
Step 1: Enable inherit styling
Step 2: Add CSS styles for widget components
Step 3: Tailwind CSS Version
Available CSS Classes for Styling
| CSS Class | Element | Description |
|---|---|---|
.feedback-widget-modal |
Modal container | Main modal wrapper |
.feedback-widget-header |
Header section | Contains title and close button |
.feedback-widget-title |
Modal title | H2 heading element |
.feedback-widget-close-btn |
Close button | X button in header |
.feedback-widget-form |
Form element | Main form container |
.feedback-widget-field |
Field wrapper | Contains label + input |
.feedback-widget-label |
Form labels | Label elements |
.feedback-widget-input |
Text inputs | Subject and email inputs |
.feedback-widget-textarea |
Textarea | Feedback message field |
.feedback-widget-actions |
Button container | Cancel and submit buttons |
.feedback-widget-btn |
Base button | Base class for all buttons |
.feedback-widget-btn-primary |
Submit button | Primary action button |
.feedback-widget-btn-secondary |
Cancel button | Secondary action button |
2. Tailwind CSS Classes (Quick Setup)
Use Tailwind CSS classes for quick theming without inherit styling:
3. Custom Colors & Button Positions
Direct color customization and button positioning:
Position options: right (default),
left, bottom-right,
bottom-left
Custom Triggers & Forms
Custom Trigger Button
Use your own styled button instead of the default vertical tab:
Programmatic API
Trigger the feedback modal programmatically:
Custom Form
Provide your own completely custom form:
Framework Examples
React/Next.js
Svelte/SvelteKit
Vue.js
Angular
Complete Configuration Reference
All available configuration options:
| Attribute | Type | Default | Description |
|---|---|---|---|
data-repo |
String | Required | GitHub repository (owner/repo) |
data-token |
String | Required | GitHub Personal Access Token |
data-type |
String | "discussion" | "discussion" or "issue" |
data-category |
String | "feedback" | Discussion category name |
data-labels |
String | "feedback" | Comma-separated issue labels |
data-title |
String | "Feedback" | Modal title |
data-position |
String | "right" | "right", "left", "bottom-right", "bottom-left" |
data-inherit-styling |
Boolean | false | Use page CSS instead of inline styles |
data-custom-trigger |
String | null | CSS selector for custom trigger button |
data-custom-form |
String | null | CSS selector for custom form |
data-theme |
String | "light" | "light" or "dark" |
data-primary-color |
String | "#007bff" | Primary color (hex/rgb) |
data-primary-color-class |
String | null | CSS class for primary color |
GitHub Token Setup
Create a GitHub Personal Access Token with the right permissions:
For GitHub Discussions
For GitHub Issues
Steps to Create Token
- Go to GitHub Settings → Developer settings → Personal access tokens
- Click "Generate new token (classic)"
- Select required scopes based on your needs
- Set appropriate expiration date
- Copy the token and store it securely
Ready to collect feedback?
Get started in under 2 minutes with our universal feedback widget
View on GitHub NPM Package Direct CDN Link