Notifications#
The service notifies persons when interaction is required, or to inform them about the service. These notifications are sent via email.
Interaction messages#
Drive server sends invitations to collaborate via Skalio's Hermes notification service.
Informational messages#
These messages are currently not enabled.
Usecases#
The following use cases exist:
- Reactivation of old users: a manual task, which notifies users inactive for a long time, reminding them of their Novospace account.
- Onboarding: a series of messages that are being sent automatically to new users after their successful signup to Novospace. Messages are sent over several days.
- Reactivation: a series of messages that are being sent automatically to existing users that have been inactive for a while, but have not received these messages within the last eight weeks. Message are sent over several days.
Each message of these usecases maps to a spaces-backend IScopeDefinition
implementation.
Templates#
Templates for transactional messages are created and maintained in the web portal of Brevo: https://app-smtp.brevo.com/templates/.
Usecase | Template ID [DE] | Template ID [EN] |
---|---|---|
Manual reactivation | 5 | 26 |
Onboarding step 1 | 3 | 30 |
Onboarding step 2 | 7 | 29 |
Onboarding step 3 | 9 | 28 |
Onboarding step 4 | 11 | 27 |
Onboarding step 5 | 13 | 24 |
Reactivation step 1 | 15 | 25 |
Reactivation step 2 | 17 | 22 |
Reactivation step 3 | 19 | 23 |
Mapping of template ID to usecase and language is configured in each IScopeDefinition
implementation.
The templates have access to some context via the params
JSON object. It is provided by spaces-backend as part of the API call to trigger an individual email notification. The following fields are available:
profile
: the public profile of the personuid
(string, required): The unique ID of the person within Skalio IDname
(string, optional): Name of the person, as set by themselves, possibly nullemail
(string, required): Verified, primary email address of the personhasAvatar
(boolean, required): True, if the person has uploaded his avatarlocale
(string, required): The person's localetimezone
(string, required): The person's time zone
To access a field, use the following code inside the template:
Hello {{ params.profile.name | default : "my friend" }},
Execution#
Notifications are triggered by various scheduled jobs:
OnboardingMailJob
: runs all usecases of the onboarding-seriesReactivationMailTueWedThuJob
: runs reactivation step 1, on specific days onlyReactivationMailDailyJob
: runs the reactivation steps 2 and 3
The NotifyUsersCommand
can be used to manually run a single usecase, or even interactively trigger a specific template for selected persons.
Execution fails if the API key is not configured.