# RevCent Email Templates Overview for Ecommerce Businesses

RevCent Email Templates let ecommerce businesses send dynamic, event-driven emails using their own SMTP Profile, HTML templates, Handlebars data, trigger-specific input data, timing rules, filters, and optional custom data.

Email Templates are useful for customer communication, internal operations, fulfillment coordination, AI/API-triggered messages, billing workflows, refund alerts, subscription reminders, shipment updates, abandoned-cart messaging, and fraud or risk notifications.

Source:
- RevCent Knowledge Base: Email Template — `https://kb.revcent.com/en/integrations/smtp/email-template`

---

## What Are RevCent Email Templates?

A RevCent Email Template is a reusable SMTP email configuration that defines:

- The SMTP Profile used to send the email.
- Sender email and sender display name.
- Recipient, CC, and BCC fields.
- Email subject.
- HTML body.
- Trigger that causes the email to send.
- Timing relative to the trigger.
- Campaign, product, product group, and third-party shop filters.
- Dynamic Handlebars data.
- Optional custom JSON data.
- Optional Function-generated custom data.
- Optional API/AI custom arguments.

Email Templates can be used for automated ecommerce lifecycle emails or triggered manually/API-directly when needed.

---

## SMTP Profile Required

Email Templates require an active SMTP Profile.

RevCent does not send email on behalf of users through RevCent’s own SMTP server. The merchant must configure and use their own SMTP Profile.

This means:

- The merchant controls the sender domain and SMTP provider.
- Sender authentication, deliverability, SPF, DKIM, and DMARC remain the merchant’s responsibility.
- The `template_from` address should generally match the SMTP Profile’s configured sender domain.

Common SMTP use cases:

- Send from `support@example.com`
- Send from `billing@example.com`
- Send from `orders@example.com`
- Send from brand-specific addresses for different stores or campaigns

---

# Why Ecommerce Businesses Use Email Templates

Email Templates are useful whenever ecommerce events need to produce email communication.

Common business reasons:

- Confirm purchases.
- Recover abandoned carts.
- Notify customers about failed payments.
- Send shipping and delivery updates.
- Send invoice links.
- Notify teams about pending refunds.
- Alert fraud/risk teams.
- Send subscription renewal reminders.
- Notify customers when trial periods are ending.
- Notify warehouses when shipments are created or voided.
- Let AI or API send highly customized messages.
- Generate dynamic content from Functions before rendering.

---

## Common Ecommerce Email Workflows

| Workflow | Trigger Type | Recipient |
|---|---|---|
| Customer receipt | Sale success | Customer |
| Payment failed notice | Sale fail or subscription renewal fail | Customer |
| Abandoned cart reminder | Pending sale no payment | Customer |
| Warehouse notification | Shipping item created | Warehouse / fulfillment team |
| Shipment shipped notice | Shipping item shipped | Customer |
| Shipment delivered notice | Shipping item delivered | Customer |
| Shipment voided alert | Shipping item voided | Warehouse or support team |
| Subscription renewal reminder | Subscription renewal upcoming | Customer |
| Subscription renewal success | Subscription renewal success | Customer |
| Subscription renewal failed | Subscription renewal fail | Customer or support |
| Trial ending reminder | Trial expire upcoming | Customer |
| Trial converted/success | Trial expire success | Customer |
| Trial payment failed | Trial expire fail | Customer |
| Invoice created | Invoice create success | Customer |
| Pending refund created | Pending refund created | Support or accounting |
| Fraud alert | Sentinel / Fraud Detection / Sale Fraud Alert | Risk team |
| AI-generated email | API/AI direct | Any configured recipient |

---

# Main Components of an Email Template

## Details

Typical details include:

- `name`
- `description`
- `enabled`
- `smtp_profile`

The name should identify the purpose and trigger.

Examples:

```text
Sale Success - Customer Receipt
Pending Sale No Payment - Abandoned Cart Reminder
Shipping Shipped - Customer Tracking Email
Subscription Renewal Upcoming - 3 Day Reminder
Fraud Detection Created - Risk Team Alert
API Direct - AI Personalized Follow-Up
```

A clear description is strongly recommended, especially for templates with filters, custom data, Functions, API/AI usage, or unusual timing.

---

## Basic Email Fields

Email Templates include:

