Everyone

Notification Events

The eight built-in events that trigger automatic emails to clients and staff.

Last updated 1776211200
  • Disabling an Event Email
  • Event Reference

    Opterius Commerce triggers emails on eight built-in events. The table below covers each event, who receives the email, and exactly when it fires.

    Event Recipient Triggered When
    welcome Client A new client account is created — either by self-registration or by an admin creating the account manually.
    invoice_created Client A new invoice is generated for the client, whether from a new order, a renewal, or manual creation by an admin.
    invoice_paid Client A payment is recorded against an invoice and the invoice status changes to Paid.
    invoice_overdue Client An invoice's due date passes and the invoice is still unpaid. The overdue check runs once per day.
    service_activated Client A service on the client's account is set to Active status.
    service_suspended Client A service on the client's account is set to Suspended status.
    ticket_reply Client A staff member posts a reply to one of the client's support tickets.
    password_reset Client The client requests a password reset from the login page.

    [!IMPORTANT] All eight events send to the client. Staff-facing email notifications (e.g., an alert when a new ticket is opened) are not yet handled by the template system. Staff notifications are a planned addition.

    Event Details

    welcome

    Fires once when an account is first created. Use this to set expectations — tell the client where the portal is, what to do next, and how to reach support.

    Variables available: {client_name}, {client_email}, {company_name}, {client_area_url}.

    invoice_created

    Fires each time a new invoice is generated. The client receives the invoice details and a direct link to pay. Avoid duplicating this with a manual "here is your invoice" email — this event handles it.

    Variables available: {invoice_number}, {invoice_total}, {invoice_due_date}, {invoice_url}, {client_name}, {company_name}.

    invoice_paid

    Fires when payment is recorded and the invoice flips to Paid. Serves as the client's payment receipt.

    Variables available: {invoice_number}, {invoice_total}, {client_name}, {company_name}, {client_area_url}.

    invoice_overdue

    Fires once per day for each overdue unpaid invoice. If a client has three overdue invoices, they receive three emails on the same day. Consider wording the email clearly to avoid confusion.

    [!TIP] Include {invoice_url} in the overdue template so the client can go directly to the payment page without logging in first.

    Variables available: {invoice_number}, {invoice_total}, {invoice_due_date}, {invoice_url}, {client_name}, {company_name}.

    service_activated

    Fires when a service transitions to Active. Use this to confirm provisioning is complete and provide any next steps (login credentials, nameserver details, etc.).

    Variables available: {service_name}, {service_domain}, {service_expiry}, {client_name}, {company_name}, {client_area_url}.

    service_suspended

    Fires when a service is suspended. The reason for suspension (non-payment, abuse, manual) is not automatically included — add a note to the template body instructing the client to contact support if needed.

    Variables available: {service_name}, {service_domain}, {client_name}, {company_name}, {client_area_url}.

    ticket_reply

    Fires each time a staff member posts a reply to a ticket. The email includes the reply content so the client can read it without logging in, with a link to view the full thread.

    Variables available: {ticket_id}, {ticket_subject}, {ticket_url}, {ticket_reply}, {client_name}, {company_name}.

    password_reset

    Fires when a client clicks "Forgot Password" on the login page. The email contains a one-time reset link that expires after 60 minutes.

    [!WARNING] Never remove the {reset_url} variable from this template. Without it, the client receives the email but has no way to reset their password.

    Variables available: {reset_url}, {client_name}, {company_name}.

    Disabling an Event Email

    To stop an event email from being sent:

    • Delete the template for that event, or
    • Blank out the subject field of the template.

    When Commerce tries to send the event and finds no template or an empty subject, it silently skips the email. No error is thrown and nothing is logged.

    [!TIP] Deleting is permanent. If you want to temporarily disable an event, blank the subject rather than deleting — you can restore the subject text later without rewriting the entire body.