Pre-Built Templates
Engage ships with 19 Levy Recommended templates covering every common lifecycle moment. They are not loaded automatically - you seed them once from the Templates page, then clone individual templates into your own library to edit and ship.
Navigation
Access templates from Engage > Templates.
How Templates Work
Templates are channel-specific. Each one has:
- A channel (
email/sms/push) - A locale (
en/de/es/fr/pt) - A payload (subject + body for email, text body for SMS, title + body for push)
- A base template ID linking to the Levy Recommended source if it was cloned
Variables resolve at send time. The CAN-SPAM footer is baked into every pre-built email payload.
The 19 Templates
Welcome Series (3 emails over 7 days)
| Template | Channel | Trigger |
|---|---|---|
tpl_welcome_intro | customer.created | |
tpl_how_to_ride | Welcome journey step 2, 48h after signup | |
tpl_promo_first_ride | Welcome journey step 3, 5 days after signup |
The Welcome Series is the highest-leverage journey to enable first. Every new signup gets a polished onboarding sequence with zero ongoing work.
First Ride Congrats (push + email)
| Template | Channel | Trigger |
|---|---|---|
tpl_first_ride_push | push | ride.ended and total_count = 1 |
tpl_first_ride_email | Same as above |
Sent immediately after a rider's first ride. Tone is celebratory and includes a "share your ride" social CTA.
Re-Engagement 30 / 60 / 90 days
| Template | Channel | Trigger |
|---|---|---|
tpl_reengage_30d | last_ride_at ~30 days ago | |
tpl_reengage_60d | last_ride_at ~60 days ago | |
tpl_reengage_90d_email | last_ride_at ~90 days ago | |
tpl_reengage_90d_sms | sms | Backup nudge for 90d lapsed riders with SMS consent |
The 90-day SMS is opt-in only and includes the required STOP keyword footer.
Low Balance Warning
| Template | Channel | Trigger |
|---|---|---|
tpl_low_balance_push | push | wallet.low_balance (when auto_topup_enabled = false) |
tpl_low_balance_email | Same trigger, 4h delay if no top-up after push |
Auto top-up riders are filtered out at journey entry to avoid the bad send.
Promo Code Blast
| Template | Channel | Trigger |
|---|---|---|
tpl_promo_email | Scheduled | |
tpl_promo_sms | sms | Scheduled (SMS consent required) |
Generic promo template - swap the copy and code per campaign.
Post-Violation Educational Nudge
| Template | Channel | Trigger |
|---|---|---|
tpl_violation_nudge | violation.created with severity <= medium |
High-severity violations are excluded - those go through a separate operations workflow, not marketing.
Subscription Renewal Offer
| Template | Channel | Trigger |
|---|---|---|
tpl_renewal_email | subscription.next_renewal_at minus 7d | |
tpl_renewal_push | push | Same trigger |
Score-Tier-Up Congrats
| Template | Channel | Trigger |
|---|---|---|
tpl_score_tier_up_push | push | rider_score.tier_changed (upward only) |
Tier-down events do not fire a send - bad UX.
Force-End Apology
| Template | Channel | Trigger |
|---|---|---|
tpl_force_end_apology | ride.force_ended |
Includes an automatic $1 wallet credit applied at the same time the email goes out. The credit is recorded against the ride in ride_refunds.
Birthday / Anniversary
| Template | Channel | Trigger |
|---|---|---|
tpl_birthday_email | Customer signup anniversary |
Localization
All pre-built templates have English copy out of the box. Engage falls back to English when a locale variant is missing. To add localized variants:
- Clone the template into your library.
- In the clone, change the locale (
de,es,fr, orpt). - Translate the copy.
- Save. The dispatcher will now route German-speaking riders to your
devariant and everyone else toen.
The localized variant inherits its base_template_id from the Levy Recommended source, so updates to the source are tracked.
Variables Used in Pre-Built Templates
Every Levy Recommended template uses a consistent set of variables. If you write your own templates, follow this convention so you can swap in pre-built copy later.
| Variable | Resolves to |
|---|---|
{{customer.first_name | default:"there"}} | Rider's first name |
{{ride.last_at | date:"MMM D"}} | Most recent ride date |
{{wallet.balance | currency}} | Current wallet balance |
{{subaccount.brand_name}} | Your fleet's brand name |
{{subaccount.legal_address}} | Required for CAN-SPAM compliance |
{{unsubscribe.url}} | Per-recipient unsubscribe token URL |
{{preference_center.url}} | Per-recipient preference center URL |
Cloning a Template
- Go to Engage > Templates > Levy Recommended.
- Click any template.
- Click Clone to my library.
- The clone appears in the Yours tab. Edit subject, body, and variables.
- Save.
The clone is independent - edits to the Levy Recommended source do not propagate.
Custom Templates From Scratch
Start a custom template via Engage > Templates > New Template. Channel and locale are required. The payload format is:
Email:
{
"subject": "Your subject here",
"from_name": "{{subaccount.brand_name}}",
"body_html": "<html>...</html>",
"body_text": "Plain text fallback"
}
SMS:
{
"body": "Your message here. Reply STOP to unsubscribe."
}
Push:
{
"title": "Title",
"body": "Body",
"data": { "deeplink": "/wallet" }
}
Seeding the Templates
If your Templates page shows an empty Levy Recommended tab, the seed has not been run.
- Go to Engage > Templates.
- If you have super-admin access, click Seed Levy Recommended Templates.
- The seed is idempotent - running it again will not duplicate templates.
Operators on Pro and Enterprise plans get the seed automatically during initial setup. Contact support if your seed is missing.
Best Practices
- Always clone, never edit Levy Recommended directly. You cannot edit them - that protects you from losing copy in an update - but the clone path is fast.
- Localize incrementally. Start with English for everything, then add the language you have the most riders in.
- Re-clone if Levy updates a template. When Levy ships an improved Welcome Series, the original you cloned does not auto-update. Re-clone to pick up the new copy, then merge your customizations.
- Keep the legal address and unsubscribe variable in the footer. Templates that strip them will fail CAN-SPAM validation at publish time.
Need Help?
For template help, contact support@levyelectric.com.
Running a fleet on this hardware?
Levy Fleets runs scooters, e-bikes, mopeds and golf carts on the IoT hardware you already have, with integration pages for 29 vendors including Segway, Okai, Omni, Queclink, Invers and Comodule. Keyless unlock, geofencing, rider payments and rider support are included, and the Managed plan is a share of revenue with no per-vehicle software fee.