Feedback widget for Fumadocs
PushFeedback collects user feedback directly from your website. This guide covers installation in a Fumadocs project.

Prerequisites
Before you begin, you need:
- A PushFeedback account. If you don't have one, sign up for free.
- A project created in your PushFeedback dashboard. If you haven't created one yet, follow the steps in the Quickstart guide.
- A Fumadocs site and Node.js installed.
Installation
Install PushFeedback:
npm install pushfeedback-reactinfoIf you're using pnpm as your package manager, run
pnpm add pushfeedback-reactinstead of the npm command above.Create a new component file
components/feedback-widget.tsxwith the following content:'use client';
import React, { useEffect } from 'react';
import { FeedbackButton } from 'pushfeedback-react';
import { defineCustomElements } from 'pushfeedback/loader';
import 'pushfeedback/dist/pushfeedback/pushfeedback.css';
export function FeedbackWidget() {
useEffect(() => {
if (typeof window !== 'undefined') {
defineCustomElements(window);
}
}, []);
return (
<FeedbackButton
project="<YOUR_PROJECT_ID>"
button-position="bottom-right"
modal-position="bottom-right"
button-style="dark"
custom-font="true">
Feedback
</FeedbackButton>
);
}Replace
<YOUR_PROJECT_ID>with your project's ID from the PushFeedback dashboard.Import and add the
FeedbackWidgetcomponent to your root layout file (app/layout.tsx):import { FeedbackWidget } from '@/components/feedback-widget';
export default function RootLayout({
children,
}: {
children: React.ReactNode;
}) {
return (
<html lang="en">
<body>
{children}
<FeedbackWidget />
</body>
</html>
);
}Start your Fumadocs project by running
npm run devin your terminal. Once it compiles successfully, verify that the feedback button appears and functions correctly on your site.
Next steps
Choose what to do next:
- Customization — Adjust the widget's layout, styles, and text.
- Integrations — Forward feedback to Slack, email, Jira, and more.