| Field | Purpose |
|---|---|
| From | Sender email address. |
| From Name | Sender display name. |
| To | Primary recipients. |
| CC | Carbon-copy recipients. |
| BCC | Blind-copy recipients. |
| Subject | Email subject line. |
| HTML Body | Main email content. |

These fields can use Handlebars where supported.

Examples:

```handlebars
{{customer.email}}
{{customer.first_name}}
{{custom_data.support_email}}
{{custom_arguments.recipient_email}}
```

---

# Handlebars Personalization

RevCent Email Templates use Handlebars to insert dynamic data into subject lines, recipient fields, and email HTML.

Example input data:

```json
{
  "customer": {
    "first_name": "George",
    "email": "george@example.com"
  },
  "amount_total": 89.99,
  "iso_currency": "USD"
}
```

Template:

```handlebars
<p>Hi {{customer.first_name}},</p>
<p>Your order total was {{formatCurrency amount_total}}.</p>
```

Rendered output:

```html
<p>Hi George,</p>
<p>Your order total was $89.99.</p>
```

---

## Where Handlebars Can Be Used

Handlebars can be used in:

- Subject
- From address
- From name
- To
- CC
- BCC
- HTML body

Most templates use Handlebars primarily in subject and HTML body, but recipient fields can also be dynamic.

---

## Common Handlebars Patterns

### Basic Substitution

```handlebars
Hello {{customer.first_name}}
```

### Conditional Content

```handlebars
{{#if customer.first_name}}
  <p>Hello {{customer.first_name}},</p>
{{else}}
  <p>Hello,</p>
{{/if}}
```

### Loop Over Products

```handlebars
<ul>
{{#each products_detailed}}
  <li>{{name}} — {{formatCurrency total_amount}}</li>
{{/each}}
</ul>
```

### Use Parent Context in a Loop

```handlebars
{{#each products_detailed}}
  <p>{{../customer.first_name}} purchased {{name}}</p>
{{/each}}
```

---

# Custom Handlebars Helpers

RevCent supports standard Handlebars plus custom helpers.

## `formatDate`

Formats a valid ISO date or Unix timestamp.

```handlebars
{{formatDate created_date_unix 'MM/DD/YYYY' '-0500'}}
```

Notes:

- Default format is `MM/DD/YYYY`.
- Timezone offset is optional.
- You can use `now` to format the compilation/send-time timestamp.

Example:

```handlebars
{{formatDate now 'MM/DD/YYYY' '-0500'}}
```

---

## `formatCurrency`

Formats a number using the `iso_currency` value in the input data.

```handlebars
{{formatCurrency amount_total}}
```

Example:

```handlebars
<p>Total: {{formatCurrency amount_total}}</p>
```

---

## `findWhereEquals`

Finds a value inside an array of objects.

Format:

```handlebars
{{findWhereEquals 'metadata' 'name' 'affiliate_id' 'value'}}
```

Meaning:

- Search the `metadata` array.
- Find the object where `name` equals `affiliate_id`.
- Return that object’s `value`.

Example:

```handlebars
Affiliate ID: {{findWhereEquals 'metadata' 'name' 'affiliate_id' 'value'}}
```

---

## `math`

Performs a calculation between two values.

Format:

```handlebars
{{math 'add' shipping_amount tax_amount 'currency'}}
```

Supported operations:

- `add`
- `subtract`
- `multiply`
- `divide`

Supported output formats:

- `integer`
- `float`
- `currency`

Example:

```handlebars
<p>Shipping + tax: {{math 'add' shipping_amount tax_amount 'currency'}}</p>
```

---

## Type and Case Helpers

```handlebars
{{parseInt amount}}
{{parseFloat amount}}
{{toString amount}}
{{startCase customer.first_name}}
{{upperCase customer.first_name}}
{{lowerCase customer.first_name}}
```

Use these for formatting data without needing a Function.

---

# Trigger-Specific Input Data

The selected Email Template trigger determines the input data available to Handlebars.

This is one of the most important concepts.

If the trigger is sale-related, the template receives Sale JSON. If the trigger is customer-related, it receives Customer JSON. If the trigger is shipping-related, it receives Shipping JSON.

Example:

For a Sale trigger:

```handlebars
{{customer.email}}
{{customer.first_name}}
{{amount_total}}
```

For a Customer Created trigger:

```handlebars
{{email}}
{{first_name}}
{{last_name}}
```

Do not assume the same path works for every trigger.

---

