> For the complete documentation index, see [llms.txt](https://docs.timvero.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.timvero.com/timveroos-admin-panel-documentation/v.8.2/setup/06-notifications/notification-templates.md).

# Notification Templates

## Overview

This guide provides step-by-step instructions for configuring automated notifications in timveroOS. Notifications enable timely communication with applicants, borrowers, and internal teams throughout the lending process. Proper configuration ensures stakeholders receive relevant information through their preferred communication channels without manual intervention.

Notification configuration builds on notification events created by your development team on the Building Platform. This guide focuses on the administrator tasks: verifying Building Platform prerequisites, configuring delivery gateways, creating notification templates, and testing notification delivery.

## Business Context

Effective notification management provides:

**Applicant Experience**: Timely status updates, document requests, and payment reminders improve transparency and reduce support inquiries

**Operational Efficiency**: Automated alerts for manual reviews, escalations, and exceptions enable staff to focus on high-priority tasks

**Compliance Support**: Documented communication trails with timestamps and delivery confirmations support regulatory requirements

**Team Coordination**: Role-based notifications ensure relevant staff members are informed without unnecessary message volume

## Prerequisites Check

**CRITICAL**: Before configuring notification templates, verify that Building Platform setup is complete. Notification templates require notification events to be created in code by your development team.

### Required Building Platform Setup

Your development team must complete these Building Platform tasks before you can configure notifications:

1. **NotificationEvent Classes Created**: Java classes defining when notifications can trigger (e.g., `LoanApprovedEvent`, `PaymentReminderEvent`)
2. **Event Types Registered**: Each NotificationEvent has a unique event type identifier (e.g., "LOAN\_APPROVED", "PAYMENT\_REMINDER")
3. **NotificationModel Classes**: Data models exposing entity information to templates (application details, client information, payment data)
4. **Recipient Types Defined**: Specification of who can receive notifications (BORROWER, GUARANTOR, internal roles)

For complete Building Platform implementation requirements, contact your development team.

### How to Verify Prerequisites

Follow these steps to confirm Building Platform setup is complete:

**Step 1: Check Event Type Availability**

1. Navigate to Admin Panel → Notifications
2. Click "Create New"
3. Examine the "Event Type" dropdown
4. Verify that expected event types appear in the list

<figure><img src="/files/CbNuFxYd4andJetILmW8" alt="Event type dropdown populated from Building Platform NotificationEvent classes"><figcaption><p>Event type dropdown populated from Building Platform NotificationEvent classes</p></figcaption></figure>

**Step 2: Verify Recipient Types**

1. In template creation form, check "Recipient Type" dropdown
2. Confirm required recipient types are available
3. Note: BORROWER is the only recipient type critical for business logic out-of-box. All other recipient types (GUARANTOR, AGENT, etc.) are custom and must be defined on the Building Platform (SDK)

**Step 3: Test Variable Availability**

1. Create a test template for an available event type
2. Access the variable hints or documentation
3. Verify that expected data fields are available for use in templates

### What to Do If Prerequisites Are Incomplete

**If Event Type Is Missing**:

* Contact your development team
* Provide the event type name and triggering conditions needed
* Development team must create NotificationEvent class on the Building Platform and deploy to your environment
* After deployment, the event type will appear in the admin panel

**If Recipient Type Is Missing**:

* Verify the recipient type is needed for your use case
* Contact development team to add recipient type to NotificationEvent configuration
* Only BORROWER is available by default - other types require Building Platform configuration

**If Variables Are Missing**:

* Check NotificationModel class for the event type on the Building Platform
* Development team must add properties to the model class to expose data
* After Building Platform update and deployment, new variables become available in templates

## Configuration Process

### Step 1: Verify Building Platform Event Types

Before creating templates, confirm that the event types you need are available.

**Navigation Path**: Admin Panel → Notifications → Create New

**Verification Actions**:

1. Click the "Event Type" dropdown in template creation form
2. Review the list of available event types
3. Each event type corresponds to a NotificationEvent class created on the Building Platform

**Standard Event Types (Out-of-Box)**:

* USER\_CREATED: Triggers when new user account is created
* PASSWORD\_CHANGED: Triggers when user changes password
* PASSWORD\_RESET: Triggers when user resets password

**Note**: Only the above password/user-related events are available out-of-box. All lending-specific events (APPLICATION\_STATUS\_CHANGE, LOAN\_APPROVED, PAYMENT\_REMINDER, DOCUMENT\_REQUIRED, PAYMENT\_RECEIVED, etc.) must be implemented on the Building Platform by your development team.

If your required event type is not listed, Building Platform setup is incomplete - contact your development team before proceeding.

### Step 2: Configure Notification Gateway

Before creating templates, select the delivery channels (gateways) the system uses to send notifications.

**Note**: There is no "Test Connection" button in the Admin Panel. Testing is done by triggering actual notification events.

#### Email Gateway (SMTP)

Email delivery requires SMTP configuration on the Building Platform before gateway selection is available in the Admin Panel. Your development team must configure the JavaMailSender (Spring Mail) integration via SDK.

For Building Platform email gateway setup, see: [JavaMailSender / Spring Mail SMTP](https://documentation.timvero.xyz/#javamailsender-spring-mail-smtp)

### Step 3: Create Notification Template

With gateways configured and Building Platform prerequisites verified, create notification templates that define message content and delivery rules.

**Navigation Path**: Admin Panel → Notifications → Create New

<figure><img src="/files/cpoPwEi7NTjGk7tDZHke" alt=""><figcaption><p>Template creation form with event type selection</p></figcaption></figure>

#### Template Configuration Fields

**1. Template Name** (Required)

* Descriptive identifier for internal use
* Example: "Loan Approval - Email to Borrower"
* Use naming convention: \[Event] - \[Channel] - \[Recipient]

**2. Event Type** (Required)

* Select from dropdown of available event types
* Dropdown populated from Building Platform NotificationEvent classes
* If event type is missing → Building Platform setup incomplete

<figure><img src="/files/CbNuFxYd4andJetILmW8" alt=""><figcaption></figcaption></figure>

**3. Recipient Type** (Required)

* Who receives this notification
* Options depend on Building Platform configuration - BORROWER is the standard option
* Other recipient types (GUARANTOR, PLEDGOR, AGENT, Organization Employees) are custom and must be defined on the Building Platform
* Some event types may limit available recipient types

**4. Gateway Type** (Required)

* Delivery channel for notification
* Options: EMAIL, SMS (and other custom gateways implemented on the Building Platform)
* Note: VOICE and LETTER gateway types may appear in dropdown but are placeholders only - they require custom Building Platform implementation to function
* Must have corresponding gateway configured in Step 2

**5. Active Status**

* Check to enable notification sending
* Uncheck to disable without deleting template
* Useful for seasonal or conditional notifications

**6. Subject Line** (For EMAIL and LETTER only)

* Message subject or title
* Supports variable substitution
* Example: "Loan Application {{application.id}} Approved"

**7. Late Send Available**

* Allow notifications to send outside business hours
* Relevant for 24/7 operations
* Note: Business hours are configured on the Building Platform, not in Admin Panel
* Unchecked = notifications queue until business hours (as defined on the Building Platform)

**8. Prevent Duplicate**

* Prevent sending same notification multiple times to same recipient
* Enabled by default for most notification types
* Disable for recurring reminders or periodic updates

#### Template Content Creation

Use the WYSIWYG editor to design notification content with dynamic variables.

<figure><img src="/files/oUY9KnDdGH7N4IcO68aY" alt=""><figcaption><p>Template editor with variable hints panel showing available data fields</p></figcaption></figure>

**Editor Features**:

**Rich Text Formatting** (EMAIL, LETTER):

* Bold, italic, underline text styling
* Font selection and sizing
* Text color and highlighting
* Bullet and numbered lists
* Hyperlinks and buttons

**Variable Insertion**:

* Click variable from hints panel to insert
* Syntax: `{{ variableName }}`
* Nested properties: `{{ application.client.individualInfo.firstName }}`
* Variable hints show available fields based on event type

**Conditional Content**:

```
{% if application.requestedAmount > 100000 %}
This is a high-value loan requiring additional review.
{% endif %}
```

**Loops** (for collections):

```
{% for document in requiredDocuments %}
- {{ document.name }}
{% endfor %}
```

**Formatting Filters**:

```
{{ application.requestedAmount | currency }}
{{ payment.dueDate | date('MM/dd/yyyy') }}
{{ application.condition.interestRate | numberformat('#,##0.00%') }}
```

#### Example Template Content

**Email Template - Loan Approval**:

```html
Subject: Congratulations! Your Loan Application is Approved

<h2>Dear {{ application.client.individualInfo.firstName }},</h2>

<p>We're pleased to inform you that your loan application 
<strong>{{ application.id | slice(0, 8) | upper }}</strong> has been approved!</p>

<h3>Loan Details:</h3>
<ul>
  <li><strong>Approved Amount:</strong> {{ application.requestedAmount | currency }}</li>
  <li><strong>Interest Rate:</strong> {{ application.condition.interestRate | numberformat('#,##0.00%') }}</li>
  <li><strong>Term:</strong> {{ application.condition.termInMonths }} months</li>
</ul>

<h3>Next Steps:</h3>
<p>Your loan documents will be ready for signature within 2 business days. 
You'll receive another notification when documents are available.</p>

<p>Questions? Contact us at support@yourcompany.com or (555) 123-4567.</p>

<p>Best regards,<br>
Your Lending Team</p>
```

**SMS Template - Payment Reminder**:

```
Payment due {{ payment.dueDate | date('MM/dd') }}: {{ payment.amount | currency }}
Account: {{ credit.id | slice(0, 8) | upper }}
Pay online or call (555) 123-4567
```

#### Saving and Activating Templates

**Save Template**:

1. Click "Save" button to save template configuration
2. Template is saved but inactive by default
3. Review template content and settings

**Test Template**:

1. Click "Test" button before activating
2. Select test entity (application, credit, etc.)
3. Enter test recipient email/phone
4. Verify notification sends correctly and content renders properly

**Activate Template**:

1. Check "Active" checkbox
2. Click "Save" to enable automatic notification sending
3. Template will now trigger on configured events

### Step 4: Configure Event Parameters (If Applicable)

Some notification events support configurable parameters that control when notifications send. This allows administrators to adjust notification timing without code changes.

#### When to Use Event Parameters

Event parameters are available when the NotificationEvent class on the Building Platform defines them. Common use cases:

**Payment Reminders**: Configure how many days before due date to send reminder

* Event: PAYMENT\_REMINDER
* Parameter: daysCount = 3
* Result: Notification sends 3 days before payment due

**Status-Based Notifications**: Specify which status changes trigger notifications

* Event: APPLICATION\_STATUS\_CHANGE
* Parameter: status = MANUAL\_REVIEW
* Result: Notification only sends when status changes to MANUAL\_REVIEW

**Time-Based Thresholds**: Set timing for escalation or follow-up notifications

* Event: APPLICATION\_AGING
* Parameter: daysInactive = 7
* Result: Notification sends if application inactive for 7 days

#### Configuring Parameters

**Step-by-Step**:

1. **Create Template**: Start creating template for parameterized event type
2. **Parameter Fields Appear**: Additional fields display below standard template fields
3. **Set Parameter Values**:
   * Field name and type determined by Building Platform event definition
   * Enter appropriate value (integer, string, boolean, etc.)
   * Refer to parameter description for valid values
4. **Save Template**: Parameter values are saved with template configuration
5. **Template Behavior**: Notification only sends when event occurs AND parameter conditions match

#### Parameter Example: Payment Reminder

**Scenario**: Send payment reminders 3 days before due date

**Configuration**:

* Event Type: PAYMENT\_REMINDER
* Parameter: daysCount = 3
* Recipient: BORROWER
* Gateway: SMS
* Content: "Payment due in 3 days: {{ payment.amount | currency }}"

**Behavior**:

* System checks daily for upcoming payments
* When payment is exactly 3 days away, notification triggers
* Borrower receives SMS reminder

**Creating Multiple Templates for Same Event**:

* Create second template with daysCount = 1 for 1-day reminder
* Both templates operate independently
* Borrower receives reminders at both 3 days and 1 day before due

### Step 5: Test Notification

Always test notifications before relying on them in production.

<figure><img src="/files/77G3uncUZmloT6JD2rHW" alt=""><figcaption></figcaption></figure>

**Testing Approach**:

**1. Test Template Function**

* Use "Check" button in template editor
* Select suitable test entity
* Enter test recipient contact information
* Verify notification sends and content renders correctly

**2. Verify Variable Population**

* Check that all variables show actual data (not {{ variable }} syntax)
* Confirm conditional logic displays appropriate content
* Test with different entity states to verify conditional rendering

**3. Validate Event Triggering** (Staging Environment)

* Perform action that should trigger event
* Confirm notification sends automatically
* Check notification log for delivery status

**4. Test Error Handling**

* Test with missing contact information
* Verify appropriate error logging
* Confirm retry logic for failed deliveries

## Troubleshooting

### Event Type Missing from Dropdown

**Problem**: Expected event type doesn't appear in the event type dropdown when creating templates

**Solution**: Building Platform setup is incomplete. Contact development team with event type requirements.

### Template Not Triggering

**Problem**: Template is configured and active, but notifications are not being sent when events occur

**Solution Checklist**:

* [ ] Template is Active
* [ ] Event is actually occurring
* [ ] Recipient has contact information
* [ ] Gateway is configured and tested
* [ ] Event parameters match conditions
* [ ] No errors in notification logs

### Variables Not Displaying Correctly

**Problem**: Notification content shows `{{ variable }}` syntax instead of actual data

**Solution**: Check variable name spelling and capitalization (case-sensitive), verify property path is correct for nested objects.

### Gateway Connection Failures

**Problem**: Gateway configuration test fails or notifications fail to deliver

**Solution**: Verify credentials, check firewall settings, confirm network connectivity to gateway servers.

## Related Operations

Once configured, see how notifications are used in operations:

* [Notifications (OPS - Origination)](/timveroos-admin-panel-documentation/v.8.2/ops/01-origination/notifications.md) - Viewing notification history during origination
* [Notifications (OPS - Servicing)](/timveroos-admin-panel-documentation/v.8.2/ops/02-servicing/notifications.md) - Viewing notification history for loans

## Next Steps

With notifications configured, proceed to related system configuration:

* [User Management](/timveroos-admin-panel-documentation/v.8.2/setup/02-access-management/user-management.md) - Configure employee notification subscriptions
* [Document Templates](/timveroos-admin-panel-documentation/v.8.2/setup/05-documents/document-templates.md) - Set up document-related notification triggers
* [Workflow Fundamentals](/timveroos-admin-panel-documentation/v.8.2/setup/04-workflows/workflow-fundamentals.md) - Configure workflow status notifications
* [Product Architecture](/timveroos-admin-panel-documentation/v.8.2/setup/03-products/product-architecture.md) - Set up product-specific notification rules

***

*For additional notification configuration support, contact your implementation team.*


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.timvero.com/timveroos-admin-panel-documentation/v.8.2/setup/06-notifications/notification-templates.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
