Sign inStart free
Collection · Smart Invites

The right ask,
at the right moment.

Smart Invites turns happy customers into testimonials — automatically. Trigger personalized email sequences from Stripe, Shopify, a CSV, or a one-off send, then route each customer to the form that fits their story.

4
ways to trigger
3-step
default sequence
32%
avg submission rate
Day 0 · delivered
10:42 AM
From: feedback@acme.co · To: marina@brightlabs.io
We'd love your feedback, Marina!
Hi Marina,
Thank you for choosing {project_name}! We'd really appreciate it if you could take a moment to share your experience.
Share Your Experience →
Day 3 · queued
in 3d
From: feedback@acme.co · To: marina@brightlabs.io
Quick reminder — your feedback matters
Day 7 · scheduled
in 7d
From: feedback@acme.co · To: marina@brightlabs.io
Last chance to share your experience
Stripe
checkout.completed
Shopify
orders/fulfilled
CSV import
142 queued

Overview · 1:32

See Smart Invites in action.

The right moment to ask — see how a customer milestone becomes a customer story.

8 chapters · Captions

Want the detail?
Read the transcript

A moment worth asking about

Your customer just reached a milestone. Make sharing that experience the natural next step.

Start where your customers are

With ReTestimonial Smart Invites, connect events from your app through webhooks. Use Stripe or Shopify events, import a customer list, or prepare a personal invitation.

Make the request personal

Choose a form and write a request that feels personal. Bring in names and company details, preview the message, and give customers a clear next step. A specific question helps them know where to begin.

Thoughtful follow-ups

Add optional reminders three and seven days after the initial request. When Marina submits her story, pending reminders stop. Less chasing. More room for the conversation.

A relevant path

On Business, route customers to different forms and templates using your event data. Team customers take one path. Everyone else follows your default.

From request to response

Names and companies can be prefilled. Customers share their experience and give permission. With approval required, you review the response before featuring it.

Understand the journey

Follow invitations through opens, clicks, and submissions. See where requests become customer stories, and keep improving the way you ask.

Your next customer story

Set up Smart Invites. Available on Premium and Business.

Four ways in. One unified queue.

Pick whichever fits the moment — every contact lands in the same campaign, sequence, and analytics view.

Stripe logoWebhook
Stripe
checkout.session.completed
Auto-invite customers seconds after a successful checkout. Filter by amount, plan, or coupon.
Shopify logoWebhook
Shopify
orders/fulfilled
Trigger on fulfillment, not order — so the ask lands when the box hits the doorstep.
Bulk
CSV import
Bulk · email · name · company
Drop a customer list, map columns, queue up to thousands of invites with throttled sending.
1:1
One-off send
Single contact · Proof Loop
Send to a single customer when Proof Intelligence flags a page that needs a specific story.
Spotlight · Webhook auto-invites

Connect once.
Invite forever.

Point Stripe or Shopify at a signed endpoint. We verify the signature, extract the email + name + metadata, dedupe against prior invites, and drop them into the right campaign.

  • HMAC signature verification — Stripe + Shopify natively
  • JSON-path field mapping for email, name, company
  • Cooldown windows prevent re-inviting the same contact
  • Per-webhook event filters & rate limits
StripePOST /webhooks/stripe200 · 47ms
{
"type": "checkout.session.completed",
"data": {
"object": {
"customer_email": "marina@brightlabs.io",
"customer_name": "Marina Chollet",
"amount_total": 4900,
"currency": "usd"
}
}
}
Field mapping
JSON path → contact field
data.object.customer_email
↓emailRequired
data.object.customer_name
↓name
data.object.amount_total
↓metadata.amount
data.object.currency
↓metadata.currency
Signature verified
Email sequences

One ask is not a campaign.

A 3-step default sequence with merge tags, smart skip logic, and per-stage delay — fully editable, with live preview and test sends.

T+0
First ask
✓ Sent
delay 0 min
We'd love your feedback, Marina!
Friendly request · CTA: Share Your Experience
T+3d
Reminder
✓ Sent
delay 4 320 min
Quick reminder — your feedback matters
Soft nudge · skips if already submitted
T+7d
Final
Scheduled
delay 10 080 min
Last chance to share your experience
No-pressure close · then quiet forever
Available merge tags
{recipient_name}{recipient_email}{project_name}{form_name}{form_url}{recipient_company}{meta:amount}
Spotlight · Conditional routing

Different customers,
different asks.

Match each invite to the form and template that fits. First rule that matches wins — same logic engine as a routing table.

OrderRule labelCondition→ Form→ Template
01
High-value customers
metadata.amount≥$500
Premium Story Form
VIP Sequence
02
Annual plan upgrades
data.object.plancontainsannual
Long-term Form
Default
03
International orders
data.object.currency≠usd
Global Form
Localized
—
Fallback
everything else→default
Standard Form
Default
Operators:equalsnot_equalscontainsexistsgreater_thanless_than≥≤
CSV import

Bulk in. Auto-map.
Throttled out.

Drop a CSV. We auto-detect email, name, company; extra columns become metadata. Dedupe runs against existing contacts; sends throttle by plan.

customers-q1.csv142 rows · 0 dupes
email ↓
name ↓
company ↓
amount ↓
marina@brightlabs.io
Marina
Bright Labs
490
diana@northwind.co
Diana
Northwind
1200
kenji@forge.dev
Kenji
Forge
190
One-off send

Single send.
Surgical proof.

When Proof Intelligence flags a missing-story page, fire a one-off invite to the customer most likely to fill that gap. Same sequences. Same analytics. Same dedupe.

Send manual invite
Tomarina@brightlabs.io
FormPricing Page Stories
TemplateVIP Sequence
Proof Loop: /pricing has weak proof — Marina is on Premium and matched to this story.
delivers in 0 min
Send invite →
Spotlight · Campaign analytics

Funnel + cohort. Per campaign.

Watch each stage drop. Compare campaigns. Catch a broken template before sending another batch.

32%
submission rate
62%
open rate
1.7%
bounce rate
<1%
unsubscribe
Q1 Customer Stories
30-day window
Stripe webhook · auto · ongoing
Invited1,450100%
Sent1,42698%
Opened89261%
Clicked51135%
Submitted46332%
Daily — invited vs submittedlast 14 days

From transaction to testimonial in five steps.

01
Customer pays
Stripe / Shopify / CSV / 1:1
02
Webhook fires
Signature verified · payload mapped
03
Routing matches
Right form · right template
04
Sequence runs
3-step ask · skip on submit
05
Funnel reports
Invited → Submitted, per campaign

Stop chasing testimonials.
Let them come to you.

Connect Stripe in 90 seconds. Three-step sequences, unified funnel, and conditional routing on Premium and Business.