## Input Data JSON Links

Use these JSON files as source-of-truth examples for Handlebars paths.

| Source Object | Input Data JSON |
|---|---|
| Sale | `https://revcent.com/documentation/files/email_template/input_data/sale.json` |
| Sentinel | `https://revcent.com/documentation/files/email_template/input_data/sentinel.json` |
| AI Memo | `https://revcent.com/documentation/files/email_template/input_data/ai_memo.json` |
| Fraud Detection | `https://revcent.com/documentation/files/email_template/input_data/fraud_detection.json` |
| Invoice | `https://revcent.com/documentation/files/email_template/input_data/invoice.json` |
| Customer | `https://revcent.com/documentation/files/email_template/input_data/customer.json` |
| Pending Refund | `https://revcent.com/documentation/files/email_template/input_data/pending_refund.json` |
| Shipping | `https://revcent.com/documentation/files/email_template/input_data/shipping.json` |
| Subscription Renewal | `https://revcent.com/documentation/files/email_template/input_data/subscription_renewal.json` |
| Subscription | `https://revcent.com/documentation/files/email_template/input_data/subscription.json` |
| Trial | `https://revcent.com/documentation/files/email_template/input_data/trial.json` |

---

# Email Template Triggers

Email Template triggers determine when an email sends and what input data the template receives.

## Direct Triggers

| Trigger | Purpose | Input Data |
|---|---|---|
| No Trigger | Draft or external-process template. | None |
| API/AI | Trigger email via API or AI System Tool. | None by default; uses custom arguments/custom data. |

---

## Event Triggers

| Trigger | Ecommerce Use Case | Input Data |
|---|---|---|
| AI Memo Created | Notify a user/team when an AI Assistant creates a memo. | AI Memo |
| Customer Created | Welcome new customers or notify internal teams. | Customer |
| Fraud Detection Created | Notify fraud/risk team. | Fraud Detection |
| Invoice Create Success | Send invoice link or notify accounting. | Invoice |
| Pending Refund Created | Notify support/accounting that refund is pending. | Pending Refund |
| Sale Success | Send receipt or fulfillment instructions. | Sale |
| Sale Fail | Send failed-payment notice or internal alert. | Sale |
| Sale Fraud Alert | Notify manual review team. | Sale |
| Sale Pending No Payment | Abandoned-cart reminder. | Sale |
| Sentinel Alert | Notify risk/security team. | Sentinel |
| Shipping Item Created | Notify warehouse or fulfillment team. | Shipping |
| Shipping Item Shipped | Send tracking email to customer. | Shipping |
| Shipping Item Delivered | Send delivery confirmation. | Shipping |
| Shipping Item Voided | Notify warehouse/support of cancellation. | Shipping |
| Subscription Renewal Success | Confirm renewal. | Subscription Renewal |
| Subscription Renewal Fail | Notify customer or support of failed renewal. | Subscription Renewal |
| Subscription Renewal Upcoming | Send upcoming renewal reminder. | Subscription |
| Trial Expire Success | Confirm successful trial conversion/expiration. | Trial |
| Trial Expire Fail | Notify of trial expiration payment failure. | Trial |
| Trial Expire Upcoming | Send trial ending reminder. | Trial |

---

## Trigger Timing

Email Templates can send immediately or at a specific time relative to the trigger.

### Immediate

Send the email immediately when the trigger occurs.

Best for:

- Receipts
- Shipment updates
- Fraud alerts
- Internal notifications
- Invoice created emails

### Specific Timing

Send before or after the trigger by a defined amount of time.

Settings:

| Setting | Meaning |
|---|---|
| Time Relative | Before or after the trigger. |
| Time Unit | Hours, days, weeks, months, years. |
| Time Value | Number of units. |

Examples:

Send three hours after a sale:

```text
Time Relative: After
Time Unit: Hours
Time Value: 3
```

Send one day before a subscription renewal:

```text
Time Relative: Before
Time Unit: Days
Time Value: 1
```

Important:

- `before` timing applies to predictable upcoming events such as subscription renewal upcoming and trial expire upcoming.
- `after` timing is useful for follow-up emails, abandoned cart reminders, and delayed internal checks.

---

# Filters and Template Settings

Filters let you restrict when a template is allowed to send.

Common filters:

