> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ulm.m1amdocs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# About Notification Service Templates

Digital Identity Management provides templates that support branding and customization. Each template contains dynamic notification variables that are configurable, enabling the template to be tailored with your organization's information and branding. All templates are stored by Digital Identity Management and organizations are responsible for their own template configuration and can download, edit, and upload the templates from the [Admin console](branding).

Several Digital Identity Management templates are embedded with predefined Thymeleaf variables. For more information on the Thymeleaf template engine, see the [Thymeleaft tutorial](https://www.thymeleaf.org/doc/tutorials/2.1/usingthymeleaf.html). The use cases available for users are:

* Signup with email and password
* Signup with mobile and password
* Signup with social media account (Apple, Google, Facebook, LinkedIn, Microsoft)
* Forgot/reset password
* Profile management:
  * Update display name
  * Update preferred language
  * Add/update/remove email
  * Add/update/remove mobile
  * Update preferred contact method
  * Update password
  * Add/remove social login

See [Notification Service Email Templates](notificationEmailTemplateDetails_r) and [Notification Service SMS Templates](notificationSmsTemplateDetails_r) for the available use cases, supported templates and variables.

## Template Types: Email and SMS

There are two types of templates based on the recipient's contact channel type: an SMS template for sending notifications to a user's mobile number, and two interrelated email templates for sending notifications to a user's email address (one template for the email header, and one for the email body).

## Template Fields

Every Process supports a collection of template fields that can be added to that Process' corresponding template(s). When a user completes a Process (such as when a user successfully completes an desired action), Digital Identity Management pulls the relevant information for each template field (e.g., user name, email address, etc) and populates the notification message with that information. As an example, the first line of a template uses a field in the salutation like "Hi \[firstName], thanks for signing up with ABC Inc" then the actual notification would read "Hi Jane, thanks for signing up with ABC Inc."

## Notification Variables

Digital Identity Management supports the use of notification variables in all template types that allow you to further customize your message to users. The dynamic notification variables are substituted by the Digital Identity Management process when the message is being generated.

## Email Template Structure

The email header and message files are written using CSS, HTML, and ThymeLeaf.

See [Manage Email Templates](templatesEmail) for more details on how to create your notification message templates.

**Example:** **Verification of authentication identifier during onboarding:**

This use case requires two email template files.

1\) Email Header: verification-of-authentication-identifier-during-onboarding\_header.txt

2\) Email Message (body): verification-of-authentication-identifier-during-onboarding\_body.html

**Email Header**

The three common header fields used in the header file (.txt) are **To**, **From** and **Subject**. The supported fields are replaced with values that have been entered/dynamically set by the Digital Identity Management Process when sending a message.

The following code block is from the .txt header file:

```
To: <[(${message.emailAddress})]>
From: [(${message.from})]
Subject: Finish operation token PLEASE
```

The message (body) file can be used to customize a message that is used in emails sent within your organization.The file is written in html. The template supports the following variables:

* displayName
* actionTokenURL
* customToken

The customToken represents the OTP verification code that the user enters on their UI to verify their email. Alternatively, the user can click the link, which is the actionTokenURL, to verify their email address.

<img src="https://mintcdn.com/amdocs-ulm/11Eo_UmnVjqUC-Xl/portal/m1Connect/DIMAdminGuide/images/verificationOfAuthenticationIdentifierDuringOnboardingHtml.PNG?fit=max&auto=format&n=11Eo_UmnVjqUC-Xl&q=85&s=866abc1293aae7a3daf66f3e3ba3d09f" alt="Digital Identity Management Email Message Template html file" width="710" height="780" data-path="portal/m1Connect/DIMAdminGuide/images/verificationOfAuthenticationIdentifierDuringOnboardingHtml.PNG" />

**Email Message (Raw mode)**

See the example email message below for more details regarding elements that can be updated/modified:

