Skip to main content

Notifications

SignalSync provides a comprehensive notification system that allows both tenant administrators and users to monitor email communications sent by the platform. Notifications can be generated from workflow processes, system events, or administrative actions.

Overview

The Notifications feature provides visibility into all email communications sent from SignalSync, including:

  • Workflow notifications - Emails triggered by Graphical Workflow Engine (GWE) processes
  • System notifications - Platform-generated emails for user activation, password reset, and account management
  • Application notifications - Emails sent from any application within the tenant

Access Levels

Tenant Administrator View

Tenant administrators have access to all notifications sent by users within their tenant through:

Navigation: Settings → Notifications

Administrators can:

  • View all notifications across all applications and users
  • Monitor notification delivery status (Success/Error)
  • Inspect email content and data models
  • Verify FreeMarker template expressions
  • Troubleshoot notification failures
  • Filter and search notifications by product, type, status, date range, recipient, and message content

Notifications

Notification List View

Table Columns

ColumnDescription
ProductThe SignalSync product/application that generated the notification (e.g., "Graphical Workflow Engine")
DescriptionNotification type or template name (e.g., "Status Update Notification", "Supplier Notification")
TypeCommunication channel (currently EMAIL)
StatusDelivery status: Success or Error
DateTimestamp when the notification was sent
ToRecipient email address
MessagePreview/full content of the email sent
Data modelJSON data structure used to populate the FreeMarker template

The notifications view provides multiple filter options:

  • Product filter - Filter by application source
  • Description filter - Search by notification type
  • Type filter - Filter by communication channel
  • Status filter - Show only Success or Error notifications
  • Date range - Filter notifications by date period
  • Recipient search - Find notifications by email address
  • Message search - Search within notification content
  • Data model search - Search within the JSON data structure

Pagination

  • Configurable rows per page (10, 25, 50, 100)
  • Page navigation controls
  • Total page count display

Notification Details

Message Content

Click the eye icon (👁️) in the Message column to view the complete email content, including:

  • Email subject line
  • Full HTML-formatted email body
  • Embedded links and formatting
  • Warning messages (e.g., "Do not reply" notices)

Example notification message:

Dear Facility Manager,

The request with ID #1182 has been updated to status RETURNED.

Request Details:
- Request ID: 1182
- Problem Type: TEMPERATURE
- Current Status: RETURNED
- Date and time updated: N/A
- Request title/Subject: N/A
- Request Description: temperature adjustment

To track the request progress, access the system by clicking the following link: [link]

Best regards,
SignalSync Team

---
WARNING: This is an automatic message generated by the system. Please do not reply
to this email, as this email address is not monitored.

Data Model

Click the document icon (📄) in the Data model column to inspect the JSON data structure used to populate the notification template.

Example data model:

{
"new": false,
"wfId": "34116338-3d09-4614-80d7-a848197d6bd0",
"status": "returned",
"blockId": "wf-node-2-fa94",
"details": {
"supplier": {
"label": "SUP005",
"value": "1df462dc-d952-4e05-9324-59401a5a73ca"
},
"_building": {
"label": "Gateway Plaza",
"value": "0791de36-463f-4a09-8d6b-c915dea27c9d"
},
"_priority": "Medium",
"supervisor": {
"label": "FM001",
"value": "7a3fbd95-48fb-4542-8e64-0dd02c753608"
},
"_description": "temperature adjustment",
"_problem_type": {
"label": "TEMPERATURE",
"value": "28e4e941-71f5-499c-977a-5005fafd28f9"
},
"supplier_name": "HVAC Systems",
"supervisor_name": "Facility Manager",
"encryptedRequestId": "0c23621649"
},
"version": 2
}

Using Data Model for Template Validation

The data model is particularly useful for:

  1. Template debugging - Verify that FreeMarker expressions reference existing fields
  2. Data verification - Confirm the correct data is being passed to templates
  3. Troubleshooting - Identify missing or incorrect data causing notification errors
  4. Template development - Understand the available data structure when creating new templates

Example FreeMarker expressions:

${encryptedRequestId}
${requestId}
${status}
${_problem_type.label}
${_priority}
${_description}
${building.label}
${supervisor_name}

Notification Types

Workflow Notifications

Notifications generated by GWE workflows using configured notification templates. These are defined using FreeMarker templates and can include:

  • Status update notifications
  • New request notifications
  • Assignment notifications
  • Supplier notifications
  • Custom business process notifications