| Filter | Purpose |
|---|---|
| Campaigns Allowed | Only send for selected campaigns. |
| Third Party Shops Allowed | Only send for selected shops. |
| Product Groups Allowed | Only send for selected product groups. |
| Products Allowed | Only send for selected products. |
| Products Visible | Control which products are visible/listed in the email. |

Use filters when:

- Different brands need different emails.
- Different campaigns need different copy.
- Certain products require special instructions.
- Third-party shops need different fulfillment notifications.
- Internal alerts should only fire for specific campaigns or products.

Example:

A store may use one Sale Success receipt for Product A and another for Product B.

---

# Custom Data

Custom data adds extra values to the Handlebars input data under `custom_data`.

Custom data can come from:

1. A static JSON object.
2. A RevCent Function.

---

## Custom Data from JSON

Use JSON custom data when values are static or simple.

Example custom data:

```json
{
  "support_email": "support@example.com",
  "brand_name": "Example Brand",
  "footer_text": "Thanks for being a customer."
}
```

Template usage:

```handlebars
<p>{{custom_data.footer_text}}</p>
<p>Support: {{custom_data.support_email}}</p>
```

Best for:

- Brand names
- Support emails
- Static disclaimers
- Campaign text
- Store URLs
- Simple custom messages

---

## Custom Data from a Function

Use a RevCent Function when custom data must be computed dynamically.

The Function must use the Email Template trigger type.

The Function receives the same item details as the Email Template at:

```javascript
event.data.item_details
```

The Function must return a plain JSON object.

Example Function:

```javascript
let customerEmail = event.data.item_details.customer.email;

callback(null, {
  email_capitalized: customerEmail.toUpperCase(),
  email_local_part: customerEmail.split("@")[0],
  custom_footer: "Thank you for your purchase."
});
```

The returned object becomes:

```json
{
  "custom_data": {
    "email_capitalized": "GEORGE@EXAMPLE.COM",
    "email_local_part": "george",
    "custom_footer": "Thank you for your purchase."
  }
}
```

Template usage:

```handlebars
<p>{{custom_data.custom_footer}}</p>
<p>Email local part: {{custom_data.email_local_part}}</p>
```

---

## Advanced Custom Data Use Cases

Functions can generate custom email data such as:

- Product recommendations.
- Dynamic coupon codes.
- Loyalty status.
- External CRM attributes.
- Custom support routing.
- AI-generated paragraphs.
- Dynamic legal or compliance language.
- Shipment-specific instructions.
- Personalized renewal offers.
- Customer segmentation labels.
- Abandoned-cart incentives.

Example:

A sale receipt Function can create a customer-specific coupon:

```javascript
let firstName = event.data.item_details.customer.first_name || "CUSTOMER";

callback(null, {
  coupon_code: `${firstName.toUpperCase()}25`,
  coupon_discount: "25%"
});
```

Template usage:

```handlebars
<p>Use code {{custom_data.coupon_code}} for {{custom_data.coupon_discount}} off your next order.</p>
```

---

# API/AI Direct Email Templates

API/AI direct templates are sent explicitly through API or AI rather than automatically from a RevCent event.

Use cases:

- AI sends a custom follow-up email.
- Support triggers a manual email.
- API sends transactional messages from an external workflow.
- AI generates a personalized subject/body section.
- A template is used as part of a broader automated process.

## Custom Arguments

Custom arguments allow runtime values to be inserted into the template.

Example custom argument names:

```text
recipient_email
subject_line
personalized_intro
message_body
recommended_product
```

Template usage:

```handlebars
{{custom_arguments.recipient_email}}
{{custom_arguments.subject_line}}
{{custom_arguments.personalized_intro}}
```

Example template:

```handlebars
<p>{{custom_arguments.personalized_intro}}</p>
<p>{{custom_arguments.message_body}}</p>
```

Important:

- Custom arguments are most useful for API/AI direct templates.
- AI can generate custom argument values based on the descriptions provided.
- Descriptions should be specific and clear.

Good description:

```text
Write a warm one-sentence opening line using the customer's first name and the product they purchased.
```

Poor description:

```text
intro
```

---

# Additional Shortcodes

Additional shortcodes can be used in subject or body.

| Shortcode | Applies To | Meaning |
|---|---|---|
| `{{item_date}}` | All triggers | Date of the item relative to the trigger, such as sale date or renewal date. |
| `{{date_now}}` | All triggers | Current date when the email is sent. |

Example:

