Feedback links & forms
Hosted pages that collect feedback from people who will never install the widget — a free-text form, a structured questionnaire, or a guest pass for the widget itself.
Not every reviewer will visit your site with the widget loaded. A feedback link
is a hosted page at https://annot8.app/p/<slug> that anyone can open, fill in,
and submit — no account, no install.
Manage them in Project → Feedback, which has three tabs: Feed, Forms, and Portal.
The three things a public link can be
| Type | The page shows | Submissions land in |
|---|---|---|
| Feedback form | A free-text box, plus optional name and email | The Feed tab and the project inbox, as threads marked form |
| Questionnaire | Your questions, rendered as a form | The Responses view for that link, aggregated |
| Portal | A public, votable feedback board | Its own board |
Forms and questionnaires are a Pro feature. The guest pass for the widget, described below, works on every plan.
Feedback forms
Create one in Feedback → Forms. Give it a name, an optional description, and optionally pin it to an environment so its submissions are filed into the right lane.
Each form gets its own slug, so you can run several at once — one per client, per release, per campaign — and filter the Feed by which one a submission came through.
Submissions become ordinary threads. They carry a status, appear in the inbox next to widget threads, and can be triaged, assigned, and pushed to your tracker like anything else. What they don't have is a pin, since they weren't left on a page.
Questionnaires
A questionnaire is the same hosted page with structured questions instead of a free-text box. Four question kinds:
| Kind | Renders as |
|---|---|
rating | A rating scale |
yesno | Yes / no |
choice | Multiple choice, from your list of options |
text | Short text |
Mark any question required. Answers are collected per link and read in the Responses view rather than the inbox — a questionnaire is meant to be aggregated, not triaged one row at a time.
Good for a post-launch survey, a client sign-off checklist, or a "did this fix it?" follow-up.
Archiving
Links are archived rather than deleted, which keeps the submissions you already collected intact. An archived link stops accepting new submissions.
There is no built-in expiry date — if you want a link to stop working after a client review, archive it when the review ends.
The widget's guest pass
Separately from forms, a project can have one public feedback link that lets guests use the widget itself — pinning comments on your real page, without signing in.
Create it in Project → Settings → Configuration → Public feedback link.
Once it exists, the widget finds it automatically: on page load the widget looks
for a public link matching the current environment, falls back to one that isn't
pinned to any environment, and uses it. You generally do not need to add
data-public-slug to your script tag — the generated snippet only includes it
when a link already exists.
<!-- Only needed to force a specific link -->
<script
src="https://www.annot8.app/widget.js"
data-project-id="pj_xxxxxxxxxxxx"
data-convex-url="https://your-deployment.convex.cloud"
data-public-slug="abc123"
async
></script>Guests give a name (and optionally an email) with their first comment. They never consume a paid seat.
The Free plan allows 3 distinct guest reviewers per workspace. When that's reached, further guest submissions are refused with a clear message in the widget rather than failing silently. Every paid plan makes guest reviewers unlimited.
Sharing a link
The hosted page is branded, mobile-friendly, and works in any browser. Paste it into an email, a Slack message, or a client brief:
We'd love your notes on the new checkout flow:
https://annot8.app/p/abc123
No sign-up needed — just tell us what you see.Security notes
- Slugs are randomly generated and unguessable.
- Respondents only ever submit. They never see other people's submissions, which stay in your dashboard.
- Public link submissions still pass through the project's moderation and reporting path.
- Archiving takes effect immediately.