Lifecycle emails

Lifecycle emails for consumer apps

Trophy turns events from your product into behavioral, personalized emails. Design in a visual editor, send from your domain, and track opens, clicks, and delivery in one platform.

Powering gamification experiences for 1M+ users

CampfireRevisionDojoLexiooOnePrepLealCyberPatientBohemian ResearchMaths GenieRitmo

Read our customer stories

Use case

Turn product data into lifecycle emails

Use Trophy's visual email editor to build behavioral emails with live previews powered by your product data.

First-party data
Trophy ingests your product data and turns it into stats, charts and streaks so every email reflects real user activity.
Block-based editor
Build lifecycle emails with drag-and-drop blocks. Preview exactly how personalized content will render before sending.
Sent from your domain
Link your domain to Trophy to send emails from your brand and keep your domain reputation in tact.
Send-time optimized
Trophy sends emails according to each recipient's local timezone automatically.

Analytics

Understand how your emails perform

Measure opens, clicks, delivery, and list health across every automated email you send with Trophy.

Track delivery and opens
See opens, clicks, and send status across every automated email so you know what is reaching users.
Respect user preferences
Give users a hosted unsubscribe link to opt out of emails at any time.

Gamification software for modern product teams

The only gamification platform built for the modern era. Control via API or MCP and wire into your development workflow across multiple environments.

Official Gamification SDKs

NodeJS
Go
Java
.NET
PHP
Python
Ruby
First-class APIs for fast-moving teams
Idempotent, retry-safe, time-zone aware. Designed to feel obvious the first time you read the docs.
metrics.ts
// Track lesson completions in Trophy const newState = await trophy.metrics.event('lessons-completed', { user: { id: user.id, tz: 'Europe/London', }, value: 1, idempotencyKey: 'lesson-id', }) // React to state changes const newStreakLength = newState.currentStreak.length const unlockedAchievements = newState.achievements const newPointsAwarded = newState.points
Control everything via MCP
Beta
Connect Trophy to MCP clients like Cursor and Claude Code and configure features without touching the dashboard.

Trophy MCP

Sonnet 4.6 · 8 tools loaded

> Set up workout tracking, a points system, and a leaderboard for our fitness app

Listed Trophy MCP tools · read metrics and leaderboards docs

(ctrl+o to expand)

I'll wire up a workouts-completed metric, a FitPoints program, and a weekly leaderboard:

  1. Metric - workouts-completed per session
  2. Points - 10 FitPoints per workout
  3. Leaderboard - Weekly movers by points

metrics.create({ name: 'Workouts Completed', key: 'workouts-completed' })

points.create({ name: 'FitPoints', triggers: [{ metric: 'workouts-completed', threshold: 1, points: 10 }] })

leaderboards.create({ name: 'Weekly movers', pointsSystemId: 'b666380e-2cd9-4e08-888d-5e044db1a9f2', runUnit: 'day', runInterval: 7 })

Metric, points program, and leaderboard are created in staging, shall I copy to production?

Connect your stack via webhooks
Trigger workflows in third-party tools and internal systems in real time based on changes in Trophy.
Trophy
Customer.io
Knock
OneSignal
Mixpanel
Amplitude
Develop, test, and deploy across environments
Separate dev, staging, and production environments with their own keys, data, and configuration. Promote changes with confidence.
Production
Staging
Pre-prod
Jason Dev
Charlie Dev
Keith Dev

Scale with confidence

Trusted by startups and enterprises alike. Scale seamlessly from your first to your millionth user.

Scale from first user to millionth
Latency, throughput, and uptime that hold up as your user base grows.

150M

API requests · 30D

just now

151ms

p95 latency · 24H

just now

100.0%

Uptime · 90D

Secure by design
Encryption in transit and at rest, scoped API keys, and privacy-first defaults out of the box.
  • Data encryption

    TLS 1.2+ in transit and AES-256 at rest

  • Privacy-first

    Trophy operates without PII by default

  • Secure API keys

    Rotation and revocation on demand

Reliable at scale
Fault tolerance, rate limits, and idempotent APIs keep gamification logic dependable under load.
  • Fault tolerant

    Automatic failover through redundancy

  • Rate limited

    Per-endpoint limits maintain fair use

  • Idempotent

    Retry requests without side-effects

FAQ

Frequently asked questions

Have a different question and can’t find the answer you’re looking for? Send us an email.

How do I send streak reminders automatically?
Trophy sends streak reminders automatically when a user is about to lose their streak. You configure the trigger event once, and Trophy handles send-time optimization in each recipient's local timezone. If you also want push notifications, Trophy fans out reminders to OneSignal or Knock via real-time webhooks. See the streaks documentation for setup details.
What is streak email tracking?
Streak email tracking is how Trophy monitors delivery for automated streak and achievement emails. Trophy tracks opens, clicks, and send status for every message so you can see what reached each user.
How do I track push notification delivery?
Trophy tracks delivery status for all lifecycle reminders, including push notifications sent through connected vendors. When you integrate OneSignal or Knock via webhooks, Trophy logs what reached each user. Your team sees a unified view of email and push delivery in one place.