← FRD Management
21. Email Template Module
Pixally CRM

Email Template Module

Email Template Module

Functional Requirement Document

BA & Ideation: Dakshraj Jhala

Reviewed By: KG (Project Manager)

Updated Date: 06 August 2025
Status: Approved

Version 1.0

Functional Requirements Document (FRD) - Email Template Module

1. Module Overview

  • Module Name: Email Template Management
  • Purpose: Enable users to create, manage, and publish reusable email templates with dynamic smart fields and attachments for use across all agency projects, events, and brands
  • Business Goal: Streamline email communication by providing standardized, branded email templates that automatically populate with project-specific smart fields data, improving efficiency and consistency in client communications

2. User Roles & Permissions

Role

Description

Key Permissions

Agency Admin

System administrator for the agency

Full access to create, edit, publish, delete, and manage all email templates

Project Manager

Agency team member

Create and edit templates

3. User Flow

Critical Path: Template Creation and Publishing

  1. Template Access: User navigates via Agency Portal → Templates Module → Email Templates sub-module
  2. Template Listing View: View all published templates in a table format with search and sorting options
  3. Template Creation: Click the "Create New" button to open the "Create an Email Template" pop-up
  4. Template Naming: Enter template name (2-100 characters, mandatory)
  5. Template Design: Click "Create Email" to open the template editor
  6. Content Creation: Input subject line and email content using rich text editor
  7. Smart Fields Integration: Add dynamic fields via the "Add Smart Fields" button, and also add the “Signature” smart field using the signature button option
  8. Attachment Management: Add attachments from the library
  9. Template Testing: Use "Test" functionality to send test emails
  10. Template Publishing: Click "Publish" to make the template available agency-wide
  11. Template Management: Edit, duplicate, or delete templates via kebab menu actions
  12. Template Usage: Templates become available in email composition across all projects of all brands of the agency
    1. Template Editing Flow:

1. Access Edit Mode: User clicks "Edit" from kebab menu in template listing

2. Editor Opens: Template editor opens with pre-populated fields (name, subject, body, attachments, smart fields)

3. Make Changes: User modifies template content using the same editor interface as creation

4. Validation: System validates template name uniqueness (excluding current template) and field requirements

5. Publish Changes: User clicks "Publish" button to save changes

6. Template Update: Updated template overwrites existing version and is immediately available

Alternative Flows:

  • Template Management: Access template listing to view, search, and manage existing templates
  • Template Editing: Edit existing published templates via the kebab menu (overwrites the current version)
  • Template Duplication: Create copies of existing templates via the kebab menu
  • Template Deletion: Delete templates with a confirmation dialog
  • Empty State Flow:
    • No Templates Exist: Display empty state with email icon, message "You have no email template yet", subtext "Would you like to create new email template?", and "Create New" button
    • User Action: Clicking "Create New" opens the "Create an Email Template" pop-up
    • Template Creation: User follows standard creation flow starting from template naming

4. Field Details & Validations

Email Templates Listing Fields

Field Name

Type

Required

Validation Rules

+ Create New

Button

N/A

On click, it opens the Create an email template pop-up

Search Templates

Text Input

No

Search by template name only,case-insensitive, real-time filtering,no character limit

Name

Text + Icon

Yes

Display with email icon, sortable column

Created Date

Date

Yes

Display the date on which the template was created

Actions Menu

Kebab Menu

N/A

Edit, Duplicate, and Delete options

Pagination Controls

Dropdown + Navigation

N/A

10, 15, 25 items per page, Default: 10 items per page.

Create an Email Template Pop-Up Fields

Field Name

Type

Required

Validation Rules

Email Template Name

Text Input

Yes

2-100 characters, must be unique within the agency

Cancel

Button

N/A

On click, it closes the pop-up

Create Email

Button

Yes

On click, if validation passes, it will open the template creation fields; otherwise, it will display a validation error

Publish

Button

Yes

Primary action button - saves and publishes template, updates Created date

Template Creation Fields

Field Name

Type

Validation Rules

Subject Line

Text Input

250 character limit

Email Body

Rich Text Editor

Supports formatting, smart fields, and attachments

