Template Syntax
Templates let you insert dynamic record data into emails, SMS messages, documents, and other automation action fields. The syntax uses double curly braces for placeholders.
Basic Placeholders
Use {{record.FieldName}} to insert the value of a field from the current record.
Hello {{record.FirstName}},
Your order #{{record.OrderNumber}} has been confirmed.
Field name matching:
- Field names are case-sensitive —
{{record.Email}}and{{record.email}}are different - Use the exact field name as it appears in the table column header
- For field names with spaces, use the name as-is:
{{record.First Name}}
Transforms
Transforms modify the value before inserting it. Use the pipe syntax: {{record.FieldName|transform}}
Text Transforms
| Transform | Description | Example Input | Example Output |
|---|---|---|---|
lowercase | Convert to lowercase | "HELLO" | "hello" |
uppercase | Convert to uppercase | "hello" | "HELLO" |
capitalize | Capitalize first letter of each word | "hello world" | "Hello World" |
first_word | Extract the first word | "John Smith" | "John" |
last_word | Extract the last word | "John Smith" | "Smith" |
Lithuanian Language Transforms
These transforms apply Lithuanian grammatical cases, which is essential for generating grammatically correct documents and messages in Lithuanian.
| Transform | Description | Example Input | Example Output |
|---|---|---|---|
vocative_lt | Vocative case (addressing someone) | "Jonas" | "Jonai" |
instrumental_lt | Instrumental case (with/by someone) | "Jonas" | "Jonu" |
Usage example (Lithuanian email):
Sveiki, {{record.Vardas|vocative_lt}},
Jūsų dokumentas buvo pasirašytas {{record.Vadovas|instrumental_lt}}.
Numeric and Financial Transforms
| Transform | Description | Example Input | Example Output |
|---|---|---|---|
trim | Remove leading/trailing whitespace | " hello " | "hello" |
round | Round to nearest integer | "3.7" | "4" |
round2 | Round to 2 decimal places | "3.456" | "3.46" |
currency | Format as currency | "1234.5" | "1,234.50" |
extract_number | Extract first number from text | "Invoice #123" | "123" |
next_number | Increment extracted number by 1 | "INV-042" | "43" |
vat_21 | Calculate 21% VAT amount | "100" | "21.00" |
with_vat_21 | Add 21% VAT to amount | "100" | "121.00" |
Date Transforms
| Transform | Description | Example Input | Example Output |
|---|---|---|---|
date_short | Short date format | "2025-03-15T..." | "2025-03-15" |
date_full | Full readable date | "2025-03-15T..." | "March 15, 2025" |
date_eu | European date format | "2025-03-15T..." | "15.03.2025" |
date_lt | Lithuanian date format | "2025-03-15T..." | "2025 m. kovo 15 d." |
plus_7_days | Add 7 days to date | "2025-03-15" | "2025-03-22" |
plus_15_days | Add 15 days to date | "2025-03-15" | "2025-03-30" |
plus_30_days | Add 30 days to date | "2025-03-15" | "2025-04-14" |
Chaining Transforms
You can chain multiple transforms by separating them with pipes:
{{record.FullName|first_word|uppercase}}
This would extract the first word from FullName and then convert it to uppercase. So "john smith" becomes "JOHN".
Conditional Blocks
Use conditional blocks to include or exclude sections of text based on field values.
Basic If/Else
{{if record.Status equals "Active"}}
Your account is active and in good standing.
{{else}}
Your account is currently inactive. Please contact support.
{{/if}}
Supported Operators
| Operator | Description | Example |
|---|---|---|
equals | Exact match | {{if record.Status equals "Active"}} |
not_equals | Does not match | {{if record.Type not_equals "Internal"}} |
contains | Text contains substring | {{if record.Tags contains "VIP"}} |
not_contains | Text does not contain | {{if record.Notes not_contains "cancelled"}} |
is_empty | Field has no value | {{if record.Phone is_empty}} |
is_not_empty | Field has a value | {{if record.Email is_not_empty}} |
greater_than | Numeric comparison | {{if record.Amount greater_than "1000"}} |
less_than | Numeric comparison | {{if record.Amount less_than "100"}} |
Nested Conditions
You can nest conditional blocks:
{{if record.Country equals "Lithuania"}}
{{if record.Language equals "Lithuanian"}}
Sveiki, {{record.Name|vocative_lt}}!
{{else}}
Hello, {{record.Name}}! (Lithuania, English)
{{/if}}
{{else}}
Hello, {{record.Name}}!
{{/if}}
Full Example: Invoice Email Template
Subject: Invoice #{{record.InvoiceNumber}} from {{record.CompanyName}}
Dear {{record.ClientName|first_word}},
Please find attached invoice #{{record.InvoiceNumber}} for {{record.Currency}} {{record.Amount}}.
{{if record.DueDate is_not_empty}}
Payment is due by {{record.DueDate}}.
{{/if}}
{{if record.Notes is_not_empty}}
Notes: {{record.Notes}}
{{/if}}
{{if record.Amount greater_than "5000"}}
As this is a large invoice, please contact us if you need to arrange a payment plan.
{{/if}}
Best regards,
{{record.SenderName}}
{{record.CompanyName}}
Tips
- Preview before sending: Use the automation test feature to see how templates render with real record data
- Handle empty fields: Use
{{if record.Field is_not_empty}}blocks to avoid rendering blank lines - Special characters: Template syntax works inside HTML email bodies, so you can combine it with HTML formatting
- Date fields: Dates render in the format configured for the field in the table settings