At a glance
Stores and versions message and document templates for every language and channel.
Key data
Receives from
- Business teams
Sends to
- Notification gateway
- Document generation
- Contracts
How it works
The main steps, end to end.
- 1Create the template with placeholders
- 2Add languages and channel variants
- 3Review and approve
- 4Map to triggering events
- 5Publish a new version
Core Capabilities
What Template Management provides
Notification Templates
- Stores HTML email and SMS text templates for all subscriber communications
- Templates versioned — new version deployed without deleting old
- Supports multi-language versions per template
- Variables injected at render time: subscriber name, MSISDN, order ID, amounts
- Templates for: service activation, billing, cancellation, KYC, promotions
Document Templates
- Stores legal document templates for contract generation
- Supports product-type-specific contract clauses
- Templates applied by Contract Management at order fulfilment time
- PDF generation triggered with template + subscriber data merge
- Versioned for regulatory compliance — historical templates retained
Localisation
- Maintains language variants per template: primary language and translations
- Template selection based on subscriber's preferred language setting
- Fallback to default language when translation is unavailable
- Supports locale-specific date, number and currency formatting
Template Variables
- Template variables declared with type and validation rules
- Variable values injected from order, account and billing context
- Supports conditional blocks: show/hide sections based on variable values
- Preview API renders template with sample data before publication
Template Portal
- Web UI for template creation, editing and versioning
- Preview rendered output before publishing
- Approvals workflow: Draft → Review → Published
- A/B testing support for notification content optimisation
Trigger Mapping
- Maps platform events to template identifiers
- Service activation → activation SMS/email template
- Invoice generated → invoice delivery template
- Payment failed → payment failure notification template
- Configurable trigger-to-template mapping without code changes
Storage & Persistence
How and where TemplateManagement stores its data
Document Data Store
- Template documents: content, variables, language variants
- Template version history — all versions retained permanently
- Trigger-to-template mapping configuration
- Template approval state and reviewer records
Document File Store
- Rendered notification content stored for delivery audit
- Contract template PDFs stored for compliance
- Rendered document history accessible for reprint
Async Event Bus
- Template published / deprecated events
- Render failure events for monitoring
- Template update notifications to consuming services
Design Principles
Key architectural decisions behind Template Management
Content Decoupled from Code
Template content is managed through a portal, not by developers. Business teams and content authors can update notification text, add promotional messaging and adjust legal wording without a code change or deployment.
Language-first Design
Every template is defined with language as a first-class attribute. The system never assumes a single language — each render request specifies the target language, enabling multi-market deployments from a single platform instance.
Variables over Concatenation
Dynamic content is expressed as named variables injected at render time, not as string concatenation in code. This keeps templates readable, allows previewing with sample data, and prevents injection vulnerabilities from unescaped dynamic content.
Generative AI drafts translations and tone variants for review.
Catch missing placeholders and inconsistent wording before templates go live.
More in 30 AI & ML use cases and AIOps for BSS.