MD: Settings Page - Communications - email templates
Explore essential settings for managing communications effectively on your MD platform to enhance user experience and engagement.
Table of Contents
π¨ Email Templates
From this section you can manage all the emails your customers receive throughout the shipping, return, or exchange process. You can create templates from scratch, duplicate existing ones, edit or delete them, and decide exactly when each one is sent and to whom using triggers and conditions. You have full control over the when, the what, and the who.

Where to configure: Settings β Communications β Email Templates

New templates can be added at the bottom of the page.

π‘ Key concepts
TemplateΒ
The email itself: its subject, content, and the logic that decides when it's sent. Each template has an internal name and description (only visible to your team), the email content, and its trigger and condition configuration.


TriggerΒ
The event that activates the template evaluation. On its own it doesn't send the email; it simply tells the system: "Check if there's a template listening for this". When that event occurs, the system checks whether the defined conditions are met and, if so, sends the email.

You can add multiple triggers to the same template: the logic between them is OR (the email is evaluated if any of them occurs).

ConditionsΒ
Additional filters evaluated after the trigger. They work with AND logic: all of them must be met for the email to be sent. If you don't add any conditions, the email is sent to all customers for whom the trigger occurs. The logic is identical to that of the Policy Rules Editor.

Content blocksΒ
Components that make up the email body. Some are free text you write yourself; others are dynamic blocks that the system automatically fills in with request information (list of products to return, pick-up instructions, tracking link, request summary...).

β οΈ No priority system: If a customer meets the conditions of two different templates for the same event, they will receive both emails. It's important to design your conditions carefully to avoid duplicate communications.
βΆοΈ Step-by-step guide
Step 1: Create, duplicate or edit a template
From the Email Templates list you have three options:
- New template β start from scratch using the create button.
- Duplicate β copy an existing template and modify it.
- Edit β adjust the content or logic of an existing template.
You can also delete any template, including the default ones.


Step 2: Name and description
The name and description are for internal use only β they help you identify each template in the list. Customers never see them.

Step 3: Configure the content
Languages
Each template can have content in multiple languages: English, French, German, Italian, Portuguese, Spanish, Dutch, and Korean. Use the language tabs to write each version. The system will send the email in the customer's corresponding language.

Subject
Write the email subject. You can use the "Add variable" button to insert dynamic variables that the system will replace with real information on each send. The available variables are grouped into four categories:
Store
| Variable | What it inserts |
|---|---|
{{store_name}} |
Store name |
{{store_url}} |
Store URL |
{{store_return_portal_url}} |
Returns portal URL |
{{store_cd_url}} |
Customer Dashboard URL |
{{store_contact_email}} |
Store contact email |
{{store_contact_url}} |
Store contact URL |
{{store_returns_policy_url}} |
Return policy URL |
{{store_help_center_url}} |
Help center URL |
Customer
| Variable | What it inserts |
|---|---|
{{customer_first_name}} |
Customer's first name |
{{customer_last_name}} |
Customer's last name |
{{customer_email}} |
Customer's email |
Order
| Variable | What it inserts |
|---|---|
{{order_name}} |
Order number |
{{order_return_url}} |
Order return URL |
Transaction
| Variable | What it inserts |
|---|---|
{{transaction_type}} |
Transaction type |
{{transaction_mode}} |
Transaction mode |
{{transaction_status}} |
Transaction status |
{{transaction_cd_url}} |
Transaction Customer Dashboard URL |
{{transaction_return_carrier}} |
Return carrier |
{{transaction_total_refunded_amount}} |
Total refunded amount |
{{transaction_refund_bank_account}} |
Refund bank account |
Email body
The body has three tabs:
- Write β free-text editor with formatting (bold, italic, lists, links, images...). Write your main message here.
- Content blocks β select which dynamic blocks to include and arrange them by dragging. See details in the next section.
- Preview β preview how the email will look before saving.

Step 4: Configure the trigger
Select the event that will activate the evaluation of this email. Triggers are grouped into several categories:
- Changes in transaction status (accepted, partially accepted, rejected...)
- Changes in shipment status (in transit, exception, delivered...)
- Changes in carrier tracking status (held at customs, out for delivery...)
- Administrative actions: a refund is issued, an address is edited, a pick-up is scheduled, marked as paidβ¦

Some triggers have sub-options: for example, "Transaction status updated" lets you choose which specific statuses it applies to. You can add more than one trigger to the same template using the "Add trigger" button.

OR logic between triggers
When you add more than one trigger to a template, the logic between them is OR: the email will be evaluated if any of the configured triggers occurs. They don't all need to happen.
For example, if you configure two triggers:
- Transaction status updated β Accepted
- Refund issued
The email will be sent when the first occurs or when the second occurs, independently. Any conditions you've defined apply equally in both cases.
This is useful when you want the same message to reach the customer for several related events, without needing to create and maintain two separate templates.
Step 5: Add conditions (optional)
If you want to segment, add conditions. You can filter by:

