# Manage communication templates

Updated Admin Portal experience
This page describes the template management experience available in the updated Admin Portal layout. If you are on the previous layout, see [Manage communication templates (legacy)](/servicing-operations/admin-portal/admin-portal-templates-legacy).

Templates are the basis for all automated and manual communications sent to borrowers through Peach. Each template defines the content, layout, and variables for a specific interaction across channels like email, SMS, mail, and in-portal pages. Use the Templates page to view, create, edit, and preview your communication templates.

**Availability:** All clients on the updated Admin Portal layout
**Required permissions:** `communicator.template:read` (to view); `communicator.template:update` (to edit); `communicator.template:activate` (to activate versions); `communicator.template:create` (to create new templates)

## Before you begin

- Templates work in conjunction with the [Repayment Engine](/servicing-operations/admin-portal/admin-portal-repayment-engine). A template must be set to **Enabled** for the corresponding Repayment Engine configuration to trigger automated communications.
- Changes to an active template take effect immediately. As soon as you save, subsequent communications using that template will reflect your changes.
- Only one language (English) is currently available when creating templates.


## View templates

From the Admin Portal sidebar, select **Templates** (under the **Customer messaging** group). The templates list displays all templates in a table.

| Column | Description |
|  --- | --- |
| **ID** | The template descriptor identifier (TD-XXXX-XXXX). |
| **Template name** | The subject name of the template, describing the interaction it generates. |
| **Channel** | The delivery method: Email, SMS, GUI, Mail, Document, or Voice. |
| **Language** | The template's language (e.g., English). |
| **Active Version** | The active template version identifier (TV-XXXX-XXXX). |
| **Product ID** | The loan type this template is associated with (LT-XXXX-XXXX). A dash (—) means the template applies to all loan types. |
| **Status** | Whether the template is **Active** or **Inactive**. Inactive templates are not sent to borrowers. |


Select any row to open the template in the drawer.

### Search and filter

Use the search bar to find templates by name or ID. Select **+ Add filter** to narrow results by:

- **Language**
- **Status** (Active or Inactive)
- **Channel**
- **Product ID**


Select the column management icon (grid icon) in the upper right of the table to show, hide, or reorder columns.

## Template drawer

Selecting a template row opens a drawer with three tabs:

- **Template** — Shows a rendered preview of the active template version, populated using the first available borrower in your account. Select **Edit** to open the WYSIWYG editor.
- **Code** — Displays the raw HTML or plain text source of the template.
- **Details** — Shows and allows editing of the template's metadata: subject, channel, loan type, language, status, sensitive information flag, version ID, and timestamps.


The **Template** and **Details** tabs each have their own **Edit**, **Save**, and **Cancel** controls. Tab switching is blocked while you are in edit mode — save or cancel your changes before switching tabs.

If you have unsaved changes and attempt to close the drawer or select **Cancel**, a confirmation dialog titled "You have unsaved changes" appears with the message "Are you sure you want to exit? Your changes will not be saved." Select **Exit** to discard your changes, or **Cancel** to continue editing.

## Create a template