10,000 characters with a total message size limit of 15 MB (attachments + body + headers).

Ask AI

Button

On click, it will open a pop-up to write with AI

Rich Text Editor Features

Feature

Type

Validation Rules

Undo/Redo

Button

Standard text formatting features

Heading Styles

Dropdown

Bold/Italic/Underline

Toggle Buttons

Emoji

Button

Link

Button

Quote

Button

Bullet Points

Button

Numbered List

Button

Smart Fields Integration

Field Name

Type

Validation Rules

Add Smart Fields

Button

Opens the smart field selection panel

Smart Field Selection

Multi-select

Insert selected fields as dynamic smart fields, i.e., [Field Name]

Smart Field Available

Attachment Management Fields

Field Name

Type

Required

Validation Rules

Clip Icon

Button

No

Opens the attachment selection pop-up to attach images or documents from the library

Template Testing Fields

Field Name

Type

Required

Validation Rules

Test Button

Button

No

Opens test email popup

Test Email Address

Email Input

Yes

Valid email format required

Cancel

Button

N/A

On click, it closes the send test pop-up

Send Test

Button

Yes

Sends the current template to the specified email

5. Success Message Handling

Validation Scenario

Success Message

Template created and published successfully

"Email template has been published successfully."

Template updated successfully

"Email template has been updated successfully."

Test email sent successfully

"Test email has been sent successfully."

Template deleted successfully

"Email template has been deleted successfully."

Attachments added successfully

"Attachments have been added successfully."

6. Error Message Handling

Field

Validation Scenario

Error Message

Email Template Name

Empty submission

"Please enter a template name."

Email Template Name

Length < 2 characters

"Template name must be at least 2 characters."

Email Template Name

Length > 100 characters

"Template name cannot exceed 100 characters."

Email Template Name

Duplicate name

"A template with this name already exists."

Test Email Address

Empty submission

"Please enter an email address."

Test Email Address

Invalid format

"Please enter a valid email address."

Attachment Selection

No selection made

"Please select at least one file to attach."

Attachment Size

Individual file exceeds 15MB

"Individual attachment cannot exceed 15 MB."

Template Navigation

Unsaved changes

"Your changes will not be saved. Are you sure you want to leave?"

Smart Field Rendering

Field data unavailable

Display the smart field as [Field Name] without replacement

Ask AI Pop-Up

Keywords input field > 500 characters

“Keywords cannot exceed 500 characters.”

Template Search

No results found

"No templates found."

General

Server timeout

"Something went wrong."

Ask AI

API timeout/rate limit/network failure

"Something went wrong."

Subject Line

Length > 250 characters

"Subject line cannot exceed 250 characters."

Email Body

Length > 10,000 characters

"Email body cannot exceed 10,000 characters."

Total Message Size

Attachments + body + headers exceed 15 MB

"Total message size cannot exceed 15 MB."

7. Functional Logic

Template Creation and Impact

  • Templates are automatically published upon clicking the Publish button (no draft state)
  • Unsaved changes are lost if the user navigates away without publishing
  • Templates will be used in the following modules:
    • Email Thread (Project email centre, client communication tab)
    • Contracts
    • Proposals
    • Contractor’s service agreement
    • Questionnaires
    • Invoices
    • Lead Form
    • Automation

Template Management Logic (Email Templates Listing)

  • Only created templates are displayed in the template listing view in the email composition
    • When a user selects a template to send an email, they can make changes to the content of the email. These changes will only apply to the email the user is sending and will not affect the original template. The template will remain unchanged

Template Deletion

  • Before allowing the deletion of a template, the system will first check if the template is being used in any module, such as automation
  • If the template is not used in another module:
    • If the template is not being used anywhere, the system will prompt a confirmation dialog, and on confirmation, the template will be deleted permanently
  • If the template is used in any other module:
    • If the template is being used in automation or any other module, a warning pop-up will appear. The pop-up message will inform the user that they must remove the template from the specific module (e.g., automation) before the template can be deleted. Message:
    • "The template is currently being used in [Module Name]. Please remove it from the module before deleting it."
  • Deleted templates are permanently removed from the agency’s all brands and become unavailable in the email composition template dropdown, and will not affect the existing already sent emails

