When surveys send
When a deal transitions to won, Winnerr emits aDEAL_WON system event. The reputation survey workflow listens for that event and:
- Looks up the active
SurveyTemplatematching the trigger (DEAL_WON). - Creates a
Surveyaddressed to the buyer or sellerPersonon the deal. - Generates a unique
accessTokenfor the public response page. - Schedules the send for
now + sendDelayHours(default 168 hours / 7 days after close).
Person + Deal pair from the Reputation Studio UI or via the reputation API.
Sentiment style
The sentiment style controls what the client sees when they tap to rate you. Choose the one that fits your brand and your clients’ expectations.
All styles normalize to a 1–5 internal rating. The threshold for “happy” is 4 or above on the normalized scale. Below that, the response is routed to the private feedback channel (see Review experience below).
How to set the sentiment style
- Go to Marketing → Reputation → Profile.
- Open the Review experience card.
- Under How clients are asked, select a style: Stars, Thumbs, Faces, NPS, or Number.
- Click Save review experience.
Review experience
The Review experience setting controls what happens when a client’s rating falls below 4 (on the normalized 1–5 scale). Configure it under Marketing → Reputation → Profile in the Review experience card.Compliant (default, recommended)
Unhappy clients receive a private feedback channel and you are alerted (in-app and by email) so you can follow up personally. They are never blocked from leaving a public review — plain links to your platforms remain available with a soft “If you’d also like to share publicly, you can:” message. This stays within Google’s review policies.Strict
Unhappy clients see no public-review links at all. This is known as “review gating.” Google discourages review gating and it can put your Google Business Profile at risk, including removal of reviews or a Consumer Alert. Use this mode only if you understand and accept that risk.Review platforms
Platforms are where you send happy clients to post a review after they complete their survey. Configure them under Marketing → Reputation → Profile in the Syndication keys and Review experience cards.
Platforms render on the survey thank-you screen in the order: Google → Facebook → Yelp → custom.
Yelp compliance
Yelp’s Terms of Service prohibit businesses from soliciting reviews. A “leave a Yelp review” prompt can result in your Yelp page being filtered, flagged with a Consumer Alert, or penalized. Winnerr makes Yelp available as an opt-in platform, and the Profile UI displays a warning before you can save a Yelp URL. Add Yelp only if you understand this risk and are not directing clients specifically to Yelp.Finding your Google Place ID
Your Google Place ID is available in the Google Place Finder. Search for your business and copy the Place ID shown — it looks likeChIJN1t_tDeuEmsRUsoyG83frY4.
The public survey page
The survey link in the email opens an unauthenticated, tokenized page:- Resolves the survey strictly by
accessToken, server-side — the org is never trusted from the client. - Shows the rating control (in the configured sentiment style), an optional comment box, and consent toggles for high ratings.
- Returns a uniform
404for unknown, expired, completed, or skipped tokens.
SurveyResponse, flips the survey to COMPLETED, and emits SURVEY_COMPLETED. The body is capped at 64 KB and the endpoint is rate-limited.
Smart Review Composer
After a happy client (rating ≥ 4) submits their survey and at least one platform is configured, they reach the Smart Review Composer instead of a simple thank-you screen. The composer:- Pre-fills an editable text box with the client’s own words from the comment field.
- Offers a “Polish with AI” button — this rewrites the client’s own text to be cleaner and more natural. The AI only works with what the client wrote; it never fabricates a review.
- Once polished, the button label changes to “Try another version” to generate an alternative phrasing.
- A Copy button copies the review text to the clipboard.
- For each configured platform, a “Copy & open [Platform]” button copies the text and opens the platform’s review page in a new tab simultaneously, so the client can paste immediately.
AI polish details
- The AI rewrites the client’s own text only — no fabrication, no invented details.
- The endpoint (
POST /api/public/survey/:token/polish) is rate-limited to 10 requests per minute per token. - Input text is capped at 2,000 characters.
- If polish fails for any reason, the composer stays functional — the client sees a brief error note and can still copy and post their original words.
Survey templates
ASurveyTemplate is your org-authored, reusable questionnaire. Each template carries:
Templates are org-scoped. Create, list, and edit them via the survey templates API.
Reminder ladder
By default, an unanswered survey triggers two reminder emails:- +3 days after the initial send.
- +7 days after the initial send.
Survey.reminderCount field tracks how many reminders have gone out. Surveys expire after expiresAt (default 30 days from creation), at which point reminders stop and the survey can no longer be answered.
Branded email
Survey emails (initial + reminders) are rendered through React Email and pull identity from the agent’s Brand Kit: logo, colors, brokerage info, compliance footer, and social links. The recipient sees:- The agent’s headshot and name.
- A one-tap CTA that opens the tokenized survey page.
- Brokerage info and compliance disclaimers in the footer.
From response to testimonial
When the response comes in, the reputation response consumer:- Stores the answers (
npsScore,csatScore,starRating, free text) onSurveyResponse. - Runs AI sentiment analysis and writes the score back to
SurveyResponse.sentiment. - If the client opted in (
testimonialOptIn) and the rating is high enough (≥ 4), promotes the response into aTestimonialrow with statusPENDINGand visibilityPRIVATE. - Captures the consent snapshot (use name, use photo, public) onto the testimonial.
Manual sends
To send a survey outside of the auto-trigger,POST /api/reputation/surveys with a templateId, recipientPersonId, agentUserId, and optional dealId. The endpoint generates a fresh accessToken, schedules the send, and emits the same downstream events as the auto-flow.
Survey lifecycle
Related
- Testimonials — what happens after a high-rated response comes in.
- Public profile — where sentiment style, review experience, and platform keys live in the UI.
- Review syndication — more on Google Place ID, Facebook, Yelp, and custom platforms.
- Reputation API — surveys — authenticated CRUD.
- Public survey endpoint — token-based public access.