Skip to content
Hazelsong

Read and decide

The queue between arriving and being public

Everything lands in Pending. You read it, see what was flagged and what was consented to, and decide. Nothing reaches a page on its own.

PlanEvery plan.

How it works

Approving, step by step

  1. Pending, approved, rejected

    Three states and no ambiguity. A rejected testimonial is out of every widget immediately, and an approved one is still only served where its writer allowed.

  2. Tags, for the ones that go together

    By service, by location, by campaign. A widget or a wall can be pointed at a single tag.

  3. Sort the list while you read it

    Newest, oldest, highest rated, lowest rated, or most flagged first. That sorts the list in front of you; a widget's own order — newest, oldest, highest rated or shuffled — is set on the widget itself.

Your dashboard · Pending
A pending testimonial in the Hazelsong dashboard, with the date its permission was recorded and the buttons Approve, Reject, Check for things to remove and Delete.
The real dashboard card. Example content, not a real customer.

Safe by design

The rule that makes it safe to have

Clear boundaries

What it will not do

Every capability page ends with this list. It is the part that says what you are actually buying.

  • It will not publish without you.
  • It will not hide a bad rating from you.
  • It will not reorder your wall on its own to put the best ones first.

Where it lives in the code: components/DashboardClient.tsx · lib/testimonials.ts

Questions

Asked about this

From Help, where every answer is written from the product as it runs.

Can I fix a typo in a testimonial?

No. There is no route in this product — no dashboard control, no API field, no administrator, no support request — that can change a testimonial's text. That is the rule the whole product is built around, and it is checked in code rather than promised in a policy.

Then what do I do about a phone number somebody left in it?

Remove that span. The span becomes [removed], every other character stays exactly as written, and the reader is told something was taken out. If the proposal differs from the original by a single word anywhere else, the whole proposal is discarded rather than applied.

Can I shorten a long testimonial for a widget?

Not by storing a shorter version: nothing here can keep a cut-down copy as though it were what somebody wrote. What a layout may do is show less of it — the compact, marquee, toast and sidebar layouts stop a long testimonial at six lines, and there is no control that opens the rest. Every other layout shows the whole of it, so the choice to make here is the layout.

A customer asked me to take theirs down. What happens?

Delete it, and it is out of every widget, wall, image and API answer at once — a real delete, the record and the files both. There is no archive here: a testimonial is pending, approved or rejected, and once it is approved the dashboard's own way to take it off your pages is Delete. Reject is the button while it is still pending.

More on the testimonials themselves

This is running now

Open a project and use it. Nothing on this page is a roadmap.