1. From the **Templates** list, select **+ New**.
2. Fill in the template details (see [Template fields](#template-fields) below).
3. Select **Create and Customize**.


The new template opens immediately in the drawer, ready to edit. A draft version is automatically created and activated.

**Note:** If a global template (no loan type) already exists for the same subject, channel, and language, the new loan-type-specific template copies the active global version's content as its starting point.

If a template already exists for the same combination of subject, channel, loan type, and language, the form will display: *"A template with this subject, channel, loan type, and language already exists."*

## Edit a template

### Template tab — WYSIWYG editor

1. Select a template row to open the drawer.
2. On the **Template** tab, select **Edit**.
3. Update the content using the editor.
4. Select **Save** to apply your changes, or **Cancel** to discard them.


The fields available in the editor depend on the template's channel:

| Channel | Editable fields |
|  --- | --- |
| **Email** | Subject line, Preheader, Header, Body (HTML) |
| **Document, GUI, Mail** | Body (HTML) |
| **SMS, Voice** | Body (plain text only) |


For email templates, the subject line appears as a single-line editor above the main body. The HTML editor toolbar (available for Email, Document, GUI, and Mail templates) includes: **Bold**, **Italic**, **Underline**, **Bullet list**, **Ordered list**, **H1**, **H2**, and **Add variable**.

SMS and Voice templates use a plain text editor with no formatting toolbar — only the Add variable control is available.

#### Add variables

1. Place your cursor in the editor where you want to insert a variable.
2. Select the **Add variable** icon in the toolbar.
3. In the variable picker, use the **All Categories** dropdown to filter by category, or type in the search field to find a variable by name or key.
4. Select a variable row to insert it at your cursor position.


Variables render with actual borrower, loan, or company data when the template is sent. They use double curly bracket syntax: `{{variable}}`.

If you insert a variable that is valid but not applicable to the current template's subject, a warning banner appears: *"You are using a valid variable, but not available in this template."*

**Note:** The **Add variable** control is disabled until both a subject and a channel are set on the template.

### Details tab

1. On the **Details** tab, select **Edit**.
2. Update the fields you want to change.
3. Select **Save** to apply your changes.


The following fields are editable on the Details tab:

| Field | Notes |
|  --- | --- |
| **Channel** | Changing channel affects which editor fields appear on the Template tab. |
| **Template name** | Available only for custom subject types. Max 100 characters. |
| **Loan type** | Associates the template with a specific loan type. Clear the field to make the template apply to all loan types. |
| **Language** | Currently only English is available. |
| **Status** | Toggle between **Enabled** and **Disabled**. |
| **Sensitive information** | When enabled, agents can see that a communication was sent but cannot view its content. |


The **Subject**, **Version ID**, **Created at**, and **Updated at** fields are read-only and cannot be changed after creation.

## Preview a template

When you open a template in the drawer and are not in edit mode, the **Template** tab automatically renders a preview using the first available borrower in your account. For Document and GUI channel templates, select **Open as PDF** to view the rendered output as a PDF.

## Template versions

When you create a template, a version is automatically created and activated. Editing a template through the drawer updates the current active version directly — no separate activation step is required.

To view or activate a previous version, navigate directly to `/templates/:id/versions/:versionId`. Select **Activate this version** to make that version the active one. There is no in-app version history browser — version IDs can be found in the template's **Details** tab.

## Template fields

| Field | Description | Required | Values / Format |
|  --- | --- | --- | --- |
| **Subject** | The interaction this template covers. Determines what variables are available. | Yes | Dropdown of available subjects |
| **Channel** | The delivery channel for this template. | Yes | GUI, Document, Mail, SMS, Email, Voice |
| **Template name** | A custom display name. Only available for custom subject types. | No | Text, max 100 characters |
| **Loan type** | Associates the template with a specific loan type. If not set, the template applies to all loan types. | No | Dropdown of loan types |
| **Language** | The language this template is written in. | Yes | English |
| **Status** | Controls whether the template is active. Both the template and its Repayment Engine configuration must be enabled for automated sending. | Yes | Enabled, Disabled |
| **Sensitive information** | When enabled, agents can see that a communication was sent but cannot view its content. | No | On/Off |


## Template channels

| Channel | Description |
|  --- | --- |
| **Email** | Generates an email. Uses both HTML and plain text — the plain text version displays if the borrower's email client can't render HTML. Email templates include Subject line, Preheader, Header, and Body fields. |
| **SMS** | Generates an SMS message. Body is plain text only. Use the `shortURL` attribute (e.g., `{{portal("/")|shorturl}}`) for links to minimize character count. |
| **Mail** | Generates a physical letter sent to the borrower by Peach. |
| **GUI** | Generates a page displayed in the Borrower Portal. |
| **Document** | Generates a document (such as a disclosure or agreement). |
| **Voice** | Generates a voice message. Body is plain text only. Currently used for two-factor authentication codes delivered by phone call. |


## Common template variables

| Variable | Description |
|  --- | --- |
| `company.brandName` | Your company's brand name from the company config. |
| `company.config.support.email` | Your support email address. |
| `company.config.support.phone` | Your support phone number. |
| `person.name.firstName` | The borrower's first name. |
| `loan.displayId` | The loan's display ID. |
| `loan.atOrigination.amountFinanced` | The loan's amount financed. Append `|money` to format as currency. |
| `loan.balances.outstandingBalances.outstandingTotalAmount` | The loan's total outstanding balance. Append `|money` to format as currency. |


Formatting filters: append `|money` or `|percent` to numeric values, `|dateformat` to dates, and `|title` to capitalize strings.

## Common template functions

| Function | Description |
|  --- | --- |
| `{{BORROWERNAME(full=False)}}` | Outputs the borrower's name, formatted for both company and personal borrowers. Set `full=True` for the full name. |
| `{{SIGNATURE()}}` | Adds a formatted signature to the communication. |
| `{{PAYMENTMETHOD(title=True, verbose=False)}}` | Outputs the payment method as formatted text. |
| `{{portal("/", utm=True)}}` | Generates a URL to the borrower portal. Append `|shorturl` for SMS-friendly shortened URLs. |
| `{{CTA(href, title='CTA')}}` | Generates a call-to-action button. |


## Related pages

- [Manage communication templates (legacy)](/servicing-operations/admin-portal/admin-portal-templates-legacy)
- [Configure repayment engine notifications](/servicing-operations/admin-portal/admin-portal-repayment-engine)
- [Admin Portal overview](/servicing-operations/admin-portal/admin-portal-overview)