Smart Field Processing Logic

  • Smart fields are stored as a dynamic smart field, i.e., [Field Name] in template content
  • During email composition, smart fields are replaced with actual project data
  • Smart fields pull data from the current project context
  • Primary client data is used in the client's smart field when multiple clients exist:
    • Use client marked as "Primary Client" in project settings
    • If no primary client is designated, use the client with the oldest created_at timestamp

Signature Logic

  • If an email template contains a smart field for the signature, the system will automatically fetch the brand-specific signature for the user. The signature will be based on the user who is sending the email
  • For example, if a team member is part of a project under a specific brand, their brand-specific email signature will be fetched in the email when using the template, ensuring that the correct signature for the brand is shown

Attachment Logic

  • Attachments are sourced exclusively from the agency library
  • The library contains two categories: Images and Documents
  • Attachment Logic:
    • Attachments are sourced exclusively from the agency library
    • The library contains two categories: Images and Documents
    • Attachment Size Logic:
    • Each individual attachment can be up to 15 MB
    • Attachments are stored on the Pixally server and converted to links within the email
    • Because files are served as links rather than embedded directly, multiple attachments can be included without exceeding the email's payload size limit
    • The total email size limit remains 15 MB
    • Since attachments are link-based, this limit applies to the overall email payload (body content, inline assets, etc.) and not to the referenced attachment files
    • If an individual file exceeds 15 MB during upload, the system will prevent the upload and display an error message
    • Total Message Size Logic:
      • The total message size limit is 15 MB, which includes: attachments (converted to links) + email body content + email headers
      • Attachments are stored as links on the Pixally server, so the link reference (not the file size) counts toward the message size
      • Email body content (including formatting, smart fields placeholders, and inline elements) counts toward the message size
      • Email headers (metadata, recipient information, subject line) count toward the message size
      • If the total message size exceeds 15 MB during composition or sending, the system will prevent sending and display an error message
    • Attachment Persistence in Email Template: If a file is attached to an email template from the library (e.g., an image or document), and the file is later deleted from the library, the attachment will persist in the email template
    • Selected attachments are embedded in the template and inherited during email composition
    • Multiple attachments can be selected from both categories (Images/documents)
    • Attachment Persistence in Email Template: If a file is attached to an email template from the library (e.g., an image or document), and the file is later deleted from the library, the attachment will persist in the email template
    • Selected attachments are embedded in the template and inherited during email composition
    • Multiple attachments can be selected from both categories (Images/documents)

Template Publishing Logic

  • Templates are automatically published and available immediately after creation
  • Templates are agency-wide and available across all brands and projects of the agency
  • Published templates can be edited via the kebab menu in the email template listing (overwriting the existing version), and updated templates will only appear in future template use

Duplicate Template Logic

  • Duplicate Template Logic: When the "Duplicate" action is selected, a copy of the template will be created with the name "Copy of [original template name]"
  • This duplicate template will function just like the original, allowing users to perform any actions on it. It will be added to the list as a new template, so users can modify or use it independently without affecting the original template

Template Testing Logic

  • Test functionality sends template with current content and formatting
  • Smart fields in test emails display as [Field Name], as it is not project-specific and only for testing purposes
  • Test emails include any attached files
  • No limitations on the number of test emails

Ask AI Logic

AI Content Generation Process

  • User clicks "Ask AI" button to open "Craft Your Email with AI Assistance" pop-up
  • AI assistance is exclusively for email body content generation, not the subject line
  • User enters a prompt in the Keywords text area (500-character limit)
  • User clicks "Generate" to initiate AI content creation (it will use the OpenAI third-party API internally)
  • Generated content appears in a read-only preview area with proper formatting
  • AI-generated content does not include smart field integration or placeholders
  • On clicking the Close (X) button, the pop-up will close, and no changes will be made to the email template body
  • API Error Handling: If API timeout, rate limit, or network failure occurs, display error message: "Something went wrong."

Content Modification Options

  • Make It Shorter: Automatically regenerates a summarised version of the current content
  • Make It Longer: Automatically regenerates an expanded version of the current content
  • All modification buttons trigger new API calls

