The system comes with a robust set of notification functions that send out emails to your customers and employees when certain events happen. Every notification is fully customizable, not only in terms of the content that is sent out but also who they are sent to.

Here is a summary of the topics discussed in this document:

Order Status Change Notifications

The system is set up with the ability to send out an email notification every time an order's status changes - to the customer, to employees, or both.

You can implement a notification for every order status, from "Placed" to "Complete." Here are the most comment statuses that trigger notifications:

  • Order Placed: The confirmation email to the customer with details of the order they just placed. This is triggered when they complete their order through the checkout process and the order's status changes to "Placed."

  • Order Shipped: The notification that informs the customer when their order has Shipped.

  • Order Returning: Having a notification go out when an order is marked Returning can be useful. For example, you can tell other admins that a particular order is now coming back from the customer.

  • Order Complete: A notification can also be set up to go out to the customer when their order is fully checked in and marked Complete.

Order Notifications on the Customer Service Form Screen

You can easily view all the notifications that have been sent for each order, and even resend each one, from the customer service screen.

image-20230813200932467

Open up the Notifications section of the screen to view all the messages previously sent for the order. Clicking on the ID of each message shows you the details of the message, including the body of the message that was sent.

Under "Create and Send New Notifications" you can view all the available notifications and send or resend one or more of them. Note: Even if the order is not in the appropriate status yet, you can still send out the notification from this tool (e.g., you can send the Shipped notification even if the order is not yet shipped). In addition, you can resend any notification that has already been sent. For example, if the customer calls in and asks to add or remove an item for their order, you can resend the newly updated "Order Placed Notification" from this tool.

Order Status Change Notification Set up

Each of the above types of notifications - and any additional ones for other order statuses - can be maintained under the Orders and Operations -> Notifications screen.

image-20230813155903032

To tell the system which order status the notification belongs to, set the "code" for the notification using this pattern: "OrderNotification-". So for example, the notification that goes out when any order is set to "Placed" is the one whose code is "OrderNotification-Placed".

Inside each notification record, you can define the following fields:

  • The template used for the notification (see below).

  • Who receives the notification emails ("Tos" field).

  • Who is copied or blind-copied on the notification emails ("Ccs" and "Bccs" fields).

  • (Optional) The "From" address for the notification emails. If left blank, this defaults to the store's main email address defined under Settings -> Store Settings -> Email Settings.

  • (Optional) The subject of the emails, if it needs to be different than the Template's subject.

  • (Optional) A "Prefix" for the content of the emails. For example, when sending a Shipped notification, you might want to send all the same order details you send for the Placed notification, but with an additional paragraph at the top explaining that the order was shipped. You can set the Shipped notification up to use the same Template as the Placed notification, and then just add a "Prefix" for the paragraph at the top.

Report Notifications

Each report created in the system can be sent out via email according to a regular schedule. This can be extremely useful to help employees keep track of changes in the system. Here are just a few examples of how this feature could be used:

  • Each night, a report showing which products are low in inventory can be sent out to someone in charge of purchasing.

  • Each night, a report showing which orders are complete but whose payments have not yet been captured can be sent out to someone in charge of accounts receivable.

  • Every month, a sales report of a given product's sales can be sent out to someone in charge of tracking marketing for the product.

  • Every hour, a report listing newly placed orders can be sent out to a manager in charge of fulfillment.

  • Every day, a report listing the shipments, transfers, and units that have had their tracking status updated by FedEx or UPS can be sent out to employees in charge of tracking them.

As mentioned, these are just some random examples. It is a very powerful tool because any entity in the system (Products, Orders, Order Items, Customers, Shipments, Transfers, etc.) can be the subject of a report. And with Report Notifications, any report can be emailed out to anyone on a regular basis.

To enable a report to be sent out as a notification, click into the details for the report and open up the Scheduling Fields section.

image-20230813165319328

Although there are other possibilities, the simplest way to enable the report to be sent is to set the "Scheduled Frequency" field. The options there are "Yearly," "Monthly," "Weekly," and "Nightly." (Note: the "OnceAndDone" option has no effect for this field.) That is all you actually have to do. By default, it will send the report out to the "Store Email Address" defined in the settings.

If you need more control, the other fields on the report can be helpful.

image-20230813165958403