```handlebars
<p>Email sent on {{date_now}}.</p>
<p>Item date: {{item_date}}.</p>
```

---

# Editors and Preview

## Design Editor

The Design Editor is a WYSIWYG HTML editor.

Use it for:

- Basic layout
- Text edits
- Logo changes
- Simple shortcodes
- Styling adjustments

For complex Handlebars logic, the Code Editor is usually better.

---

## Code Editor

The Code Editor exposes raw HTML.

Use it for:

- Handlebars conditionals
- Loops
- Complex table layouts
- Custom HTML
- Dynamic sections
- More precise styling

Important:

- Remote stylesheets and `<style>` tags are converted to inline styles when compiled before sending.
- Custom fonts may not render in every recipient email client.

---

## Preview

Preview renders an example email using the selected trigger’s input data and the template HTML.

Use preview to verify:

- Handlebars paths exist.
- Currency formats correctly.
- Dates render correctly.
- Product loops display correctly.
- Conditionals work.
- Custom data appears.
- Subject and body look correct.

Preview data is example data. Production data is specific to the actual trigger event.

---

# Business Workflow Examples

## Sale Success Receipt

Trigger:

```text
Sale Success
```

Input data:

```text
Sale
```

Common Handlebars:

```handlebars
{{customer.first_name}}
{{customer.email}}
{{amount_total}}
{{formatCurrency amount_total}}
{{#each products_detailed}}{{name}}{{/each}}
```

Use for:

- Customer receipt
- Product list
- Purchase confirmation
- Upsell/cross-sell
- Order summary

---

## Abandoned Cart Reminder

Trigger:

```text
Sale Pending No Payment
```

Input data:

```text
Sale
```

Timing:

```text
After trigger, such as 1 hour or 3 hours later
```

Use for:

- Cart recovery
- Discount offer
- Reminder of products left behind
- Customer support prompt

---

## Subscription Renewal Reminder

Trigger:

```text
Subscription Renewal Upcoming
```

Input data:

```text
Subscription
```

Timing:

```text
Before trigger, such as 1 day or 3 days before renewal
```

Use for:

- Renewal reminder
- Billing reminder
- Plan details
- Update-payment-method prompts

---

## Trial Ending Reminder

Trigger:

```text
Trial Expire Upcoming
```

Input data:

```text
Trial
```

Timing:

```text
Before trigger
```

Use for:

- Trial ending warning
- Upgrade prompt
- Feature reminder
- Customer support offer

---

## Shipping Notification

Trigger:

```text
Shipping Item Shipped
```

Input data:

```text
Shipping
```

Common Handlebars:

```handlebars
{{customer.first_name}}
{{provider_tracking}}
{{provider_tracking_url}}
```

Use for:

- Tracking email
- Shipment status
- Delivery expectation
- Customer support contact

---

## Warehouse Fulfillment Email

Trigger:

```text
Shipping Item Created
```

Input data:

```text
Shipping
```

Recipient:

```text
warehouse@example.com
```

Use for:

- Internal fulfillment notification
- Product pick/pack list
- Ship-to details
- Warehouse instructions

---

## Fraud Review Alert

Triggers:

```text
Fraud Detection Created
Sentinel Alert
Sale Fraud Alert
```

Input data:

```text
Fraud Detection, Sentinel, or Sale
```

Use for:

- Risk team notification
- Manual review
- Fraud evidence summary
- Internal escalation

---

## Pending Refund Alert

Trigger:

```text
Pending Refund Created
```

Input data:

```text
Pending Refund
```

Use for:

- Accounting notification
- Support follow-up
- Refund audit trail
- Customer service workflow

---

## Invoice Created Email

Trigger:

```text
Invoice Create Success
```

Input data:

```text
Invoice
```

Common Handlebars:

```handlebars
{{customer.first_name}}
{{amount_total}}
{{formatCurrency amount_total}}
{{hosted_url}}
```

Use for:

- Sending hosted invoice link
- Payment reminder
- Internal invoice notification

---

## AI Personalized Follow-Up

Trigger:

```text
API/AI
```

Input data:

```text
Custom arguments and/or custom data
```

Use for:

- AI-generated follow-up email
- Support response
- Personalized sales outreach
- AI-assisted account management

Example:

```handlebars
<p>{{custom_arguments.personalized_intro}}</p>
<p>{{custom_arguments.message_body}}</p>
```

---

