Feedback

Collect user feedback with an interactive emotion-based widget that creates GitHub Issues

The Feedback feature allows readers to share their thoughts about your documentation pages through an interactive widget. Feedback is automatically posted to a centralized GitHub repository as issues, making it easy to track, label, and respond to user input.

How It Works

The feedback widget appears in the table of contents sidebar on every documentation page. When users click "Give feedback", they can:

  1. Write their feedback message
  2. Select an emotion that represents their experience (🤩, 🙂, 😕, 😭)
  3. Optionally provide their name and email
  4. Submit their feedback

Feedback Workflow

When feedback is submitted:

  1. The feedback is validated against a JSON schema
  2. A new GitHub Issue is created in the configured feedback repository
  3. Labels are automatically applied based on the emotion, topic, and other metadata
  4. User details and metadata are formatted into a structured markdown table

Each piece of feedback creates a separate issue, allowing for individual tracking and resolution.

Feedback Schema

The API accepts the following fields:

FieldTypeRequiredMax LengthDescription
notestringYes16,384The feedback message
urlstringNo1,024Page URL where feedback was submitted
emotionstringNo1Emoji representing user sentiment
topicstringNo1,024Feedback topic/category
namestringNo1,024User's name
emailstringNo1,024User's email
uastringNo256User agent string
labelstringNo64Custom label for the issue
thumbsstringNo4Thumbs up/down indicator
reasonstringNo10Reason for thumbs down
planstringNo10User's plan type

Additional fields are captured as metadata and displayed in the issue body.

Features

Automatic Labeling

Issues are automatically labeled based on:

  • Emotion: emotion-amazed, emotion-happy, emotion-sad, emotion-cry
  • Topic: topic-{topic-name}
  • Plan: {plan}-plan
  • Thumbs: thumbs-up, thumbs-down
  • Reason: reason-{reason} (for thumbs down)
  • Custom labels: Any label passed via the label field
  • Default labels: unresolved, vercel-site

Structured Issue Body

Each issue includes a formatted markdown body with:

  • The feedback note
  • URL where feedback was submitted
  • User details table (email, context, IP, user agent)
  • Metadata table for any additional fields

Metadata Support

Pass any additional fields in the request body, and they are captured as metadata and displayed in a separate table in the issue. This allows you to include:

  • User IDs
  • Feature flags
  • Experiment groups
  • Custom tracking data

On this page