Template Console Guide
This page provides a complete guide to using the Template section of the Namirasoft Content Template Console. It explains each field and option involved in creating, configuring, and managing content templates. Use this guide to understand what each field represents and how templates are structured before sending content through supported communication channels.
What Is a Template?
A Template is a reusable content structure that combines fixed content with defined parameters. It allows you to prepare messages once and reuse them consistently by providing values for specific parts of the content when needed. Templates form the foundation of all content creation and sending operations in Namirasoft Content Template.
The Challenge a Template Solves
Creating content repeatedly can lead to inconsistencies and errors. Templates solve this problem by separating fixed content from variable values. This approach helps you standardize communication, reduce manual effort, and move your messaging toward automation while keeping full control over structure and format.
How Namirasoft Content Template Solves the Problem
Namirasoft Content Template stores each template with a defined content type, fixed content, and a set of parameters. Parameters act as placeholders that accept values at the time of use. The system validates each parameter based on its type and rules, ensuring the template remains consistent and usable when sending content.
Overview of Template Fields and Options
The sections below explain each field and option available in the Template entity. Understanding these fields will help you create accurate templates, define parameters correctly, and prepare templates for sending through the Make & Send section.
- ID (String): This is a unique identifier automatically assigned to the template when it is created. This ID is generated by Namirasoft Content Template and is used internally to reference the template in the console and APIs. You do not need to set or manage this value.
- User ID (Namirasoft Account’s ID): This is the unique ID assigned to a user of the Namirasoft Account, which gives access to all Namirasoft apps. This ensures the template belongs to the correct user and is only accessible within that user’s authorized context.
- Workspace ID (String): This is the unique identifier of the Namirasoft Workspace where the template is created. It ensures the template is isolated to the correct workspace and cannot be accessed from other workspaces.
- Name (String): This is the human readable name of the template. The name helps you recognize and select the template when using it in the console, APIs, or related workflows.
- Type (Enum): This defines the structural format of the template content. The selected type determines how the system validates and interprets the content field.
-
- Plain: This type treats the content as unstructured text. The system does not apply format validation and processes the content exactly as written.
-
- Json: This type treats the content as JavaScript Object Notation. The system validates the structure against JSON rules and ensures all objects and arrays are correctly formatted.
-
- Xml: This type treats the content as Extensible Markup Language. The system validates tag structure and ensures proper nesting and closing of elements.
-
- Html: This type treats the content as HyperText Markup Language. The system allows markup elements and prepares the content for rendering in email or web based environments.
-
- Yaml: This type treats the content as YAML formatted data. The system validates indentation and key value structure to ensure correct parsing.
- Description (String): This is an optional explanatory text that describes the purpose or usage of the template. This field is only for user clarity and does not affect how the template operates.
- Content (String): This is the main body of the template. It contains the actual structured or unstructured content that will be processed or rendered based on the selected type. To insert a parameter, write its name inside double curly braces with a space on each side, exactly like {{ name }}: two braces on each side and a space inside.
- Parameter (Object): This defines the dynamic inputs that the template can accept. Parameters allow the template to receive values at runtime and adapt its content accordingly. Each parameter row contains the fields described below.
- Parameter Name (String): This is the identifier used to reference the parameter inside the template content.
- Default (String): This defines the value that is used when no explicit value is provided for the parameter.
- Multiple (Yes/No): This determines whether the parameter accepts multiple values. When enabled, the parameter is treated as a list.
- Parameter Type (Enum): This defines the data type of the parameter and controls how values are validated. Available types include:
-
- Boolean: This type accepts a true or false value.
-
- Tiny Integer: This type accepts a very small whole number.
-
- Small Integer: This type accepts a small range whole number.
-
- Medium Integer: This type accepts a medium range whole number.
-
- Integer: This type accepts a standard whole number without decimals.
-
- Big Integer: This type accepts a very large whole number.
-
- Float: This type accepts a numeric value with decimal precision.
-
- Double: This type accepts a numeric value with higher floating point precision.
-
- Decimal: This type accepts a fixed precision numeric value.
-
- Real: This type accepts a real number value.
-
- Money: This type accepts a numeric value representing currency.
-
- String: This type accepts a sequence of characters.
-
- Date: This type accepts a calendar date value.
-
- Time: This type accepts a time of day value.
-
- Date Time: This type accepts a combined date and time value.
-
- Time Zone: This type accepts a valid timezone identifier.
-
- Duration: This type accepts a value representing a length of time.
-
- Email: This type accepts a value formatted as an email address.
-
- Phone: This type accepts a value formatted as a phone number.
-
- Version: This type accepts a version formatted string.
-
- IPV4: This type accepts a valid IPv4 address.
-
- IPV6: This type accepts a valid IPv6 address.
-
- IPV4 Range: This type accepts a range of IPv4 addresses.
-
- IPV6 Range: This type accepts a range of IPv6 addresses.
-
- Color: This type accepts a color value.
-
- Font: This type accepts a font identifier.
-
- File Path: This type accepts a file system path.
-
- URL: This type accepts a valid web address.
-
- Enum: This type restricts the value to a predefined set of allowed options. For Enum parameters, the Valid List field defines the allowed options and is required.
-
-
- Name: For Object and Enum parameter types, this field defines the identifier used to reference individual elements or options within the structure. Each defined name must be unique within the parameter context. The system uses these names for validation and resolution.
-
-
- Entity: This type references another system entity by its identifier.
-
- Array: This type accepts a list of values of the same type.
-
-
- Array Elements’ Schema: This field appears only when the Parameter Type is set to Array. It defines the data type of each element within the array. The system validates every item in the array against the selected schema type.
-
-
- Object: This type accepts a structured set of key value pairs.
-
-
- Name: For Object and Enum parameter types, this field defines the identifier used to reference individual elements or options within the structure. Each defined name must be unique within the parameter context. The system uses these names for validation and resolution.
-
-
-
- Fields: This option appears only when the Parameter Type is set to Object. It defines the named fields that make up the object. Each Field row has the same structure as a parameter, with its own Name, Default, Multiple, and Type settings, and the system validates every provided object against this structure.
-
-
- Type: This type defines a dynamic data type resolved at runtime.
-
- Variable: This type resolves its value dynamically during execution.
- Required (Yes/No): This determines whether the parameter must be provided. If enabled, the system rejects execution when the value is missing.
The validation fields below appear after you select Show Detail from the parameter menu. Each one applies to the parameter types that support it.
- Min (Integer): This field defines the lowest acceptable value for numeric based parameter types. The system rejects values lower than the defined minimum.
- Max (Integer): This field defines the highest acceptable value for numeric based parameter types. The system rejects values higher than the defined maximum.
- Precision (Integer): This field defines the allowed number of decimal places for numeric parameter types that support fractional values. The system enforces rounding or rejection based on this setting.
- Min Length (Integer): This field applies to String parameters. It defines the minimum number of characters the value must contain. The system rejects values shorter than this length.
- Max Length (Integer): This field applies to String parameters. It defines the maximum number of characters the value may contain. The system rejects values longer than this length.
- Regex (String): This field applies to String parameters. It defines a regular expression pattern that the value must match. For example, the pattern ^[A-Z]{2}[0-9]{4}$ accepts exactly two capital letters followed by four digits.
- Valid List (String): This field defines a list of allowed values for the parameter. When provided, the system accepts only values that match one of the listed entries. You must separate multiple values using commas. For Enum parameters this field is always visible and required because it defines the set of allowed options. For all other parameter types it is optional.
- Invalid List (String): This field defines a list of disallowed values for the parameter. When provided, the system rejects any value that matches an entry in this list. You must separate multiple values using commas. This field is optional and applies across all parameter types.
- Place Holder (String): This field defines a hint text shown inside the parameter input field before any value is entered. It guides the user on what to type, but it is never used as a value, never stored, and does not replace the default or required value. For example, if the parameter expects a user’s email address, the placeholder may be set to user@example.com. This text disappears when the user enters an actual value and is not included in the final content.
The options below belong to the test dialog that opens when you select Show Result from the parameter menu. Use them to try values against the parameter before saving the template.
- Output (Dialog): This dialog renders the parameter as a live input so you can try values against the defined type and rules. It shows exactly what the parameter will look like when the template is used.
- Value (String): This is the text area inside the Output dialog that holds the test value in JSON form. Get Value fills this area from the rendered input, and Set Value applies its text back to the input.
- Get Value (Action): This action reads the current test input and writes it into the Value area so you can inspect the exact value the parameter produces.
- Set Value (Action): This action applies the text in the Value area to the rendered input so you can test a prepared value without typing it manually.
- Check Error (Action): This action validates the current input against the parameter type and rules. The dialog reports It’s valid when the value passes and shows the exact error message when it does not.
- Created At (DateTime): This is the timestamp showing when the template was created.
- Updated At (DateTime): This is the timestamp showing the last time the template was updated.