- Order: number, date, region, status, type, tag, discounts applied.
- Customer: tags (e.g. "VIP"), country.
- Transaction: type (return / exchange / mixed), status, refund method, payment status.
- Refund: refund type.
- Payment: payment status.
- Shipment: shipment type (order, exchange, return), carrier, shipping service, tracking number, origin, destination.
- Products to return: properties of the products the customer is returning.
- New requested product: properties of the products requested in the exchange.
- Products in shipment: properties of the products included in a specific shipment.
If you don't add conditions, the email is sent to all customers for whom the trigger occurs.
Step 6: Activate
Save the template and make sure the toggle is active in the Email Templates list. Deactivated templates are not evaluated even if the trigger occurs.
Manually triggered emails: Some dashboard actions (such as resending return instructions or resending a payment link) trigger an email to the customer. If no active template exists for that action, the platform will alert you to create one before proceeding.
π Available content blocks
Content blocks are components you can enable or disable and reorder via drag & drop. Each one automatically adds relevant information to the email:
| Block | What it includes |
|---|---|
| Email text | The free text you wrote in the Write tab |
| Separator | A horizontal line to visually separate sections |
| Return instructions | Instructions on how to complete the return |
| Request summary | Summary of the request (type, status, date...) |
| Products - To return | List of products the customer needs to return |
| Products - Requested | Products requested in the exchange |
| Products - Rejected | Products that have been rejected |
| Products - Accepted | Products that have been accepted |
| Products - Included in shipment | Products included in the shipment |
| Breakdown | Financial breakdown of the request |
| Customer dashboard access info | Link and instructions to access the customer portal |
| Refund code details | Refund code details (if applicable) |
| Shipping status widget | Widget with real-time shipment status |
π© Available triggers
Β
| Category | Trigger | Sub-options |
|---|---|---|
| Transaction | Transaction status updated | Accepted, Partially accepted, Rejected... |
| Shipment | Shipment status updated | In transit, Exception, Delivered... |
| Shipment | Shipment tracking status updated | Held at customs, Out for delivery... Fires the first time it changes to any of the selected statuses. |
| Refund / Payment | Refund issued | Refund type |
| Refund / Payment | Payment required | β |
| Refund / Payment | Payment request expired | β |
| Actions | Amend rejected products | β |
| Actions | Edit customer details | β |
| Actions | Edit return/pick-up address | β |
| Actions | Schedule new pick-up | β |
| Actions | Resend return instructions | β |
| Actions | Switch exchange into return | β |
| Actions | Revert cancelled status | β |
| Actions | Mark as paid | β |
| Actions | Mark as refunded | β |
| Actions | Resend payment link | β |
| Actions | Void store credit | β |
| Actions | Void gift card | β |
| Actions | Exception created for an order | β |
| Actions | New label requested | β |
βοΈ Available conditions
Conditions are grouped by category. Within each category, you select the property, the match type, and the value.

Order
- Order number
- Order date
- Order region
- Order status
- Order type
- Order tag
- Has discounts applied?
- Discount applied
Customer
- Customer tags (e.g. "VIP")
- Country
Transaction
- Type (return / exchange / mixed)
- Status
- Refund method
- Payment status
Refund
- Refund type
Payment
- Payment status
Shipment
- Shipment type (order shipment, exchange shipment, return shipment...)
- Carrier
- Shipping service
- Tracking number
- Origin / Destination
Products to return
- Properties of the products the customer is returning
New requested product
- Properties of the products requested in the exchange
Products in shipment
- Properties of the products included in a specific shipment
β Use case examples
Basic: notification when a return is rejected
Goal: notify the customer when their products have been rejected.
- Trigger: Transaction status updated β Rejected
- Conditions: none
- Result: all customers with a rejected transaction receive the email.
Intermediate: differentiated email for VIP and non-VIP customers
Goal: when an exchange shipment goes out to the customer, VIPs receive a special email and everyone else gets the standard one.
Template A β VIP customers:
- Trigger: Shipment status updated β Shipped
- Condition: Customer β Tag = "VIP"
Template B β all other customers:
- Trigger: Shipment status updated β Shipped
- Condition: Customer β Tag β "VIP"
β οΈ If you don't define mutually exclusive conditions between templates for the same trigger, a customer could receive both.
Advanced: customs hold alert (exchange shipments only)
Goal: notify customers when their shipment is held at customs, but only if it's an exchange shipment. Don't notify those waiting for a refund.
- Trigger: Shipment tracking status updated β Held at customs
- Condition: Shipment β Shipment type = "Exchange shipment"
- Result: only customers with an exchange shipment held at customs receive the notification.
Advanced: special email for Black Friday order returns
Goal: when a return from a Black Friday order is accepted, send a personalised message.
- Trigger: Transaction status updated β Accepted
- Condition: Order β Order date between 29/11/2024 and 02/12/2024
βFAQ
What happens if a customer meets the conditions of two emails for the same event? They will receive both. There is no priority system. Plan your conditions to be mutually exclusive when you don't want to duplicate communications.
Does the order of conditions matter? For the final result, no. What matters is that all the conditions you define are met.
Can I send an email to everyone without segmenting? Yes. Simply don't add any conditions. The email will be sent to all customers for whom the trigger occurs.
Can I delete the default templates? Yes. You can delete any template. If you don't want to delete it but want to pause it temporarily, use the toggle to deactivate it.
Does this work for returns only, or also for exchanges? For everything: returns, exchanges, and mixed requests. You can segment by transaction type if you want to send different communications depending on the case.
Do merchants who manage their shipments outside Reveni see all these triggers? Yes, but shipment triggers will only be relevant for shipments managed by Reveni. Those using another tool will continue receiving notifications from that tool or directly from the carrier.
Can I set up shipping alerts with this feature? Yes, to some extent. For example, you can create an email that fires when the tracking shows a customs hold and filter it to only affect exchange shipments.
What happens if I perform a manual action and there's no template created for that event? The platform will alert you that no active template exists for that action and will ask you to create one before proceeding.
Can I write the email in multiple languages? Yes. Each template has tabs for each language (English, French, German, Italian, Portuguese, Spanish, Dutch, and Korean). The system sends the email in the customer's corresponding language.
Β
Β
Β