Editing an Event
Editing an event consists of three tabs:
- Conditions
- Attributes
- Settings
Conditions
The "Conditions" tab contains input fields for editing the event. These are the main event data: Name and
Modules
In the conditions, you need to select a module that will determine the condition for sending the event. The following modules are available:
catalog
forms
orders
users
Conditions for the catalog
module
For the catalog module, in the type field, you can choose to filter by statuses, and then select a specific status — this way, you will subscribe to the event of changing the status of catalog items.
Alternatively, you can subscribe to an event based on attribute sets and select a specific attribute.
Conditions for the forms
module
For the forms module, you need to select the type of form to which the event will be added. The following options are available:
- Registration
The event is created when a new user registers via the Content API or in the CMS. - Send Code
The event is created when a new confirmation code is generated for a user (including registration). - Change Password
The event is created when a user changes their password. - Submit form data
The event is created when data from the selected form is submitted via the API.
For Submit form data, you need to select a form (from forms with the type "Data submission") and the attribute that you added for email (this subscription does not apply to other attributes). When the form is submitted, the data is sent to the email specified in this attribute.
More about forms can be found in the Forms section.
All events from the forms module include user information. The Registration and Send Code events also contain the confirmation code.
Conditions for the orders
module
For the orders module, you need to select a specific order storage and status to which the event will be tied.
Conditions for the users
module
For the users module, you need to select filtering by attribute sets and specify a specific attribute to which the event will be tied.
When setting up mailing, you can use special conditions:
today
— checks if the current date matches the date in the user's attribute of typedate
ordateTime
.now
— checks if the current time (hours and minutes) matches the value in the attribute of typetime
ordateTime
.
Method of Sending
For all modules except forms, there are three methods available for sending notifications:
- Push Notification — via push notifications
- Email — email distribution
- Socket IO — via WebSockets (suitable for subscribing to real-time events, such as price changes). For more details, see the Socket.IO documentation.
Who to Send To
For the catalog module, you can choose the recipients of the notification:
- all users of your site,
- or a specific group of users.
How Often to Send
For events from the catalog and users modules, you can choose the frequency of sending:
- once when the event occurs,
- every time it triggers again.
Attributes
The "Attributes" tab contains a dropdown list for selecting a set of attributes.
After selecting the set of attributes, you need to fill in the values. For example:
event_send_date
(type Date and Time)event_desc
(type String)
These attributes can be used in the Settings tab to create a message template. They are available under the key event
:
The
timeInterval
attribute for scheduling mailings**
If the selected set of attributes includes an attribute of type timeInterval, it becomes available for selection in the mailing schedule settings (Mailing mode).
When such an attribute is selected, the mailing will be sent only on the days specified in the interval (for example, only on Mondays and Fridays).
Settings
The "Settings" tab contains two text fields for creating a message template that users of your
Below the input fields, there is a list of available variables for substitution in the template (for example, {{ email }}
, {{ user.attribute_marker }}
, etc.).
Mailing to Users (Mailing Mode)
This functionality allows you to set up periodic email mailings to users that meet the specified conditions. Unlike standard events, the mailing is triggered not by data changes, but according to a schedule, provided the conditions are met.
Setting Up Mailing
-
Creating an Event
- Event Type: Users
- Mode: Mailing (mailing)
-
Setting Up the Schedule
- Time: reference point (for example, Monday at 10:00)
- Frequency:
- Daily
- Weekly
- Monthly
- Custom interval
- From the
timeInterval
attribute — if such an attribute exists in the set of attributes, you can select it, and the mailing will be sent only on the specified days of the week.
-
User Selection Conditions
- Examples:
- Registration date > 2024-01-01
- Subscribed to mailing = true
- today: current date = value of the
date
/dateTime
attribute for the user - now: current time (hh:mm) = value of the
time
/dateTime
attribute for the user
- Examples:
Example of Operation
-
Setup:
- Time: every Monday at 10:00
- Frequency: from the
timeInterval
attribute (user selected "Mon, Wed, Fri") - Conditions:
- Subscribed = true
- today:
user.birthday_date
= today
-
Result:
Every Monday at 10:00, the system:- Finds users with an active subscription whose birthday is today
- Checks if the current day (Monday) is included in their
timeInterval
- Sends them a personalized greeting
Practical Applications
- Weekly news digests
- Inactivity reminders
- Personalized birthday offers
- Mass notifications on a schedule considering user preferences