Custom Helpers Reference
Collate provides 24 custom helpers to format and manipulate event data. This page also covers the standard Handlebarslookup helper. Use these helpers to transform data in your notification templates.
Data Extraction
pluck - Extract properties from objects
Extracts a specific property from each object in an array.
Syntax:
tagFQN property from each tag object, resulting in a simple list of tag names.
filter - Filter lists by property value
Filters array items based on property values.
Syntax:
split - Split strings into arrays
Splits a string by a delimiter into an array of parts.
Syntax:
database.schema.table into individual parts for display.
Advanced Example - Nested Field Parsing:
When parsing hierarchical field names like columns.columnName.tags, combine with lookup:
limit - Limit array items
Limits the number of items displayed from an array.
Syntax:
lookup - Access array element by index
Accesses a specific element in an array by its index (0-based).
Syntax:
split helper to parse hierarchical names.
String Operations
camelCaseToTitle - Convert camelCase to Title Case
Converts camelCase strings to Title Case format.
Syntax:
testCase to Test Case, dataAsset to Data Asset.
startsWith - Check string prefix
Checks if a string starts with a specific prefix.
Syntax:
endsWith - Check string suffix
Checks if a string ends with a specific suffix.
Syntax:
textDiff - Show text differences
Displays the difference between old and new text with strikethrough and highlighting.
Syntax:
insTag: HTML tag for inserted text (default:"b")delTag: HTML tag for deleted text (default:"s")
mark.
truncate - Shorten text
Shortens text to a maximum length. When the text exceeds the limit, the helper replaces the final character with an ellipsis (…) so the result remains within the requested length.
Syntax:
Comparison & Logic
eq - Equality check
Checks if two values are equal.
Syntax:
gt - Greater than
Checks if first value is greater than the second.
Syntax:
and - Logical AND
Combines multiple conditions with logical AND.
Syntax:
or - Logical OR
Combines multiple conditions with logical OR.
Syntax:
not - Logical NOT
Inverts a condition.
Syntax:
Collection Operations
groupEventChanges - Group changes into categories
Organizes field changes into separate categories: updates, additions, and deletions.
Syntax:
hasFieldInChanges - Check if field was modified
Checks if a specific field was modified in the change description.
Syntax:
groupEventChanges, not event. The second argument is the field name as recorded in the change event, for example entityStatus or testCaseResult. The helper checks the updated, added, and deleted fields.
Example:
Must be used with changes from
groupEventChanges. Passing event or event.changeDescription directly doesn’t work. A create event has no list of changes, so the helper returns false for it. Soft-delete and restore events list only the deleted field.length - Get array/string length
Returns the number of items in an array or characters in a string.
Syntax:
Formatting
formatDate - Format timestamps
Converts timestamps to human-readable date and time format.
Syntax:
2025-11-13 14:30:00
The helper takes one value and has no format or timezone option. The output is always yyyy-MM-dd HH:mm:ss in the timezone of the Collate server. It accepts a timestamp in milliseconds, a date, or a number written as text. For any other value it returns the value unchanged, and for an empty value it returns an empty string.
buildEntityUrl - Generate UI links
Creates a clickable URL that opens the entity in Collate UI.
Syntax:
{{buildEntityUrl 'table' entity.fullyQualifiedName}}. This form renders an empty link for data contracts, queries, and ingestion pipelines, so pass the full entity for those. For a data contract, the link opens the contract tab of its asset. A single argument, such as {{buildEntityUrl entity}}, doesn’t work and renders an empty link.
The optional last argument adds the entity’s Activity Feed to the link. Use "tasks" to open the Tasks view of the feed. Any other value, for example "all", opens the All view. For a test case, any value of this argument opens the Issues tab instead.
Example:
https://your-Collate/table/database.schema.table
parseEntityLink - Extract entity from link strings
Extracts entity information from entity link strings.
Syntax:
entityType, entityFQN, field, arrayField, and arrayValue. For a column test, arrayField contains the column name.
renderTableSample - Show a table of failed rows
Draws a small table with a sample of the rows that failed a data quality test. Use it in templates for test case alerts.
Simple version: Show up to 10 columns and 3 rows.
10is the maximum number of columns to show.3is the maximum number of rows to show.link.arrayFieldis the name of the column that the test checks.
... and N more. Use three curly braces ({{{ }}}). With two curly braces, the notification displays the table as raw code.
processMentions - Convert mentions to links
Converts @mention syntax to clickable user profile links. Typically used with user-entered descriptions or comments that may contain @mentions to team members.
Syntax:
@john.doe stays unchanged.
Use three curly braces
{{{ to render HTML output without escaping.resolveDomain - Resolve domain references
Displays domain names even when passed as object references.
Syntax:
This helper gracefully handles multiple input types:
- Domain object references:
{{resolveDomain domain}} - Already-resolved domain strings:
{{resolveDomain "domain-name"}} - Null/undefined values: Returns
(no domain)
Math Operations
math - Perform calculations
Performs mathematical operations on numbers.
Syntax:
+- Addition-- Subtraction*- Multiplication/- Division%- Remainder (modulo)round- Round the first number to the number of decimal places given as the second number
round is a separate step, so nest one math call inside another for each step.
If a value isn’t a number, the operator isn’t supported, or you divide by zero with
/, the helper returns 0 and doesn’t show an error. A remainder by zero (% with 0) returns NaN.Next Steps
- Learn Handlebars basics → Handlebars Templating Guide
- Understand available data → Template Context Reference