Here you can override the email address that receives the report, as well as the cc's and bcc's. In addition, you can override the subject for the emails and even define a "prefix" that is appended to the beginning of the email. If any of these fields are defined for the report, they will override the same fields on the notification record.

You can also change the notification that is used by report altogether with the "Notification" field, and under that notification record you can change the default template that is used. The default template simply renders the report as an HTML table. In addition, it creates a CSV-formatted attachment for the report, which can easily be saved and imported into a spreadsheet program.

The last field under the Scheduling Fields section is "Send Even If No Records In Report." This is false by default. It means that if the report does not return any records, no email is sent. You should turn this field on if you wish to always receive the report, even if it has no records. (The email will simply state that zero records were returned by running the report.)

Sending Report Notifications at a Specific Time of Day

The "Scheduled Frequency" field lets you quickly define whether a report notification should go out nightly, weekly, monthly, or yearly. One limitation of this is you do not have control of the specific time of day, or time of hour, that report goes out.

To control the precise time the report goes out, you can set up a Site Job to run the notification. From the Operations -> Site Job screen, click the plus icon to add a new site job.

image-20230813195033927

  • Create a name for the Site Job and mark it as active.

  • To define the exact time the job should run, set the "Next Fire Time" value. Set it carefully to the first time you wish the job to run. Whether the job is nightly (i.e. daily), weekly, monthly, or yearly, it will run at the same time each run. So, the first run will occur at the time you specify, and it will set the next time exactly one day, week, month, or year later, and so on.

  • Next, define the "Frequency" for the job. Your choices are limited to nightly (i.e. daily), weekly, monthly, or yearly.

  • Next, for the "Integration Function" field, select "Report Notification Site Job." This tells site job it is responsible for sending a report.

  • Finally, you must tell the job which report you want it to run. Once the site job is created, create a site job setting under it. From the site job details page, click the three-dots menu, and select "Site Job Settings." Then click the plus icon to add a setting.

    image-20230813200007198

    • For Name, enter any name.

    • For Code, you must enter "reportCode".

    • For Setting Type enter "Configuration".

    • For Value Type enter MediumValue.

    • Finally for "Setting Value" you must enter the exact value of the Code field for the report you wish to run.

Drop Shipper Notifications

Another out-of-the-box notification is the Supplier or Drop Shipper notification. This is activated when a customer places an order that includes one or more items from a drop shipper (i.e. a supplier with the "Is Drop Shipper" flag enabled). If the "Email" and "Order Notification" fields have also been defined for the supplier, the system will send an email out listing the supplier's items from the order. For more details, visit the Drop Shipper Notifications section of the Drop Shippers document.

Templates

Each notification record corresponds to a template that is used to construct the message that goes out. Roughly speaking, while the notification record defines who and when, the template defines what is sent. The templates are all defined under the Operations -> Templates screen.

image-20230813160233828

Under the Template, you define the following:

  • The email subject for the template. This may be overridden by the parent notification's subject field.

  • The email "body" for the template. This is the template written in the Velocity template language that is used by the system to generate the email.

Customizing a Template for a Notification

Most default templates will have the following note in their email body field: "NOTE: The following Email Body is controlled by a file on the file system." This is so they can be easily updated when there is an upgrade or update deployed for the system.

To customize a template for a particular notification, follow these steps:

  1. Create a new template representing the custom version. Give it a code like "Custom-OrderNotification-Shipped" to distinguish it from the built-in template.

  2. For the Email Body field, simply copy the content of the original template's Email Body that is controlled by a file. Paste the content of the original Email Body into your new template's Email Body.

  3. Find the notification record, go into its details, and change its template to your new template you created ("Custom-OrderNotification-Shipped").

image-20230813160804417

  1. Now you can modify the Email Body field of the new template however you wish. New order status changes will use the new template to create the emails that are sent.

  2. NOTE: Before changing the notification's template (step 3), you can test the template you are customizing. Select the "Create Message..." option from the template details to generate an email using the template. You can generate an email and view it in the interface without actually sending it.

image-20230813160947933

Template Attachments

In addition to the email's body, each template can also define one or more attachments. The system will attach these files to each email generated from the template. The user receiving the email will see them as files attached to their email message.

Furthermore, the system supports a few different types of attachments:

  • Static files of any kind

  • Dynamically-generated HTML files

  • For Report Notifications, a CSV file containing the contents of the report in CSV format