Custom Email Templates
Administrators can customize email notifications by creating custom HTML templates. These templates replace the default system emails while maintaining full support for dynamic variables and embedded images. For more information how to configure the custom email templates, see Configure Custom Email Templates.
Available Template Files
File names are fixed and can not be changed.
The system looks for templates by exact file name. If you use a different name, the template will be ignored.
| Template File (EXACT NAME) | Event | Description |
|---|---|---|
new_account.html | User Creation | Sent when a new user account is created |
forgot_password.html | Password Reset | Sent when user requests password reset |
scan_task.html | Scan Completion | Sent when project scan completes |
update_vulnerability_project.html | Vulnerability Alert | Sent when new vulnerabilities are detected |
task_created.html | Task Created | Sent when a workflow task is created |
task_closed.html | Task Closed | Sent when a workflow task is closed |
task_reopened.html | Task Reopened | Sent when a workflow task is reopened |
task_reassigned.html | Task Reassigned | Sent when a task is reassigned to another user |
inventory_remediation_notification.html | Remediation Required | Sent when inventory requires remediation |
inventory_review_notification.html | Review Required | Sent when inventory requires review |
Rules
| Rule | Description |
|---|---|
| Subject Line | Must contain Subject: prefix (case-insensitive) |
| Subject Location | Can be anywhere in the file (top recommended) |
| Variables | Use ${VARIABLE_NAME} syntax |
| Images | Use cid:image_name for embedded images |
Variables Reference
Common Variables
The common variables are available in all templates.
| Variable | Description | Example |
|---|---|---|
${RECIPIENT_NAME} | Full name of recipient | John Doe |
${RECIPIENT_FIRST_NAME} | First name of recipient | John |
${RECIPIENT_LAST_NAME} | Last name of recipient | Doe |
User Account Events
new_account.html - New User Creation
| Variable | Description | Example |
|---|---|---|
${LOGIN_NAME} | User's login username | johndoe |
${USER_PASSWORD} | Temporary password | Temp@123 |
${RECIPIENT_FIRST_NAME} | User's first name | John |
${RECIPIENT_LAST_NAME} | User's last name | Doe |
${RECIPIENT_NAME} | User's display name | John Doe |
${URL} | Login URL | https://server/codeinsight |
forgot_password.html - Password Reset
| Variable | Description | Example |
|---|---|---|
${LOGIN_NAME} | User's login username | johndoe |
${USER_PASSWORD} | New temporary password | Reset@456 |
${RECIPIENT_FIRST_NAME} | User's first name | John |
${RECIPIENT_LAST_NAME} | User's last name | Doe |
${RECIPIENT_NAME} | User's display name | John Doe |
${URL} | Login URL | https://server/codeinsight |
Scan Events
scan_task.html - Scan Task Completion
| Variable | Description | Example |
|---|---|---|
${PROJECT_NAME} | Name of the scanned project | MyWebApp |
${SCAN_SERVER_NAME} | Name of the scan server | ScanServer-01 |
${TASK_END_DATE} | Scan completion date/time | 2025-1-15 |
${TASK_STATE} | Scan result (true/false) | true |
${THROWABLE} | Error details (if failed) | Exception message |
${CONNECTOR_ERRORS} | List of connector errors | [error1, error2] |
${PROJECT_URL} | Project URL | https://codeinsight/FNCI#myprojectdetails |
${TOTAL_FILES_SCANNED} | Total number of files scanned | 20 |
${TOTAL_FILE_SIZE} | Total size of project | 100mb |
${TOTAL_INVENTORY_COUNT} | Total count of inventories | 40 |
${INVENTORY_APPROVED_COUNT} | Count of approved inventories | 15 |
${INVENTORY_REJECTED_COUNT} | Count of rejected inventories | 15 |
${INVENTORY_REVIEW_COUNT} | Count of review inventories | 10 |
${VULNERABILITY_CRITICAL_COUNT} | Count of critical vulnerabilities | 5 |
${VULNERABILITY_HIGH_COUNT} | Count of high vulnerabilities | 10 |
${VULNERABILITY_MEDIUM_COUNT} | Count of medium vulnerabilites | 5 |
${VULNERABILITY_LOW_COUNT} | Count of low vulnerabilites | 10 |
${VULNERABILITY_NONE_COUNT} | Count of none/unknown vulnerabilites | 5 |
${TOTAL_VULNERABILITY_COUNT} | Count of total vulnerabilites | 35 |
Vulnerability Events
update_vulnerability_project.html - New Vulnerabilities Detected
| Variable | Description | Example |
|---|---|---|
${PROJECT_NAME} | Project name | MyWebApp |
${PROJECT_ID} | Project ID | 123 |
${PROJECT_URL} | URL to project details | https://server/... |
${RECIPIENT_FIRST_NAME} | Project owner first name | John |
${RECIPIENT_LAST_NAME} | Project owner last name | Doe |
${RECIPIENT_NAME} | Project owner display name | John Doe |
${INVENTORIES_COUNT} | Number of affected inventories | 5 |
${INVENTORY_MAP} | Map of inventory details | {id: {name, id}} |
${VULNERABILITY_MAP} | Map of vulnerability details | {id: {name, severity, score, description, url, source}} |
${INVENTORY_VULNERABILITIES_MAP} | Inventory to vulnerability mapping | {invId: [vulnIds]} |
Vulnerability Map Fields:
| Field | Description |
|---|---|
NAME | CVE identifier (e.g., CVE-2025-1234) |
SEVERITY | Severity level (Critical, High, Medium, Low) |
SCORE | CVSS score (0.0 - 10.0) |
DESCRIPTION | Vulnerability description |
URL | Reference URL |
SOURCE | Source registry (NVD, etc.) |
Workflow Task Events
Common Task Variables:
task_created.html
task_reopened.html
task_reassigned.html
task_closed.html
| Variable | Description | Example |
|---|---|---|
${PROJECT_NAME} | Project name | MyWebApp |
${INVENTORY_NAME} | Inventory/component name | log4j-core |
${INVENTORY_URL} | URL to inventory details | https://server/... |
${TASK_TYPE} | Type of task | Manual Review |
${TASK_SUMMARY} | Task summary/description | Review license compliance |
${TASK_PRIORITY} | Task priority | High |
${TASK_OWNER_FIRST_NAME} | Task owner first name | Jane |
${TASK_OWNER_LAST_NAME} | Task owner last name | Smith |
${TASK_OWNER_EMAIL} | Task owner email | jane@company.com |
${RECIPIENT_FIRST_NAME} | Email recipient first name | Jane |
${TASK_DETAILS} | Task details | This is a testing task |
Addition Variables:
task_closed.html - Task Closed
| Variable | Description | Example |
|---|---|---|
${TASK_RESOLUTION} | Resolution notes | Approved for use |
${TASK_CLOSED_BY_FIRST_NAME} | Person who closed first name | Admin |
${TASK_CLOSED_BY_LAST_NAME} | Person who closed last name | User |
Inventory Events
Common Task Variables:
inventory_review_notification.html
inventory_remediation_notification.html
| Variable | Description | Example |
|---|---|---|
${INVENTORY_NAME} | Component name | log4j-core |
${PROJECT_NAME} | Project name | MyWebApp |
${INVENTORY_URL} | URL to inventory | https://server/... |
${RECIPIENT_FIRST_NAME} | Project owner first name | John |
Add Images
There are two methods for adding images in the email template, depending on if you use CID embedded images or external URL images.
CID Embedded Images
-
Location for image file:
{codeinsightInstallPath}/email-templates/images/company_logo.png -
Reference in template:
<imgsrc="cid:company_logo"alt="Logo"width="200"> -
Supported formats:
.png,.jpg,.jpeg,.gif -
Naming: Image filename (without extension) = CID name
External URL Images
-
Reference in template:
<imgsrc="https://www.example.com/banner.png"alt="Logo"width="200"> -
Supported formats:
.png,.jpg,.jpeg,.gif