---
title: Feedback
description: Collect user feedback with an interactive emotion-based widget that creates GitHub Issues
type: integration
summary: An interactive feedback widget that collects user sentiment and creates structured GitHub Issues automatically.
prerequisites:
  - /docs/getting-started
related:
  - /docs/provider
  - /docs/configuration
---

# Feedback



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:

| Field     | Type   | Required | Max Length | Description                           |
| --------- | ------ | -------- | ---------- | ------------------------------------- |
| `note`    | string | Yes      | 16,384     | The feedback message                  |
| `url`     | string | No       | 1,024      | Page URL where feedback was submitted |
| `emotion` | string | No       | 1          | Emoji representing user sentiment     |
| `topic`   | string | No       | 1,024      | Feedback topic/category               |
| `name`    | string | No       | 1,024      | User's name                           |
| `email`   | string | No       | 1,024      | User's email                          |
| `ua`      | string | No       | 256        | User agent string                     |
| `label`   | string | No       | 64         | Custom label for the issue            |
| `thumbs`  | string | No       | 4          | Thumbs up/down indicator              |
| `reason`  | string | No       | 10         | Reason for thumbs down                |
| `plan`    | string | No       | 10         | User'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


---

For a semantic overview of all documentation, see [/sitemap.md](/sitemap.md)

For an index of all available documentation, see [/llms.txt](/llms.txt)