Foreloop

Collecting user feedback

Put a feedback control in your product, and turn what arrives into work.

Put the widget in your product

Once per site.

The widget is a small piece of JavaScript that adds a feedback control to your own product. Your users press it, describe a problem, and send — without leaving the page or filing anything anywhere.

  1. Open Widget in the left sidebar of Foreloop

    The page builds the snippet for you and generates the key the snippet needs.

  2. Choose where submissions should land

    Pick a project on that page and submissions route to that project. Leave the project unset and submissions arrive in your organization's Feedback list instead, which is where anything not yet routed lives.

  3. Paste the snippet into your product's root layout

    The one file that wraps every page — app/layout.tsx in Next.js, App.tsx in Vite. The Widget page also offers the whole instruction as a block you can hand to a coding agent instead.

  4. Send one real piece of feedback from your own product

    Then look at the Widget page's Activity section, or Feedback in the sidebar. A submission arriving is the only proof the installation works.

What your users see

A small control in the corner of your product. Pressing the control opens a box where a user can write what went wrong, mark up a screenshot of the screen they are looking at, and send.

Each submission records the page URL it came from, so the report and the screen it describes stay together. The key in the snippet can create feedback and do nothing else — no reading, no changing — which is why the snippet is safe to commit and safe to serve in browser code.

Turn what arrives into work

In Foreloop, in Feedback.
  1. Open a submission from the Feedback list

    The report arrives with its screenshot, the page it came from, and whatever the user typed.

  2. Decide whether the submission is real

    One question, and the only one worth answering before anyone reads properly: real, or spam and noise. Spam is dismissed here and goes no further.

  3. Turn a real submission into an intention

    An intention starts from the report, and its agent reads the submission, fills in the intention, and proposes the tasks — so understanding a piece of feedback happens where the work happens, rather than in a triage form. From there, Getting work done describes the rest.

Bugs arrive the same way

A bug report and a piece of feedback are the same kind of record with a different value in one field, so the Feedback list carries both and a filter separates them. Anyone on your team can file either from inside Foreloop, without the widget.

Markdown source
# Collecting user feedback

Put a feedback control in your product, and turn what arrives into work.

MCP use: Use this page when someone asks how end-user feedback reaches Foreloop and what happens to it after it arrives.

Related routes:
- `/widget`
- `/feedback`

## Put the widget in your product

_Once per site._

The widget is a small piece of JavaScript that adds a feedback control to your own product. Your users press it, describe a problem, and send — without leaving the page or filing anything anywhere.

1. **Open Widget in the left sidebar of Foreloop**

   The page builds the snippet for you and generates the key the snippet needs.

   [Open the Widget page](/widget)

2. **Choose where submissions should land**

   Pick a project on that page and submissions route to that project. Leave the project unset and submissions arrive in your organization's Feedback list instead, which is where anything not yet routed lives.

3. **Paste the snippet into your product's root layout**

   The one file that wraps every page — app/layout.tsx in Next.js, App.tsx in Vite. The Widget page also offers the whole instruction as a block you can hand to a coding agent instead.

4. **Send one real piece of feedback from your own product**

   Then look at the Widget page's Activity section, or Feedback in the sidebar. A submission arriving is the only proof the installation works.

## What your users see

A small control in the corner of your product. Pressing the control opens a box where a user can write what went wrong, mark up a screenshot of the screen they are looking at, and send.

Each submission records the page URL it came from, so the report and the screen it describes stay together. The key in the snippet can create feedback and do nothing else — no reading, no changing — which is why the snippet is safe to commit and safe to serve in browser code.

## Turn what arrives into work

_In Foreloop, in Feedback._

1. **Open a submission from the Feedback list**

   The report arrives with its screenshot, the page it came from, and whatever the user typed.

2. **Decide whether the submission is real**

   One question, and the only one worth answering before anyone reads properly: real, or spam and noise. Spam is dismissed here and goes no further.

3. **Turn a real submission into an intention**

   An intention starts from the report, and its agent reads the submission, fills in the intention, and proposes the tasks — so understanding a piece of feedback happens where the work happens, rather than in a triage form. From there, Getting work done describes the rest.

## Bugs arrive the same way

A bug report and a piece of feedback are the same kind of record with a different value in one field, so the Feedback list carries both and a filter separates them. Anyone on your team can file either from inside Foreloop, without the widget.