# Communication templates

This guide explains the two template-related areas exposed in the organization UI:

- **Communication Templates** - reusable communication template records.
- **Configuration > Templates** - organization-level template identifiers that are not configured inside a specific service tab.


## Prerequisites

- you are signed in with site administrator permissions
- you can access the organization settings area
- you know which template kind or identifier you need to manage
- communication template management is enabled for the tenant


## Open communication templates

1. Open **Organization** from the settings icon in the top-right toolbar.
2. Select **Communication Templates** in the left sidebar.


The template list includes a search field, filter action, add-template action, pagination, and columns for:

- identifier
- type
- owner
- update


![Communication Templates section showing template search, filter, add action, and list columns](/assets/admin-site-settings-communication-templates.645873bbf5d3e9bbd2f70a9a07d2f69dd64adaab230ea2c85484cf83b3cd5fd6.6fd6141d.png)

## Filter templates

The filter action opens **All filters**, where you can filter templates by status:

- **Drafts**
- **Sent**
- **Pendings**
- **Enabled**
- **Disabled**
- **Rejected**


![Communication template filters modal showing Drafts, Sent, Pendings, Enabled, Disabled, and Rejected options](/assets/admin-site-settings-communication-template-filters.dbaec69903ace090ff2cdd84510999c3dae239d3ce78ddf1c8dbf9c603ee5c42.6fd6141d.png)

## Template states

Template availability depends on its state.

The lifecycle includes distinct phases: **Draft**, **Submitted** (often shown as **Sent**), **Pending**, **Enabled**, **Disabled**, and **Rejected**.
Use **Submitted/Sent** for templates already sent for approval processing, and **Pending** for templates waiting in the review step.

- **Drafts** - the template is being prepared and is not available for use.
- **Sent** - the template was submitted and sent for approval processing.
- **Pendings** - the template is waiting for review or approval.
- **Enabled** - the template was approved and is available for use.
- **Disabled** - the template was approved in the past but was later deactivated.
- **Rejected** - the template did not pass approval and cannot be used until it is revised.


The columns and available row actions can vary by state.


```mermaid
%%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#E4F2F2', 'primaryBorderColor': '#006660', 'primaryTextColor': '#0A1111', 'lineColor': '#047C76', 'secondaryColor': '#CDDBDB', 'tertiaryColor': '#f5fafa', 'edgeLabelBackground': '#f5fafa', 'transitionColor': '#047C76'}}}%%
stateDiagram-v2
    [*] --> Draft : Create
    Draft --> Submitted : Submit for approval
    Submitted --> Pending : Automatic validation
    Submitted --> Enabled : Approved
    Pending --> Enabled : Approved
    Enabled --> Disabled : Deactivate
    Disabled --> Enabled : Reactivate
    Submitted --> Rejected : Rejected
    Pending --> Rejected : Rejected
    Enabled --> Rejected : Rejected
    Disabled --> Rejected : Rejected
    Rejected --> Draft : Convert to Draft
```

> **Note:** The UI displays the **Submitted** state as **Sent**.


## Add a communication template

1. Open **Communication Templates**.
2. Select the add-template action.
3. In **New template**, use the **Details** tab to choose the **Template kind** and enter the required **Template identifier**.
4. Add the **Template contents**.
5. Add variables if the template needs reusable placeholders.
6. Use **Preview** to review the template output when needed.
7. Select **Save**.


![New communication template form showing Details and Preview tabs, template kind, identifier, contents, variables, and save action](/assets/admin-site-settings-new-communication-template.2c6a791e9dd48f5c7e11ec490e9c4c1f1f56e2c8bc01a8351c2e4921c61ca4eb.6fd6141d.png)

### Template kinds

| Kind | Internal identifier | Use |
|  --- | --- | --- |
| Signature Request | `EviSign:Email:SignatureRequest` | Sent to EviSign signers requesting a signature. |
| Signature Reminder | `EviSign:Email:SignatureReminder` | Sent as a follow-up reminder to signers. |
| Final Notification | `EviSign:Email:FinalNotification` | Sent at the end of an EviSign process with evidence access details. |
| Progress Notification | `EviSign:Email:ProgressNotification` | Sent when an EviSign changes status (signed, rejected, or expired). Supports Liquid conditional logic. |
| Notification Template | `EviNotice:Email:Notification` | Customizes EviNotice notification emails. |


### Template identifier

