| Area | Main pieces | Extension points |
|---|
| Email queue | ALSP_Email_Queue, alsp_mail_queue | alsp_mailqueue_add, alsp_mailqueue_add_data, alsp_mailqueue_before_sending, alsp_mailqueue_after |
| CSAT | alsp_csat_responses, survey token model, frontend survey renderer | alsp_csat_survey_ready, alsp_csat_survey_submitted, alsp_csat_survey_email_template |
| Email piping | IMAP/Gmail/Microsoft importers, spam quarantine, multi-inbox settings | alsp_ep_email_is_valid, alsp_ep_spam_check_result, alsp_ep_spam_detected |
add_filter('alsp_mailqueue_before_sending', function (array $mail): array {
$mail['subject'] = '[Support] ' . $mail['subject'];
return $mail;
});
add_filter('alsp_ep_email_is_valid', function (bool $valid, array $param): bool {
if (!$valid) {
return false;
}
$from = strtolower((string) ($param['from_email'] ?? ''));
return substr($from, -strlen('@blocked-example.test')) !== '@blocked-example.test';
}, 10, 2);
add_action('alsp_csat_survey_submitted', function (int $response_id, int $rating, string $comment, $response): void {
if ($rating <= 2) {
my_alert_support_lead_about_low_rating($response_id, $comment);
}
}, 10, 4);