Testimonials
Your customers' own words, kept in TileSet: typed in, added by an agent, or sent through a Share a testimonial link. Nothing shows until you approve it.
Overview: Show your customers’ testimonials.
Add one
- Open Sources and press Add source, then pick Testimonials. There is nothing to connect: the source is created at once and its Testimonials dialog opens.
- Under Add a testimonial, fill in the fields below and press Add testimonial.
Or ask your AI agent. It creates the source with setup_widget (source testimonials, no query) or connect_source (type testimonials, an optional label); a script uses POST /v1/sources with {"type": "testimonials"} and an optional label.
Later, open the dialog again with the Testimonials button on the source’s row. The button shows how many are waiting, and the bell shows a note when testimonials are waiting for you.
What a testimonial holds
| Field | |
|---|---|
| Name | Required, up to 80 characters |
| Role or company | Optional, up to 80 characters |
| Testimonial | Required, up to 1,000 characters. Any markup is removed |
| Rating | Optional, 1 to 5 stars |
| Date | Optional |
| Photo link | Optional, https only. Without one the card shows the person’s initials |
Three ways in, one approval rule
- Typed in the dashboard. It shows on your widget at once, within a minute. Free on every plan.
- Added by an AI agent or an API key. The agent uses
add_testimonials(up to 20 at a time), a script callsPOST /v1/sources/:id/testimonials. These wait for your approval. - Sent by your customers through your Share a testimonial link (Starter and up). Everything sent through the link waits for your approval.
Nothing that waits shows on your widget until a person approves it in the dashboard: Sources, the source’s Testimonials button, then Approve or Decline. Approving, declining, editing, deleting, the order (Up and Down) and the link are in the dashboard only. An agent can see how many are waiting, approved and filtered with list_testimonials, but it never reads the testimonials themselves, and it cannot approve or decline anything.
The automatic check
On Starter and up, every testimonial your customers send through your link is checked once, in the background, by an automatic check. Testimonials added by an API key, by an AI agent or in the dashboard are never checked. It sends the person’s name, role or company, star rating and words to a decision-model service, and nothing else: no email (none is collected), no IP address, no account details, no business name. It costs you nothing and uses no credits.
The check only sorts. It never approves anything: you still approve every testimonial yourself. What you see in the Testimonials dialog:
- A badge on each waiting testimonial: Looks good, or Needs a look when it reads like spam, abuse, a question to you or a test entry, or is a complaint.
- Approve the N that look good (with the real number on the button) approves the ones marked Looks good that are on your screen. Read them first if you like: it is the same as ticking them and pressing Approve selected.
- A separate group, Filtered as likely spam, for the ones the check is confident are spam or abuse. They are never shown on your widget, they do not ring the bell and they are not counted as waiting on the source’s row. Press Restore on one and it goes back to the queue marked Needs a look. The badge on a filtered one reads Likely spam.
- Delete all filtered removes every filtered testimonial at once. It asks you to click again first (“Click again to delete all N”).
- Filtered testimonials you do not restore are deleted 30 days after they were sent, and if they had paused your link it resumes.
- Filtered testimonials still count toward the 50 that can wait on the link, so a wave of spam can still pause it. Approve, decline or delete the filtered ones to make room.
If the check cannot answer (it is busy, down or too slow), the testimonial just waits with no badge, exactly as it did before. The check can be wrong in both directions, which is why nothing is approved or lost without you: a good testimonial wrongly filtered can be restored for 30 days.
Approve or decline several at once
When more than one testimonial is waiting, tick the ones you want (or Select all), then press Approve selected or Decline selected. Decline all declines everything on your screen and asks you to click again first. A testimonial that arrives while the dialog is open is never declined unseen: close and open the dialog to see it.
The Share a testimonial link
In the Testimonials dialog, press Turn on the link, then Copy link and send it to your customers. It opens a page on our site, headed “Share a testimonial for” and the source’s name, so your customers see who is asking (give the source your business name on Sources; the default name “Testimonials” is left off). The page has a short form: name, role or company, the testimonial and an optional star rating, in light or dark. The rating is a row of five stars (whole stars only, 1 on the left): your customer taps a star or drags across the row, and a line next to it says what is chosen, such as “4 of 5, Very good”. No star is chosen to begin with, and Clear takes a chosen one back out. It works with the keyboard and a screen reader too. After sending, your customer sees a short thank-you page.
- Replace link makes a new address, and the old one stops working.
- Pause link stops the link at once and keeps its address. Resume the link opens the same address again.
- Moving to a plan below Starter closes the form.
- The form is protected against spam: the automatic check sorts what arrives, it can also ask for a quick person check (Cloudflare Turnstile, which most people never see; the form then needs JavaScript for it), limits per visitor and per link, a hidden field that only bots fill in, and a minimum time to fill it in.
- About 10 testimonials a minute are accepted through one link.
- At most 50 testimonials from the link wait at once, filtered ones included. When the 50th arrives, the link pauses on its own and the bell tells you. Approve, decline or delete the filtered ones, and it resumes by itself. While it is paused, anyone who opens it reads that it is not taking testimonials right now.
On a widget
Use the Review wall template, in any layout: grid, carousel, bento or masonry (see Templates). Each card shows the name, the role or company line, the stars, the words and the date. With Avatar on, the card shows the photo, or the person’s initials when there is none. There is no feed grid, since testimonials carry no photos to tile.
A source holds up to 200 testimonials, approved and waiting together. Testimonials do not count toward the free plan’s live-source limit.
Testimonials work in a mixed feed next to your reviews or posts.
Credits and updates
Testimonials use no credits, on any plan. They have no update speed and never need an update: what you save shows on its own. Update now answers at once and spends nothing.
Removing it
Removing the source deletes its testimonials, their check results included, and turns its link off. Delete all Meta data in Settings leaves testimonials alone, since they are your own content, and your data export includes them.