The identifier is unique per site and is used to reference the template from the API. No two templates on the same site can share the same identifier.

- Maximum 100 characters.
- Allowed characters: letters, digits, colon (`:`), dot (`.`), and dash (`-`).


### Template content

Template content is HTML and can include Liquid template language for conditional or dynamic output. See [Liquid language](#liquid-language) below.

### Variables

Template content can include two types of variables:

- **Environment variables** — provided by the platform from the evidence data. See the [Environment variables](#environment-variables) reference below.
- **User variables** — declared by the administrator during template creation. User variables can only be added while the template is in **Draft** state.


To add a user variable:

1. In the **Details** tab, open the variables table.
2. Add a row and enter a **name**, a **default value** (used during preview), and whether the variable is **required** in each API call.
3. Reference the variable in the template content using the `{{variables.VariableName}}` prefix syntax — for example, `{{variables.PostalCode}}`.


Constraints:

- Maximum **30** user variables per template.
- Variable names: alphanumeric only, maximum 30 characters.
- Default values: maximum 500 characters.


User variables can be deleted while the template is still in Draft state.

## Request approval and validation

After saving a template, use the preview flow to confirm that the output is correct before requesting approval.

1. Open the saved draft template.
2. Select **Preview**.
3. Review the mandatory system variables and any user variables.
4. Enter sample values where the preview flow allows it.
5. Generate the preview and review the rendered output.
6. Select **Request approval** when the template is ready.


Template approval typically includes:

- **Automatic validation** to check that the content is structurally valid and uses the required variables correctly.
- **Manual validation** to review whether the content is appropriate for the selected template kind.


If the template passes validation, it can move to the enabled state and become available for use.

## State actions and available columns

The columns and row actions shown in the template list vary by the active state tab.

| State | Columns | Available actions |
|  --- | --- | --- |
| **Draft** | Type, Identifier, Last modification | Edit, Delete |
| **Pending** | Type, Identifier, Approval request date | View (read-only) |
| **Enabled** | Type, Identifier, Activation date | View (read-only), Deactivate |
| **Disabled** | Type, Identifier, Deactivation date | View (read-only), Activate, Delete (after 60 days) |
| **Rejected** | Type, Identifier, Rejection date | View (read-only), Convert to Draft, Delete (after 60 days) |


## Activate, deactivate, and delete templates

Template lifecycle actions depend on the current state:

- **Enabled** templates can be deactivated when they should no longer be available for use.
- **Disabled** templates can be reactivated if they should become available again.
- **Draft** templates can be deleted at any time.
- **Disabled** templates can only be deleted after they have been deactivated for at least **60 days**.
- **Rejected** templates can be converted back to **Draft** to revise the content and resubmit for approval.
- **Rejected** templates can also be deleted after the rejection has passed the **60-day** grace period.


Use the row actions exposed in the current state tab to perform the lifecycle action supported by that state.

## Environment variables

Environment variables are populated by the platform from the evidence or service data. Reference them in template content using `{{VariableName}}` syntax.

| Variable | Description |
|  --- | --- |
| `{{Subject}}` | EviSign subject |
| `{{Issuer}}` | Issuer name |
| `{{PartyName}}` | Name of the signer, reviewer, or interested party |
| `{{PartyEmail}}` | Participant email address |
| `{{PartyDisplayName}}` | Full name of the recipient |
| `{{PartyRole}}` | Role of the recipient (signer, reviewer, or interested party) |
| `{{Recipient}}` | Name of the notification recipient |
| `{{RecipientEmail}}` | Email of the notification recipient |
| `{{SupportEmail}}` | Platform support team email address |
| `{{ServiceName}}` | Service name as configured on the platform |
| `{{ServiceLegalName}}` | Legal company name of the service |
| `{{ServiceLegalId}}` | Service legal identifier |
| `{{ServiceUrl}}` | Service website |
| `{{ServiceLogoUrl}}` | Link to the platform logo |
| `{{ServiceLogo}}` | Platform logo as base64 for inline `<img>` use |
| `{{SupportUrl}}` | Support page URL |
| `{{GDPRUrl}}` | GDPR policy page URL |
| `{{LegalTermsUrl}}` | Legal terms URL |
| `{{DeliveryUrl}}` | URL to access the signature or notification process |
| `{{EvidenceUrl}}` | URL to access the documents generated during signing |
| `{{UnsubscribeUrl}}` | URL for the unsubscribe process |
| `{{CbUrl}}` | URL that records when a notification is opened |
| `{{InfoText}}` | Text reported by the web service |
| `{{ReminderNumber}}` | Signature request retry number |
| `{{SubmittedOn}}` | Date of issue |
| `{{OwnerFullName}}` | Full name of the issuing user |
| `{{OwnerName}}` | Name of the issuing user |
| `{{OwnerEmail}}` | Email address of the issuing user |
| `{{IssuerLogoHtml}}` | HTML `<img>` tag with the embedded issuer logo |
| `{{AdditionalInfo}}` | Text indicating whether the email is a reminder |
| `{{ActionName}}` | Whether the email is a Signature or a Validation email |
| `{{ActionText}}` | Button label for accessing the notification content |
| `{{Outcome}}` | Final result of the evidence (signed, rejected, expired) |
| `{{State}}` | Current status of the evidence |
| `{{Language}}` | Notification language |
| `{{CopyrightDate}}` | Platform copyright date |
| `{{CertificationLevel}}` | Certification level of the notification |
| `{{ServiceLegalTextTemplate}}` | Legal text accompanying the email |


Not all variables are available for every template kind. The **Preview** tab shows which variables are mandatory for the selected kind.

## Liquid language

Template content can include [Liquid](https://shopify.github.io/liquid/) template language for conditional or dynamic output. This is especially useful in **Progress** templates, where a single template can handle signed, rejected, and expired statuses using `if` blocks.

Reference: [Shopify Liquid](https://shopify.github.io/liquid/) · [DotLiquid](https://github.com/dotliquid/dotliquid/)

## Best practices for template approval

Templates go through automatic and manual validation before they can be enabled. Following these guidelines reduces rejection risk.

### Image limits

- Convert images to base64 inline to reduce rendering overhead.
- Maximum **3 images** larger than 48×48 px per template.
- Maximum **8 images** at or smaller than 48×48 px (typically social icons).
- Total file size of images and content must not exceed **1 MB**.


### Restricted components

The following cannot be used in templates, as mail clients may block emails that contain them:

- JavaScript
- Animated GIFs (whenever possible, avoid)
- `<iframe>`
- Embedded audio
- Embedded video
- Forms
- CSS links (external stylesheets)


Suspicious links should also not be included.

### Content requirements by template kind

**EviSign — Signature Request and Signature Reminder**

- Text must refer to the issuer's request for a signature.
- Must include a clearly visible button linking to the signature process.
- Must also include the signature process access link as plain text (not only as a button).
- Must include the mandatory variables for this kind.


**EviSign — Final Notification**

- Text must clearly indicate it is a final notification of the signing process.
- Must include steps for accessing the generated evidence.
- Must include a link to the generated evidence.
- Must include the mandatory variables for this kind.


**EviSign — Progress Notification**

- Uses Liquid code to handle the three possible statuses in a single template:
  - **Rejected**: text must clearly state that a signatory rejected the document.
  - **Signed**: text must clearly state that a signatory accepted the document.
  - **Expired**: text must clearly state that the signature process expired without being completed.
- Must include the mandatory variables for each status.


**EviNotice — Notification Template**

- Text must state that a notification has been sent and provide a button or link to access it.
- Must include the mandatory variables for this kind.


### GDPR legal text

Templates must include a GDPR notice that identifies the data controller role. The notice should reference the service's GDPR policy URL using the `{{GDPRUrl}}` variable rather than hardcoding a link.

### Anti-spam

Use clear, plain language. Avoid sensationalist wording, misleading subject-like phrases, or anything that could be interpreted as phishing. Mail clients flag templates that use deceptive patterns.

## Configuration templates

The **Configuration > Templates** entry is separate from **Communication Templates**. It contains organization-level template identifiers that are not configured inside a specific service tab.

In the current UI, this section includes **PIN signature templates**, such as the email signature verification code template identifier for EviSign and EviNotice.

Service-specific template identifiers can also appear in service configuration tabs, such as EviNotice and EviSign custom template identifiers.

## What to check

Before changing templates, confirm:

- whether you need a reusable communication template record or a configuration template identifier
- the template kind matches the intended communication purpose
- the template identifier is unique and matches any integration references
- the template content uses supported variables
- preview output has been reviewed before requesting approval or enabling the template
- the current template state allows the action you want to perform


## Expected result

Administrators can search, filter, create, submit, activate, deactivate, and maintain reusable communication templates, and can review organization-level template identifiers from **Configuration > Templates**.

## Sample templates

Download a sample template to use as a starting point. Each file is a working HTML template that includes the mandatory system variables for its kind and a GDPR notice section.

| Language | EviSign Signature Request | EviSign Signature Reminder | EviSign Final Notification | EviSign Progress Notification | EviNotice Notification |
|  --- | --- | --- | --- | --- | --- |
| English | [HTML](/assets/evisignsignaturerequestemail-en.7917df92fc3a04fd5b5f9554b188e837d3fbaaa60431d51ff19af719f6ae752b.84e4c01f.html) | [HTML](/assets/evisignsignaturereminderemail-en.cef739250eacad4ec9eb9b6b3e397d1575530f8633979d23f582de58a6cbacb4.84e4c01f.html) | [HTML](/assets/evisignfinalnotificationemail-en.9d7831e42644543d4f225d7f517ee5729e39829c5a6cfaeb8a01bed2562485d4.84e4c01f.html) | [HTML](/assets/evisignprogressnotificationtemplate-en.7a6b41197fcb7f4b2b3a1dea6a2c84b3d6ee8894f7135705cac97e45a9caeacd.84e4c01f.html) | [HTML](/assets/evinoticenotificationtemplate-en.d4a9282c4696f20edc93c3dbfacad047860560bc4d58f048f602e8f5837c795c.84e4c01f.html) |
| Spanish | [HTML](/assets/evisignsignaturerequestemail-es.3569bb058190e4967bada96485e4e9dca2111b4c27e168bea8f0f83921c22996.84e4c01f.html) | [HTML](/assets/evisignsignaturereminderemail-es.48b58b34508a76a8367eeb890c4c9786c63349425e8ce7ad93115a7f60e16b1b.84e4c01f.html) | [HTML](/assets/evisignfinalnotificationemail-es.4aea9edbbd23400d9e98e43b0fc7963adb97c8049591753d79dcb6ac3d7f6ce1.84e4c01f.html) | [HTML](/assets/evisignprogressnotificationtemplate-es.4a31c224b669eb64a037d6e4db3d72501e8ca04908e383358ffead6b4586acb1.84e4c01f.html) | [HTML](/assets/evinoticenotificationtemplate-es.b7357f3fab834d6613b608705a552e56442ff009abb4dcf4e8051b27609a60f6.84e4c01f.html) |
| Catalan | [HTML](/assets/evisignsignaturerequestemail-ca.038a6f178639f378ee9919407ee25bddff3744c9cdccf8a895721282f842ebb8.84e4c01f.html) | [HTML](/assets/evisignsignaturereminderemail-ca.e2df7955d601ff5f905b70387e8fd1730f4fdfed997be0d4271118a79f2a744c.84e4c01f.html) | [HTML](/assets/evisignfinalnotificationemail-ca.1023838a86cffdcc3e4ca446e24f721becb95269ffa30cbefd7adb9654ee582b.84e4c01f.html) | [HTML](/assets/evisignprogressnotificationtemplate-ca.18ad62c49d4fcb010246eca5f857d7be7a4e170c240ecf0f41f29f220f80101c.84e4c01f.html) | [HTML](/assets/evinoticenotificationtemplate-ca.e7e6b2ec787a094174698623c4cf032abdd8a8ccf7a801258674caec606b0e5c.84e4c01f.html) |
| German | [HTML](/assets/evisignsignaturerequestemail-de.31b6f9fc23b12c102ba6a0c904dd1f7971df5b2a79b190b3ee2f2aaf40980d73.84e4c01f.html) | [HTML](/assets/evisignsignaturereminderemail-de.31b6f9fc23b12c102ba6a0c904dd1f7971df5b2a79b190b3ee2f2aaf40980d73.84e4c01f.html) | [HTML](/assets/evisignfinalnotificationemail-de.939b5a4c71a0a57b389ac6dc4098386c577055914f27c0593f9c8d82be324e4f.84e4c01f.html) | [HTML](/assets/evisignprogressnotificationtemplate-de.4c411929d0524a2653349ccbd04e559d60b0b8d57ba428e4e05b002484964a13.84e4c01f.html) | [HTML](/assets/evinoticenotificationtemplate-de.518d3f2746a6e20844d479ea7d82d90dc655f9260a024f252fad4798c6dc9e5b.84e4c01f.html) |
| French | [HTML](/assets/evisignsignaturerequestemail-fr.1d033ee44aa3e299f5e6b5bc8d41f64061d1b9b8934f8c2ab8a082ea9a8c6c1a.84e4c01f.html) | [HTML](/assets/evisignsignaturereminderemail-fr.f7df7b8bba73338848d71701ca4bc720baf9adb1ff4c5297bb3acbf62cc17e19.84e4c01f.html) | [HTML](/assets/evisignfinalnotificationemail-fr.44d969a6da73b0d99f0523b5193a22d150cf060b4b332d2b60363c66bd8293a0.84e4c01f.html) | [HTML](/assets/evisignprogressnotificationtemplate-fr.90d581a5d1fa9aa6f5204a1003019900a8c67819a00ac2f9b2d8190f5e4c398c.84e4c01f.html) | [HTML](/assets/evinoticenotificationtemplate-fr.b5533ce54a562c451b80dfd31f2a4e6e59ac030445c9cb21a326d6a27275d1cd.84e4c01f.html) |
| Italian | [HTML](/assets/evisignsignaturerequestemail-it.c7271df8f841694578ee95fccdd4667721f7cbafd9aaaccebc830180f71a6ad6.84e4c01f.html) | [HTML](/assets/evisignsignaturereminderemail-it.287e248dec3f4647e34fa71d4108babf3cce5f0270e7cbda6f391168c982b66b.84e4c01f.html) | [HTML](/assets/evisignfinalnotificationemail-it.876f17019d2c90fe84feecf94f5da457a06ffe431cc02489ffbe3616b0987a28.84e4c01f.html) | [HTML](/assets/evisignprogressnotificationtemplate-it.281637b4a14766dca05f119b4df01b6ac7dd29ca52315a25472f50b7c3cfd444.84e4c01f.html) | [HTML](/assets/evinoticenotificationtemplate-it.2d8db0204bce139771a1bee0e442669fd03d731ae59937cf01532bf6aae4b9bc.84e4c01f.html) |
| Portuguese | [HTML](/assets/evisignsignaturerequestemail-pt.4e5c6e828c8b02d36860664daa312624bca4928b42b0596a91150b2cfe41b7e5.84e4c01f.html) | [HTML](/assets/evisignsignaturereminderemail-pt.20fb32ca9fdeaa102f7519c8ccc4ec0332f81f1e06095d7e71454759d5e31f96.84e4c01f.html) | [HTML](/assets/evisignfinalnotificationemail-pt.f19ea2f52f0adbf5f92e4c8f3cdb41247773ef01a709f09effd65d48a44b38a1.84e4c01f.html) | [HTML](/assets/evisignprogressnotificationtemplate-pt.4e638d13ff6d4a47b499842ee2b924feb25ae6ba8b1a9f0973cb9857449ded45.84e4c01f.html) | [HTML](/assets/evinoticenotificationtemplate-pt.8317cc9826cabdfbf58688ebe373efb12a50871d5a61b4ebc36c1972aea83d1d.84e4c01f.html) |
| Romanian | [HTML](/assets/evisignsignaturerequestemail-ro.b6e3325f7266ae5769108b4c2acddaa58c8ae5ce9bf7e9c1eb8a05f6df5cf6d7.84e4c01f.html) | [HTML](/assets/evisignsignaturereminderemail-ro.b6e3325f7266ae5769108b4c2acddaa58c8ae5ce9bf7e9c1eb8a05f6df5cf6d7.84e4c01f.html) | [HTML](/assets/evisignfinalnotificationemail-ro.bad2b265925d5a8823661f51f936b368925486f8ec174d5dc53bd33c57e60048.84e4c01f.html) | [HTML](/assets/evisignprogressnotificationtemplate-ro.82bd1afa9db798525c1fcff43caadb98b2bbb97f6049cdc0308fa159bca4c6b7.84e4c01f.html) | [HTML](/assets/evinoticenotificationtemplate-ro.bf8240415b05a51108c26d5d1479c8a5c0263c543325d20788390786658fd3f1.84e4c01f.html) |


## Related

- [Admin overview](/products/namirialnotify/admin)
- [Site settings](/products/namirialnotify/admin/site-settings)
- [Site customization](/products/namirialnotify/admin/site-customization)
- [Using communication templates from the API](/products/namirialnotify/dev/templates)