Feedback widget
Collect content feedback from readers and route submissions to your team's notification service.
The Feedback widget lets readers tell you whether a content page was helpful. Readers can rate the page, select a reason for negative feedback, and optionally leave additional comments.
Each submission goes to a single API endpoint, which makes integrating with Slack, Microsoft Teams, email, Jira, or your own internal notification system easy.
Enable the Feedback widget
Enable the widget in camelmind.config.ts:
site: {
showFeedbackWidget: true,
},
When enabled, the widget appears at the bottom of every documentation page.
What readers see
Readers can:
- Mark a page as Helpful or Not helpful
- Select a reason when leaving negative feedback
- Leave an optional comment
- Specify whether they would like a follow-up on their feedback
Each submission automatically includes the page title and URL.
Route feedback to your notification service
CamelMind routes all feedback to:
app/api/feedback/route.ts
Update this route to forward submissions to your preferred notification service. CamelMind includes a Slack implementation by default, but you can customize the route to integrate with any service, including:
- Slack
- Microsoft Teams
- Discord
- Jira
- Linear
- GitHub Issues
- Custom internal APIs
Once you've configured your notification service, update app/api/feedback/route.ts to send the feedback payload to your destination.
Because every submission passes through this single endpoint, you can also send feedback to multiple destinationsāfor example, posting to Slack while simultaneously creating a Jira issue.
Feedback payload
Each submission includes the following information.
| Field | Description |
|---|---|
rating | Indicates whether the reader marked the page as helpful or not helpful. |
reason | The selected reason and any optional comment. |
allowFollowUp | Whether the reader agreed to a follow-up. |
pageTitle | The title of the documentation page. |
pageSlug | The URL path of the documentation page. |
You can use these values in app/api/feedback/route.ts to format messages or populate tickets in your notification system.
Example: Customize the notification
The default implementation posts feedback to Slack. To use another service, replace the notification logic in app/api/feedback/route.ts while keeping the request handling and feedback payload unchanged.
For example, you can:
- Send an email using Resend, SendGrid, or Postmark.
- Create an issue in Jira or GitHub.
- Post a message to Microsoft Teams or Discord.
- Forward the payload to an internal API for further processing.
You do not depend on any specific notification providerāthe API route gives you complete control over feedback delivery.