The Feedback & Review Workflow lets you embed a lightweight feedback widget into any preview environment. Visitors can submit feedback, request changes, or approve the preview — without leaving the browser. All submissions land in your Dashboard inbox, ready to review and act on.
This feature is available on all paid plans (Individual and Business).
How It Works
When you deploy a preview with --feedback, prev automatically injects a small JavaScript widget into the preview environment. The widget appears as a floating button in the corner of the page. Visitors click it to open a feedback panel where they can:
- Write a free-text message describing what they think
- Mark the preview as Approved or request Changes
- Optionally include their name
Submissions are stored in your Dashboard and appear in the Feedback Inbox under Dashboard → Feedback.
Enabling the Widget
Pass the --feedback flag when creating a preview environment:
prev --feedback .
This activates the widget for that specific environment. Environments deployed without --feedback do not include the widget.
Combining with a Notification Profile
On the Business plan, you can route feedback notifications to Slack, Discord, Microsoft Teams, Google Chat, email, or a custom webhook by specifying a notification profile with --notify:
prev --feedback --notify acme-corp .
The named profile must exist in your Dashboard under Dashboard → Notifications & Webhooks. See the Notifications & Webhooks documentation for setup instructions.
CI/CD Integration
Add --feedback to your CI/CD workflow to automatically enable feedback collection on every pull request preview:
name: Deploy Preview
on:
pull_request:
types: [opened, synchronize]
jobs:
preview:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install prev
run: curl -fsSL https://prev.sh/install.sh | sh
- name: Deploy with feedback
run: prev --feedback --subdomain pr-${{ github.event.number }} .
env:
PREV_API_KEY: ${{ secrets.PREV_API_KEY }}
Combined with a notification profile, your team gets a Slack or Discord ping every time a reviewer submits feedback on a PR preview.
The Feedback Inbox
All submitted feedback is collected in the Dashboard under Dashboard → Feedback. The inbox provides:
Filtering
- All: Every feedback submission
- Unread: Submissions you have not yet opened
- Approved: Submissions where the reviewer clicked Approve
- Changes Requested: Submissions where the reviewer requested changes
You can also filter by notification profile to see only feedback for environments linked to a specific project.
Reading Feedback
Click any feedback item to expand it and read the full message. Expanding an item automatically marks it as read. You can also use the Mark all as read button to clear the unread count at once.
Unread Badge
The Dashboard sidebar shows a live unread count badge next to the Feedback navigation item whenever there are unread submissions. The count updates as you read items.
Pagination
The inbox is paginated with 20 items per page. Use the Previous / Next controls to navigate through older submissions.
What Gets Captured
Each feedback submission stores the following data:
| Field | Description |
|---|---|
| Message | The reviewer's free-text comment (optional) |
| Approved | Boolean — whether the reviewer clicked Approve |
| Client Name | The reviewer's self-reported name (optional) |
| Page URL | The exact URL the reviewer was on when they submitted |
| Environment | Subdomain, region, and full preview URL |
| Submitted At | Timestamp of submission |
Widget Behavior
The feedback widget is injected as a small, non-intrusive floating button. It does not affect the layout or styling of the preview. Key behaviors:
- The widget is loaded via a
<script>tag injected by the prev nginx sidecar - It communicates directly with the prev Dashboard API over HTTPS
- Each environment gets a unique, signed token — feedback cannot be spoofed or submitted to the wrong environment
- The widget works in any modern browser and requires no cookies or local storage
- Submissions are accepted only from the environment's own domain, preventing cross-origin abuse
Plan Availability
| Feature | Individual | Business |
|---|---|---|
Feedback widget (--feedback) | ✓ | ✓ |
| Feedback Inbox in Dashboard | ✓ | ✓ |
Notification routing (--notify) | ✕ | ✓ |
Related
- Notifications & Webhooks — Route feedback to Slack, Discord, Microsoft Teams, Google Chat, email, or a custom webhook
- CLI Commands — Full reference for the
--feedbackand--notifyflags