Other integrations
Needs review
Needs review: Both integrations register their event listeners at application boot only when package_status is enabled; confirm that changing package_status in the panel takes effect on the next request in the deployed setup (PHP-FPM, queue workers).
Two integrations are installed with the API but have no admin screens. They react to
platform events and are configured on their tabs in Settings, through the
package configuration API (POST /api/admin/config) or in the config files. Both are
disabled by default.
MailerLite
Section titled “MailerLite”The mailerlite package keeps MailerLite subscriber groups in sync with what users do:
| Event | Action |
|---|---|
AccountConfirmed (the user verified the account) |
add to the registered users group, only if the user’s newsletter attribute is true |
ProductBought |
add to the paid orders group |
AbandonedCartEvent |
add to the abandoned cart group |
OrderCreated |
remove from the abandoned cart group |
AccountBlocked |
delete the subscriber |
Groups are found by name and created in MailerLite if they do not exist.
Configuring MailerLite
Section titled “Configuring MailerLite”On the Package Mailer Lite tab of Settings (config file
ulams_mailer_lite):
| Key | Default | Meaning |
|---|---|---|
package_status |
disabled |
enabled turns the listeners on |
api_key |
none | the MailerLite API key |
newsletter_field_key |
newsletter |
the user attribute that holds newsletter consent, for example a boolean user field |
group_registered_group |
Registered users |
group for confirmed accounts |
group_order_paid |
Users with paid orders |
group for buyers |
group_left_cart |
Left cart |
group for abandoned carts |
- Create a boolean user field named
newsletter(or setnewsletter_field_keyto an existing field) so that registration can record consent. - Enter the
api_key. - Set
package_statustoenabled.
Mattermost
Section titled “Mattermost”The mattermost package creates Mattermost accounts for users and adds them to a channel per course and per webinar:
| Event | Action |
|---|---|
AccountConfirmed |
create the user in Mattermost |
AccountDeleted |
remove the user |
AccountBlocked |
block the user’s Mattermost account |
CourseAssigned / CourseUnassigned |
add the learner to the course channel as a member, or remove them |
CourseTutorAssigned / CourseTutorUnassigned |
add the tutor to the course channel as a channel admin, or remove them |
WebinarUserAssigned / WebinarUserUnassigned |
add the participant to the webinar channel, or remove them |
WebinarTrainerAssigned / WebinarTrainerUnassigned |
add the trainer to the webinar channel as a channel admin, or remove them |
Signed-in users can call GET /api/mattermost/me, GET /api/mattermost/reset_password and
GET /api/mattermost/generate_credentials to get or reset their Mattermost credentials, for
example from a “Open chat” button in a learner app.
Configuring Mattermost
Section titled “Configuring Mattermost”On the Package Mattermost tab of Settings (config file mattermost):
| Key | Meaning |
|---|---|
package_status |
enabled turns the listeners on (default disabled) |
servers.default.host |
the Mattermost server host |
servers.default.login, servers.default.password |
an administrator account the API uses |
The same values can come from the environment: MATTERMOST_HOST, MATTERMOST_LOGIN,
MATTERMOST_PASSWORD (and MATTERMOST_SERVER, MATTERMOST_AUTH, MATTERMOST_TOKEN for a
token-based server entry); see Environment variables.