# Manage communication templates

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

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, edit, and preview your communication templates.

**Availability:** All clients
**Required permissions:** `communicator.template:read` (to view); `communicator.template:update` (to edit); `communicator.template:activate` (to activate versions)

## Before you begin

- Templates work in conjunction with the [Repayment Engine](/servicing-operations/admin-portal/admin-portal-repayment-engine-legacy). A template must be enabled for an interaction to be sent, even if the corresponding Repayment Engine configuration is active.
- Changes to templates take effect immediately. As soon as you save, subsequent communications using that template will reflect your changes.


## View templates

From the Admin Portal sidebar, select **Templates**. The templates list displays all templates in a table.

| Column | Description |
|  --- | --- |
| **ID** | The template descriptor identifier (TD-XXXX-XXXX). Select to open the template detail page. |
| **Template** | 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. |
| **Enabled** | Whether the template is enabled: **Yes** or **No**. Disabled templates are not sent to borrowers. |


### Search

Use the search bar to find templates by name or ID.

## View template details

Select a template's **ID** to open its detail page. The page shows a single **Template details** card with the following information:

- Subject, channel, language, enabled status, and sensitive data flag
- Subject line and HTML/text content (for applicable channels)
- Version ID, product ID, created at, and updated at


From the detail page you can select **Preview** to open the preview page, or **Edit** to edit the template inline.

## Edit a template

1. From the **Templates** list, select a template's **ID** to open its detail page.
2. Select **Edit**.
3. Update the fields you want to change:
  - **Enabled** — Toggle whether the template is active.
  - **Subject line** — The email subject line (email channel only).
  - **HTML content** — The full HTML body of the template.
  - **Text content** — The plain text fallback (email channel) or primary body (SMS, voice).
4. Select **Save** to apply your changes, or **Cancel** to discard them.


Variables use double curly bracket syntax: `{{variable}}`. Insert them directly into the HTML or text content fields.

### Preview a template

1. From the template detail page, select **Preview**.
2. Search for and select a **Borrower** to populate borrower-specific variables.
3. Optionally select a **Loan** and **Case**, or choose "Use sample loan info" / "Use sample case info" for generic sample data.
4. If the template is a statement, select the relevant **Statement**.
5. Select **Generate Preview** to render the template with the selected data.
6. For document or GUI channel templates, select **Open as PDF** to view the rendered output.


## Best practices for updating templates

1. **Edit in Sandbox** — Make changes in the Sandbox environment first.
2. **Preview in Sandbox** — Use the PDF preview to verify formatting and variable rendering.
3. **QA in Sandbox** — For substantial changes, validate with actual sandbox customers.
4. **Edit in Production** — Once validated, apply the same changes in Production.
5. **QA in Production** — Confirm changes using the PDF preview and by reviewing actual customer communications in the CRM.


## Template fields

| Field | Description | Required | Values / Format |
|  --- | --- | --- | --- |
| **Subject** | The name identifying this template. Distinct from the email subject line. | Yes | Dropdown of interaction subjects |
| **Channel** | The delivery channel for this template. | Yes | GUI, Document, Mail, SMS, Email, Voice |
| **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 | Language selector |
| **Enabled** | Controls whether the template is active. Both the template and its Repayment Engine configuration must be enabled for automated sending. | Yes | Yes, No |
| **Sensitive information** | When enabled, agents can see that a communication was sent but cannot view the content. | No | On/Off |


## Template channels

| Channel | Description |
|  --- | --- |
| **Email** | Generates an email. Uses both HTML and text content — the text version displays if the borrower's email client can't render HTML. |
| **Text (SMS)** | Generates an SMS message. Keep messages under 320 characters. 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. 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

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