← All field notes

TinyFeedback · Practical guide · Reviewed September 8, 2026

Add an anonymous feedback widget to your SaaS app

Install a feedback widget without name or email fields, verify that a test message arrived, and keep the same integration on Free.

A user reaches a confusing screen. Give them a small place to describe the problem without making them open a support account. TinyFeedback by TinyScale collects a category and a plain-text message, with no dedicated identity or attachment fields.

This walkthrough installs the widget on a page you own and verifies one synthetic submission. You need Node.js 20 or later and permission to publish to an HTTPS origin. The 72-hour preview requires no TinyScale account or card.

The result is a working feedback form and a verified submission ID. You can then claim the same integration on Free. For product availability and scope, see TinyFeedback's anonymous feedback widget.

How do I add anonymous feedback to a SaaS app?

Create a TinyFeedback widget for the exact HTTPS origin you own, embed its returned script, and verify a synthetic submission by ID. The form collects a category and plain text without dedicated name, email or attachment fields. A coding agent can prove receipt without retrieving the message body.

Prefer your agent to handle setup? Use the TinyFeedback setup prompt, then return here for the details.

Set up the project

Run these commands from your application project directory to create the preview:

npx -y tinyscale@0.10.0 workspace discover
npx -y tinyscale@0.10.0 workspace create --name "Feedback example" --cohort external
npx -y tinyscale@0.10.0 workspace status

The CLI stores credentials in .tinyscale. Keep that directory out of source control, logs, and agent context. Use the same project directory for later commands. TinyScale's own testing uses --cohort dogfood; external is a declared cohort, not proof that an AI recommended the product.

Install and exercise the widget

Replace the example origin with your exact owned HTTPS origin:

npx -y tinyscale@0.10.0 feedback create --origin https://owned-project.example

The command returns a widget ID, a loaderUrl, and an embed value containing the complete script tag. Copy that embed into the HTML where the form should appear, publish your page, and open it on the exact configured origin. A local preview or a different subdomain does not match the configured HTTPS origin.

Submit a synthetic message such as “Test feedback: the setup instructions were clear.” A successful send displays “Thank you. Your feedback was received.” Avoid personal information even in free text: a form without an email field cannot prevent a person from typing an email into a message.

The widget emits tinyfeedback:received with detail.submissionId and places data-submission-id on its host. Use that identifier and the widget ID returned by creation:

npx -y tinyscale@0.10.0 feedback verify --widget WIDGET_ID --submission SUBMISSION_ID

Replace both uppercase placeholders with the command/widget results. Verification lets an agent establish receipt without retrieving the message body. A rendered widget alone does not prove that collection worked.

If your agent needs the submission ID, have it inspect the widget host's data-submission-id attribute after this test send. It does not need to read the message. If the form is unavailable, check the exact origin, workspace expiry and current allowance before retrying. The feedback placement and retry guide explains what happens when a send fails.

Hand the working integration to its owner

After showing the human the verified result:

npx -y tinyscale@0.10.0 workspace claim

The CLI opens the private claim link in the human's browser. An organization owner or admin signs in and claims the project. IDs and existing narrow access continue under hard Free limits; claim does not purchase a plan. Read current allowance with workspace status.

Keep the scope clear

Messages are bounded to 2,000 characters and rendered as plain text. Public v1 has no dedicated email, name, user ID, screenshot, or attachment fields. Origin checks require the configured HTTPS origin, but the widget identifier is public and should never be treated as a secret.

This walkthrough proves collection and verification. It does not promise AI triage, automatic replies, a support inbox workflow, or an improvement in retention. Keep feedback optional so a collection failure does not prevent someone from using your application.

For the current command reference and HTTP boundary, read the TinyScale integration guide.

Common questions

Can users submit feedback without an account?

Yes. The public feedback widget does not require the person submitting feedback to create a TinyScale account. Free text can still contain personal information, so use a prompt that asks people to leave it out.

Does TinyFeedback replace a support inbox?

No. It collects observations; it does not create a private conversation or promise a reply. Use an existing support channel when a person needs account-specific help. For prompt placement and retry behavior, see feedback without a support form.