Reference For: managers, admins

Testimonials

Invite a client contact to leave a testimonial through a one-off link, then review what comes back before it's used anywhere.

Who can use it — You need "view testimonials" permission just to see the list. Requesting, resending, revoking, exporting, and moderating (approve/reject/archive) all require "manage testimonials" permission. See Roles & Permissions for how access is set. The client contact filling in the testimonial doesn't need an account at all — they submit through a signed link, not a login.

Where to find itWorkforce & HR → Testimonials in the sidebar. Requests can also be sent straight from a client contact's row on the People side of the app — see below.

How to use it

The page is a list of testimonial requests, not testimonials themselves — a row exists as soon as you invite someone, before they've written anything. Each row shows the Client, Project (if linked), Recipient, star Rating once submitted, a Request status badge (Pending, Sent, Completed, Revoked, Failed, or Expired), a separate Testimonial status badge once one's been submitted (Pending review, Approved, Rejected, Archived), and the Requested/Sent/Submitted/Reviewed dates. Filter by request status, testimonial status, client, project, rating, or a date range on either the request or submission date.

Requesting a testimonial

Click Request testimonial at the top of the list. Pick a Client, then either:

  • Tick one or more Saved contacts for that client (pulled from their client contacts), and/or
  • Fill in the collapsible Manual recipient section (name, email, company, role) for a one-off recipient who isn't a saved contact.

You need at least one of the two. Optionally link the request to a Project, add a Personal message the recipient will see, and set when the link expires (defaults to 30 days out). One request is created per recipient, each starting in Pending status.

From a client contact directly — on a client's Contacts tab (under People / Clients), each contact row has its own Request testimonial action. It skips the client/contact picker — recipient details are pulled straight from that contact record — and just asks for the expiry and an optional personal message.

Either way, sending queues an email to the recipient with a signed link; the row moves to Sent once it goes out, or Failed if delivery didn't succeed.

The recipient's experience

The recipient gets an email (branded with your tenant name and logo) with a link that opens a simple public form — no account or login required. It shows your personal message if you added one, and lets them fill in their name, email, company, role, an optional 1–5 star rating, and the testimonial text itself (required). They must tick consent to have it stored, and can separately opt in to having their name and/or company published. Submitting marks the request Completed and creates a testimonial in Pending review, and you get an in-app notification.

The link is single-use and time-limited: it stops working once submitted, revoked, or past its expiry, and shows the recipient a plain explanation rather than a broken page.

Managing sent requests

From each row's action menu:

  • Resend — available while a request is still Pending, Sent, or Failed (and not expired). This invalidates the previous link and sends a new one; it does not extend the expiry date, so a request close to expiring may need a fresh request instead.
  • Revoke — available for any request that hasn't been completed or already revoked. Immediately kills the link, even if the recipient hasn't opened it yet.

Moderating submissions

Once a testimonial comes back, it starts as Pending review. From the same row:

  • Approve — available while it's Pending review.
  • Reject — available from Pending review or after Approved (so you can walk back an approval).
  • Archive — available for anything not already archived.

All three are a plain confirmation — there's no reason/notes field in the moderation dialog. Open the row (View) to read the full submission: author details, rating, submitted date, the testimonial text, and which parts (name/company) they consented to publish.

Exporting

Export CSV downloads submitted testimonials — by default Approved only, or choose All statuses or a specific status. The file includes client, project, author details, rating, the testimonial text, publication consent flags, status, and the request/submission/review dates. Every export is logged (who, when, row count, file hash) for audit purposes.

Approved testimonials aren't currently pushed anywhere automatically (no public website page is wired up in the app) — the CSV export is the way to hand them off to marketing or your website.

Connected pages

  • People — client contacts, including the per-contact Request testimonial action.
  • Projects — testimonial requests can be linked to a specific project.

Tips & common mistakes

  • Nothing to pick from the recipient? Client contacts only show up once you've added them under that client — use the Manual recipient section for anyone not saved yet.
  • Resent but the link still says expired? Resend rotates the link but doesn't push out the expiry date — if the window's basically gone, send a brand-new request instead.
  • Recipient says the link is broken? It only works once. If they already submitted, resending won't help — check the row's status first.
  • Can't find a way to leave moderation notes? There isn't one in this version — approve/reject/archive are quick confirmations only. Keep any context in your own records if you need it.
  • Approved testimonial not showing on your website? That's expected — publishing isn't automated yet. Export to CSV and hand it to whoever manages your site.