Content Integration Logic

  • Keep Button: - If email body already contains content, display confirmation dialog: "This will replace all existing content. Continue?" with "Replace" and "Cancel" buttons - On "Replace": The entire email body content is replaced with the generated content, maintaining the formatting shown in the pop-up's preview - On "Cancel": Dialog closes, no changes made - If email body is empty, clicking "Keep" directly replaces content without confirmation
    • Users cannot edit the generated content in the pop-up preview area - it is read-only
    • The user can only edit in the keywords input field
    • The generated content is inserted into the email template body with the same formatting as shown in the preview area, and the user can modify it directly in the template
  • Try Again Button: Allows users to modify their prompt and regenerate content

8. Edge Cases

Scenario

Expected Behavior

User navigates away without publishing

Display warning: "Your changes will not be saved. Are you sure you want to leave?"

The template name already exists

Show error message and prevent creation

Template with no subject line

Allow publishing (subject is optional)

Template with empty body

Allow publishing (body is optional)

The template listing page loads with no templates

Show empty state with "Create New" button

Multiple clients in the project

Use primary client data for client-related smart fields

Library images/documents deleted after template creation

It will remain in the attachment of the template

9. Test Cases

  • Link:

10. Acceptance Criteria

  • The user can create, edit, duplicate, and preview email templates
  • Templates support rich text formatting with standard editor features
  • Smart fields automatically populate with project-specific data during email composition using [Field Name] format
  • Published templates are available agency-wide across all brands and projects of the agency
  • Test functionality allows sending preview emails to specified email addresses
  • The template listing displays all created templates with search functionality, sorting, and pagination
  • Template deletion includes usage checking across modules with appropriate warning messages
  • Template duplication creates a copy of the template with the name "Copy of [original template name]"
  • Signature smart field displays a brand-specific signature based on the user within the selected brand's project
  • Attachment persistence ensures files remain in the template even if deleted from the library
  • Users can modify template content during email composition without affecting the original template
  • Navigation warning displays when leaving the template editor without publishing
  • Individual attachment size validation prevents files exceeding 15 MB from being uploaded
  • Multiple attachments are supported via link-based storage, with total email payload limit of 15 MB
  • AI-generated content replaces the entire email body and maintains formatting as displayed in the preview
  • "Ask AI" button is available in the email and on click opens the “Craft your email with AI assistance” pop-up
  • AI Content Generation: Users can enter prompts up to 500 characters and generate email content via the OpenAI API
  • AI Content Modification: Generated content can be modified using tone change, make shorter, or make longer options
  • AI Content Integration: Users can keep AI-generated content with a confirmation pop-up, replacing the entire email body
  • AI Content Preview: Generated content is displayed in read-only view
  • AI Prompt Editing: Users can modify their prompts and regenerate content using the "Try Again" functionality
  • AI Content Formatting: AI-generated content maintains formatting consistency when integrated into an email template
  • Template editing updates "Created" date and overwrites existing version immediately
  • Search functionality filters templates by name only, case-insensitive, with real-time results
  • Primary client selection follows defined hierarchy: designated primary → oldest created_at
  • Empty state displays with appropriate messaging and "Create New" call-to-action
  • Search input field has no character limit for template name searches
  • Subject line validation enforces 250 character maximum limit
  • Email body validation enforces 10,000 character maximum limit
  • Total message size validation prevents sending when combined size (attachments + body + headers) exceeds 15 MB
  • Character count indicators display for subject line and email body approaching limits

11. Dependencies

Module/System

Dependency Type

Impact if Unavailable

Project Management Module

Data Dependency

Smart fields cannot populate project-specific data

Agency Settings Module

Data Dependency

Agency-related smart fields unavailable

Brand Settings Module

Data Dependency

Brand-specific smart fields unavailable

Library Management Module

Service Dependency

Cannot attach files to templates

Email Composition Module

Integration Dependency

Templates cannot be used in email sending

Automation Module

Integration Dependency

Cannot use templates in automated email workflows

User Authentication

Service Dependency

Cannot verify Agency Admin permissions

Rich Text Editor Component

Component Dependency

Cannot format template content

12. References

Linked tickets (0)

No tickets linked — generate test cases directly from this FRD instead.

—