Configuration: Notifications are configured within GWE workflow events using the Notification event type.

System Notifications

Platform-generated notifications for account and security management:

Password Reset Notification

  • Trigger: User requests password reset
  • Recipient: User's registered email
  • Content: Secure password reset link with expiration time
  • Subject: "SignalSync: Secure Password Reset Instructions"

Example:

Hi [User Name],

Someone recently requested a password change for your SignalSync account.
If this was you, you can set a new password here:

[Reset password button]

This link expires in 1 hour and can only be used once.

If you don't want to change your password or didn't request this,
just ignore and delete this message.

To keep your account secure, please don't forward this email to anyone.

- The SignalSync Team

User Activation Notification

  • Trigger: New user account creation
  • Recipient: New user's email
  • Content: Welcome message and activation link
  • Purpose: Email verification and account activation

Notification Status

Success Status

Indicates the notification was successfully:

  • Generated from the template
  • Processed by the email service
  • Sent to the SMTP server

Error Status

Indicates a failure in the notification process. Common causes:

  • Invalid recipient email address
  • Template rendering errors
  • FreeMarker expression errors
  • SMTP server connection issues
  • Missing required data in the data model

Troubleshooting errors:

  1. Check the Data model for missing or incorrect field references
  2. Verify FreeMarker expressions in the template match the data model structure
  3. Confirm recipient email addresses are valid
  4. Review SMTP configuration in Settings → Parameters

FreeMarker Template Configuration

Notifications in GWE are defined using FreeMarker templates that support:

Subject Message

Template expressions for dynamic email subjects:

#${encryptedRequestId} - ${requestId?then(requestId?c, "N/A")} - 
Request Status Update

Body Message

HTML email templates with FreeMarker expressions
<#ftl encoding="UTF-8">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<#setting time_zone="Europe/London">
<#setting output_encoding="UTF-8">
<#setting url_escaping_charset="UTF-8">

Dear ${recipient().name()!"N/A"},
<br><br>
A new request has been created with ID #${(requestId?c)!"N/A"}.
<br><br>
<b>Request Details:</b><br>
- Request ID: ${(requestId?c)!"N/A"}<br>
- Problem Type: ${(_problem_type.label)!"N/A"}<br>
<#if createdDate?has_content>
- Date and time created: ${dateUtils.parse(createdDate)?datetime?string("dd/MM/yyyy, HH:mm")}<br>
<#else>
- Date and time created: N/A<br>
</#if>
- Request title/Subject: ${(_title?html)!"N/A"}<br>
- Request Description: ${(_description?html)!"N/A"}
<br><br>
To track the request progress, access the system by clicking the following link:
<#if wfId?has_content && requestId?has_content>
<a href="https://[your_domain].partners.signalsync.cloud/apps/gwe/manage/${wfId}/${requestId?c}">here</a>
<#else>
<a href="https://[your_domain].partners.signalsync.cloud">here</a>
</#if>
<br><br>
Best regards,<br>
SignalSync Team
<br><br>
---
<br>
<span style="color: red;">
WARNING: This is an automatic message generated by the system. Please do not reply to this email, as this email address is not monitored.
</span>

Best Practices

For Administrators

  1. Regular monitoring - Check notification status regularly to identify delivery issues
  2. Error investigation - Review Error status notifications and inspect data models
  3. Template validation - Use the data model to verify FreeMarker expressions before deployment
  4. Security awareness - Monitor system notifications for unusual password reset or activation patterns

For Template Developers

  1. Test with data model - Always verify expressions against actual data models
  2. Handle missing data - Use FreeMarker default values: ${field!"Default Value"}
  3. Null checking - Test for field existence: <#if field?has_content>
  4. Date formatting - Use consistent date/time formats across templates
  5. Escape special characters - Properly escape HTML and URL content
  6. Include tracking links - Provide deep links to relevant entities in the system
  7. Add warnings - Include "do not reply" notices for automated emails

Technical Notes

Data Storage

  • Notifications are stored in the platform database
  • Both successful and failed notifications are retained for audit purposes
  • Data model JSON is stored for debugging and validation

Security Considerations

  • System notifications include one-time-use tokens with expiration
  • Password reset links expire after 1 hour
  • Email addresses are validated before sending
  • Administrators can monitor all notifications for security auditing