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:

FieldDescription
MessageThe reviewer's free-text comment (optional)
ApprovedBoolean — whether the reviewer clicked Approve
Client NameThe reviewer's self-reported name (optional)
Page URLThe exact URL the reviewer was on when they submitted
EnvironmentSubdomain, region, and full preview URL
Submitted AtTimestamp 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

FeatureIndividualBusiness
Feedback widget (--feedback)
Feedback Inbox in Dashboard
Notification routing (--notify)
  • Notifications & Webhooks — Route feedback to Slack, Discord, Microsoft Teams, Google Chat, email, or a custom webhook
  • CLI Commands — Full reference for the --feedback and --notify flags