```
<!-- THIS EMAIL WAS BUILT AND TESTED WITH LITMUS http://litmus.com -->
<!-- IT WAS RELEASED UNDER THE MIT LICENSE https://opensource.org/licenses/MIT -->
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">
<head>
    <meta charset="utf-8"> <!-- utf-8 works for most cases -->
    <meta name="viewport" content="width=device-width"> <!-- Forcing initial-scale shouldn't be necessary -->
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> <!-- Use the latest (edge) version of IE rendering engine -->
    <meta name="x-apple-disable-message-reformatting">  <!-- Disable auto-scale in iOS 10 Mail entirely -->
    <title>Welcome to Amdocs</title> <!-- The title tag shows in email notifications, like Android 4.4. -->

    <!-- Web Font / @font-face : BEGIN -->
    <!-- NOTE: If web fonts are not required, lines 10 - 27 can be safely removed. -->

    <!-- Desktop Outlook chokes on web font references and defaults to Times New Roman, so we force a safe fallback font. -->
    <!--[if mso]>
        <style>
            * {
                font-family: Arial, sans-serif !important;
            }
        </style>
    <![endif]-->

    <!-- All other clients get the webfont reference; some will render the font and others will silently fail to the fallbacks. More on that here: http://stylecampaign.com/blog/2015/02/webfont-support-in-email/ -->
    <!--[if !mso]><!-->
        <link href="https://www.ffmark.com/fonts/MarkWebPro-Regular.css" rel="stylesheet">
        <link href="https://www.ffmark.com/fonts/MarkWebPro-Book.css" rel="stylesheet">
        <link href="https://www.ffmark.com/fonts/MarkWebPro-Bold.css" rel="stylesheet">

    <!--<![endif]-->

    <!-- Web Font / @font-face : END -->

    <!-- CSS Reset -->
    <style>

        /* What it does: Remove spaces around the email design added by some email clients. */
        /* Beware: It can remove the padding / margin and add a background color to the compose a reply window. */
        html,
        body {
            margin: 0 auto !important;
            padding: 0 !important;
            height: 100% !important;
            width: 100% !important;
        }

        /* What it does: Stops email clients resizing small text. */
        * {
            -ms-text-size-adjust: 100%;
            -webkit-text-size-adjust: 100%;
        }

        /* What it does: Centers email on Android 4.4 */
        div[style*="margin: 16px 0"] {
            margin:0 !important;
        }

        /* What it does: Stops Outlook from adding extra spacing to tables. */
        table,
        td {
            mso-table-lspace: 0pt !important;
            mso-table-rspace: 0pt !important;
        }

        /* What it does: Fixes webkit padding issue. Fix for Yahoo mail table alignment bug. Applies table-layout to the first 2 tables then removes for anything nested deeper. */
        table {
            border-spacing: 0 !important;
            border-collapse: collapse !important;
            table-layout: fixed !important;
            margin: 0 auto !important;
        }
        table table table {
            table-layout: auto;
        }

        /* What it does: Uses a better rendering method when resizing images in IE. */
        img {
            -ms-interpolation-mode:bicubic;
        }

        /* What it does: A work-around for email clients meddling in triggered links. */
        *[x-apple-data-detectors],  /* iOS */
        .x-gmail-data-detectors,    /* Gmail */
        .x-gmail-data-detectors *,
        .aBn {
            border-bottom: 0 !important;
            cursor: default !important;
            color: inherit !important;
            text-decoration: none !important;
            font-size: inherit !important;
            font-family: inherit !important;
            font-weight: inherit !important;
            line-height: inherit !important;
        }

        /* What it does: Prevents Gmail from displaying an download button on large, non-linked images. */
        .a6S {
            display: none !important;
            opacity: 0.01 !important;
        }
        /* If the above doesn't work, add a .g-img class to any image in question. */
        img.g-img + div {
            display:none !important;
           }

        /* What it does: Prevents underlining the button text in Windows 10 */
        .button-link {
            text-decoration: none !important;
        }

        /* What it does: Removes right gutter in Gmail iOS app: https://github.com/TedGoas/Cerberus/issues/89  */
        /* Create one of these media queries for each additional viewport size you'd like to fix */
        /* Thanks to Eric Lepetit @ericlepetitsf) for help troubleshooting */
        @media only page and (min-device-width: 375px) and (max-device-width: 413px) { /* iPhone 6 and 6+ */
            .email-container {
                min-width: 375px !important;
            }
        }

    </style>

    <!-- Progressive Enhancements -->
    <style>

        /* What it does: Hover styles for buttons */
        .button-td,
        .button-a {
            transition: all 100ms ease-in;
        }
        .button-td:hover,
        .button-a:hover {
            background: #555555 !important;
            border-color: #555555 !important;
        }

        /* Media Queries */
        @media page and (max-width: 480px) {

            /* What it does: Forces elements to resize to the full width of their container. Useful for resizing images beyond their max-width. */
            .fluid {
                width: 100% !important;
                max-width: 100% !important;
                height: auto !important;
                margin-left: auto !important;
                margin-right: auto !important;
            }

            /* What it does: Forces table cells into full-width rows. */
            .stack-column,
            .stack-column-center {
                display: block !important;
                width: 100% !important;
                max-width: 100% !important;
                direction: ltr !important;
            }
            /* And center justify these ones. */
            .stack-column-center {
                text-align: center !important;
            }

            /* What it does: Generic utility class for centering. Useful for images, buttons, and nested tables. */
            .center-on-narrow {
                text-align: center !important;
                display: block !important;
                margin-left: auto !important;
                margin-right: auto !important;
                float: none !important;
            }
            table.center-on-narrow {
                display: inline-block !important;
            }

            /* What it does: Adjust typography on small screens to improve readability */
            .email-container p {
                font-size: 17px !important;
                line-height: 22px !important;
            }
        }

    </style>

    <!-- What it does: Makes background images in 72ppi Outlook render at correct size. -->
    <!--[if gte mso 9]>
    <xml>
        <o:OfficeDocumentSettings>
            <o:AllowPNG/>
            <o:PixelsPerInch>96</o:PixelsPerInch>
        </o:OfficeDocumentSettings>
    </xml>
    <![endif]-->

</head>
<body width="100%" bgcolor="#FFFFFF" style="margin: 0; mso-line-height-rule: exactly;">
    <center style="width: 100%; background: #FFFFFF; text-align: left;">

        <!-- Visually Hidden Preheader Text : BEGIN -->
        <div style="display:none;font-size:1px;line-height:1px;max-height:0px;max-width:0px;opacity:0;overflow:hidden;mso-hide:all;font-family: sans-serif;">
            Email has been successfully sent through dispatcher: ${dispatcherName}
        </div>
        <!-- Visually Hidden Preheader Text : END -->

        <!--
            Set the email width. Defined in two places:
            1. max-width for all clients except Desktop Windows Outlook, allowing the email to squish on narrow but never go wider than 680px.
            2. MSO tags for Desktop Windows Outlook enforce a 680px width.
            Note: The Fluid and Responsive templates have a different width (600px). The hybrid grid is more "fragile", and I've found that 680px is a good width. Change with caution.
        -->
        <div style="max-width: 600px; margin: auto;" class="email-container">
            <!--[if mso]>
            <table role="presentation" cellspacing="0" cellpadding="0" border="0" width="680" align="center">
            <tr>
            <td>
            <![endif]-->

            <!-- Email Body : BEGIN -->
            <table role="presentation" cellspacing="0" cellpadding="0" border="0" align="center" width="100%" style="max-width: 680px;" class="email-container">

                <!-- HEADER : BEGIN -->
                <tr>
                    <td bgcolor="#333147">
                        <table role="presentation" cellspacing="0" cellpadding="0" border="0" width="100%" style="max-width:500px; margin: auto;">
                            <tr>
                                <td style="padding:24px 0px 24px 24px; text-align: left;">
                                    <img src="https://www.amdocs.com/amdocsOmega/images/logos/amdocswhite.svg" alt="Amdocs Logo" onerror="this.src='https://www.amdocs.com/amdocsOmega/images/logos/amdocswhite.png'" height="36px" >
                                </td>
                            </tr>
                        </table>
                    </td>
                </tr>
                <!-- HEADER : END -->

                <!-- HERO : BEGIN -->
                <tr>
                    <td bgcolor="#FFFFFF" align="center" valign="top" style="text-align: center; background-position: center center !important; background-size: cover !important;">
                        <!--[if gte mso 9]>
                        <v:rect xmlns:v="urn:schemas-microsoft-com:vml" fill="true" stroke="false" style="width:680px; height:380px; background-position: center center !important;">
                        <v:fill type="tile"  color="#FFFFFF" />
                        <v:textbox inset="0,0,0,0">
                        <![endif]-->
                        <div>
                            <!--[if mso]>
                            <table role="presentation" border="0" cellspacing="0" cellpadding="0" align="center" width="500">
                            <tr>
                            <td align="center" valign="middle" width="500">
                            <![endif]-->
                            <table role="presentation" border="0" cellpadding="0" cellspacing="0" align="center" width="100%" style="max-width:500px; margin: auto;">
                                <tr>
                                  <td align="left" valign="middle">

                                  <table>
                                     <tr>
                                         <td valign="top" style="text-align: left; padding: 24px 24px 10px 24px;">

                                             <h1 style="margin: 0; font-family: 'markwebpro-regular', sans-serif; font-size: 24px; line-height: 31px; color: #000000; font-weight: bold;">Welcome</h1>
                                         </td>
                                     </tr>
                                     <tr>
                                         <td valign="top" style="text-align: left; padding: 24px 24px 10px 24px; font-family: 'markwebpro-book', sans-serif; font-size: 16px; line-height: 22px; color: #333333;">
                                             <!-- Greeting : BEGIN -->
                                             <p style="margin: 0;">Hi [[${displayName} ? ${displayName} : 'there']],</p>
                                             <p></p>
                                             <!-- Greeting : BEGIN -->
                                             <!-- Main Message : BEGIN -->
                                             <p style="margin: 0;">Thank you for using Digital Identity Management.</p>
                                             <p style="margin: 0;">This is an email confirming that you have successfully sent it through dispatcher: [(${dispatcherName})]</p>
                                             <!-- Main Message : END -->
                                         </td>
                                     </tr>
                                     <!-- Signature: BEGIN -->
                                     <tr>
                                         <td valign="top" style="text-align: left; padding: 24px 24px 10px 24px; font-family: 'markwebpro-book', sans-serif; font-size: 16px; line-height: 22px; color: #333333;">
                                             <p style="margin: 0;">Thanks,</p>
                                             <p style="margin: 0;">The Team</p>
                                         </td>
                                     </tr>
                                     <!-- Signature: END -->
                                  </table>
                                  </td>
                                </tr>
                                <tr>
                                    <td height="20" style="font-size:12px; line-height:20px;">&nbsp;</td>
                                </tr>
                            </table>
                            <!--[if mso]>
                            </td>
                            </tr>
                            </table>
                            <![endif]-->
                        </div>
                        <!--[if gte mso 9]>
                        </v:textbox>
                        </v:rect>
                        <![endif]-->
                    </td>
                </tr>
                <!-- HERO : END -->

                <!-- FOOTER : BEGIN -->
                <tr>
                    <td bgcolor="#ffffff">
                        <table role="presentation" border="0" cellpadding="0" cellspacing="0" align="center" width="100%" style="max-width:500px; margin: auto;">
                            <tr>
                                <td style="padding: 0px 8px 8px 24px; font-family: 'markwebpro-book', sans-serif; font-size: 12px; line-height: 22px; color: #666666; text-align: left; font-weight:normal;">
                                    <p style="margin: 0;">Copyright &copy; 2022 AMDOCS
                                </td>
                            </tr>
                        </table>
                    </td>
                </tr>
                <!-- FOOTER : END -->

            </table>
            <!-- Email Body : END -->

            <!--[if mso]>
            </td>
            </tr>
            </table>
            <![endif]-->
        </div>

    </center>
</body>
</html>
```

## SMS Template Structure

A SMS template file only contains the one header (txt) file and is written is text.

See [Manage SMS Templates](templatesSms) for more details on how to create your notification message templates.

\*\*Example:\*\***Verification of authentication identifier during onboarding:**

The use case requires one SMS template file:

* verification-of-authentication-identifier-during-onboarding\_header.txt

**SMS Header**

The templates support the following variables: dispatcherName and customToken. The dispatcherName is a dynamic variable that is replaced with your SMS dispatcher name such as Twilio. The customToken is replaced with a generated token and updated in the message.

The text in the header file (.txt) can be changed/updated with your organization's own message. The supported fields are replaced with values are entered/dynamically set by the Digital Identity Management process when sending a message. The notification variables are replaced with values that you've configured in your template files.

The following code block is from the SMS header (.txt) file:

`Thank you for using Digital Identity Management. This is a short message confirming that you have successfully sent it through dispatcher: [[${dispatcherName}]]Use the following code: [[${customToken}]] to complete this operation.`

* **[Manage Email Templates](../topics/templatesEmail)**

* **[Manage SMS Templates](../topics/templatesSms)**

**Parent topic:**[Branding](../topics/branding)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.