# Best Practices

## Naming

Use names that clearly show trigger and purpose.

Good:

```text
Sale Success - Customer Receipt
Sale Pending No Payment - 1 Hour Cart Recovery
Shipping Shipped - Customer Tracking Email
Subscription Renewal Upcoming - 3 Day Reminder
Fraud Detection Created - Risk Alert
API Direct - AI Personalized Follow-Up
```

Poor:

```text
Email 1
Receipt
Test Template
Customer Email
```

---

## Descriptions

Descriptions are highly recommended.

Include:

- Trigger
- Recipient
- Purpose
- Timing
- Filters
- Custom data source
- Any Function dependency
- Any API/AI custom arguments

Example:

```text
Sent 3 hours after pending sale no payment. Uses Sale input data. Sends abandoned-cart reminder to customer and includes product list and custom_data coupon code.
```

---

## Handlebars Safety

Before enabling a template:

- Confirm the trigger’s input data shape.
- Use the linked JSON examples.
- Check whether customer fields are top-level or nested.
- Use conditionals for optional fields.
- Preview the template.
- Avoid assuming fields exist across all triggers.
- Use `formatCurrency` only when `iso_currency` exists in input data.

---

## Deliverability

- Use an SMTP Profile with proper domain authentication.
- Keep sender address consistent.
- Avoid spammy subject lines.
- Include useful, relevant content.
- Use BCC carefully.
- Test with real inboxes.
- Make sure customer-facing emails have correct branding and contact information.

---

## Internal Notifications

For internal team emails:

- Use fixed recipient addresses.
- Use BCC for hidden audit recipients.
- Include IDs and links where useful.
- Include enough event data for action.
- Keep subject lines searchable.

Example subject:

```handlebars
[Refund Pending] {{customer.email}} — {{formatCurrency amount}}
```

---

## Custom Data Best Practices

- Use static JSON for simple values.
- Use Functions for dynamic values.
- Keep Function returns small and plain JSON.
- Do not return circular objects.
- Do not include secrets in `custom_data`.
- Use stable key names.
- Document `custom_data` fields in the template description.

---

# Quick Decision Guide

| Goal | Recommended Trigger |
|---|---|
| Send a customer receipt | Sale Success |
| Recover abandoned cart | Sale Pending No Payment |
| Notify customer of failed payment | Sale Fail or Subscription Renewal Fail |
| Send shipment tracking | Shipping Item Shipped |
| Confirm delivery | Shipping Item Delivered |
| Notify warehouse | Shipping Item Created |
| Send invoice link | Invoice Create Success |
| Alert support/accounting of refund | Pending Refund Created |
| Alert risk team | Fraud Detection Created, Sentinel Alert, or Sale Fraud Alert |
| Remind customer of renewal | Subscription Renewal Upcoming |
| Remind customer trial is ending | Trial Expire Upcoming |
| Send AI-generated email | API/AI |
| Use draft/external process | No Trigger |

---

# Implementation Checklist

Before enabling an Email Template:

1. Confirm an active SMTP Profile exists.
2. Choose the correct trigger.
3. Confirm the trigger’s input data JSON.
4. Write a clear name and description.
5. Set sender and recipient fields.
6. Use Handlebars paths that exist for the selected trigger.
7. Use conditionals for optional fields.
8. Add timing if the email should not send immediately.
9. Add filters if only certain campaigns/products/shops should use the template.
10. Add custom data if needed.
11. Use a Function for dynamic custom data when necessary.
12. Add custom arguments for API/AI direct templates if needed.
13. Preview the template.
14. Send test messages when possible.
15. Enable the template only after confirming output and recipients.

---

# Summary

Email Templates are RevCent’s event-driven communication layer for ecommerce.

They allow businesses to:

- Send customer-facing lifecycle emails.
- Notify internal teams.
- Support fulfillment workflows.
- Recover failed or abandoned sales.
- Manage subscription and trial communication.
- Send fraud and refund alerts.
- Generate dynamic content with Handlebars.
- Extend template data with Functions.
- Trigger personalized emails through API or AI.

For ecommerce teams, Email Templates are most powerful when trigger selection, input data, timing, filters, and Handlebars paths are carefully aligned.


---
Document Parent Directory
* [Operations](https://revcent.com/documentation/markdown/mcp/operation/index.md) - AI/MCP details and overviews for operations available within the RevCent MCP.