Skip to content

Automations

Automations allow you to send e-mails to your client based on their actions. For example, a welcome email when a customer creates a new account.

Configuring automations is a requirement for proper functionality of customer-related actions such as e-mail activation.

You can find the Automations management in Administration, Revenue Configuration, Automations tab.

Below is a list of standard automation triggers available in your CMS. These triggers can be used to initiate automated actions, notifications, or workflows based on user and system events.

Trigger ID Description Category
order_new Successful new order Revenue
order_renew Successful renewal Revenue
order_new_fail Failed new order Revenue
order_renew_fail Failed renewal order Revenue
abandoned_cart Abandoned cart Revenue
renewalcron_fail Nightly renewal completed with failures Revenue
renewalcron_success Nightly renewal completed successfully Revenue
customer_new_subscription Subscription created Revenue
customer_update_subscription Subscription updated Revenue
customer_deactivate_subscription Subscription deactivated Revenue
customer_upcoming_renewal Customer subscription renewal is in 1 week Revenue
customer_upcoming_renewal_month Customer subscription renewal is in 1 month Revenue
customer_card_expiry Customer card expiry is upcoming (once per month) Revenue
customer_create New customer registration Customer
customer_login Customer login request Customer
customer_delete Customer account deletion Customer
customer_update Customer account details update Customer
customer_activate Customer e-mail activation request Customer
customer_activate_complete Customer e-mail activation complete Customer
customer_forgotpassword Customer forgot password e-mail Customer
customer_changed_password Customer password change Customer
customer_membership_anniversary Customer creation anniversary Customer
socialpost_published Social post published successfully Social Channels
socialpost_fail Social post failed to publish Social Channels
newsletter_new_activate New newsletter opt-in: activation request Social Channels
newsletter_new_complete New newsletter opt-in: complete Social Channels
newsletter_unsubscribe Newsletter unsubscribe Social Channels
newsletter_received Received an e-mail newsletter Social Channels
newsletter_read Read an e-mail newsletter Social Channels
newsletter_click Clicked a link in an e-mail newsletter Social Channels
content_create Create new content Content
content_update Update content Content
content_publish Publish content Content
content_unpublish Unpublish content Content
content_delete Delete content Content
form_{id} Form submission (one trigger per active form) Form Submissions
page_new_version_{id} Page status changed to publish (one per active page) Pages

The newsletter_click trigger supports an optional URL filter parameter, allowing you to match or exclude specific link URLs using like, notlike, eq, or neq operators.

The form_{id} and page_new_version_{id} triggers are generated dynamically — one entry is created for each non-archived form and each published page respectively. The {id} portion is the numeric ID of the form or page.

The abandoned_cart trigger fires 30 minutes after a user adds an item to the cart or begins a payment. Any subsequent cart or payment action resets this timer. If the user completes a payment before the 30 minutes elapse, the event is canceled and will not fire.

You may decide to start a delayed automation. You can specify this in number of hours in the Delay parameter. For example, you wish to send a welcome e-mail reminding a user to visit your website again, 72 hours after they register.

Automations can be sent to various destination. They can work as a notification to your customers or as a notification to your staff. For example, you might want to configure an e-mail to go out to the customer when a renewal fails. You can also alert your customer servicing desk by adding their e-mail address.

See the e-mail templates guide for available variables.

Webhooks are also possible to notify your custom application of this event. You will receive a POST request with a body in JSON format. The body of the event contains the following parameters:

  • automationId: ID of the Automation that triggered this alert
  • queueId: Unique ID for this webhook notification
  • parameters: An object containing additional parameters sent by this trigger
  • timestamp: A date-time string of the current time of execution, in YYYY-mm-dd HH:mm:ss format.
  • subject: The subject of the notification as configured in the backend.

The parameters object can contain one of more of the following fields. You must check if the field is present, then you can use it.

  • trigger_id: Trigger ID, refer to the table above.
  • runtime_conditions: The conditions that were evaluated when the trigger runtime is scheduled. These are different from the initial_conditions which are not shown in the API. Initial conditions are evaluated when the trigger happens. Runtime conditions are evaluated after a delay of time.
  • email: Customer e-mail address that received this notification via email.
  • recipients_emails: Administrator e-mail addresses configured to receive this automation.

For content related triggers:

  • article_id: Article ID or Content ID

For customer related triggers:

  • visitor_id: Customer ID

For order related triggers:

  • visitor_id: Customer ID
  • order_id: Order ID
  • subscription_id: Subscription ID if present

For subscription related triggers:

  • visitor_id: Customer ID
  • subscription_id: Subscription ID

For Form submission triggers:

  • form_id: ID of the Form
  • submission_id: ID of the submission
  • visitor_id: Customer ID

For e-mail list triggers:

  • channel_id: ID of the Social Channel
  • channel_post_id: Available when a Social Post is opened or read

For “forgot your password” and “email activation request” triggers:

  • code: Activation code to send with your API call

For nightly renewal success or failure:

  • logs: JSON-encoded array of log messages
  • total: Total subscriptions found for renewal
  • success: Total subscriptions renewed without errors

The administrator can configure a webhook secret for automations. When configured, the system will use this secret to generate a SHA256 HMAC of the JSON payload. This signature is included in the request headers as X-Webhook-Signature. The header value is in the format sha256=<hash>.

You can use this signature to verify that the request originated from the system. Below is a sample implementation in JavaScript showing how to validate the signature:

const crypto = require("crypto");
/**
* Validates the webhook signature
* @param {string|Buffer} payload - The raw request body
* @param {string} signatureHeader - The value of X-Webhook-Signature header
* @param {string} secret - Your configured webhook secret
* @returns {boolean} - True if signature is valid
*/
function validateWebhookSignature(payload, signatureHeader, secret) {
if (!signatureHeader || !secret) {
return false;
}
const hmac = crypto.createHmac("sha256", secret);
const digest = "sha256=" + hmac.update(payload).digest("hex");
// Use timingSafeEqual to prevent timing attacks
const signatureBuffer = Buffer.from(signatureHeader);
const digestBuffer = Buffer.from(digest);
if (signatureBuffer.length !== digestBuffer.length) {
return false;
}
return crypto.timingSafeEqual(signatureBuffer, digestBuffer);
}

For protection against spam filters, we provide two e-mail addresses to send your messaging from. Please make sure to select the Marketing e-mail address if you are sending marketing materials.

If a user is opted out from marketing (global suppressions list), they will not receive e-mails that use the Marketing e-mail address.

TO specify a template, create a content with type E-mail. Then select this e-mail from the automation editor.

You can customize your e-mails by following the E-mail templates guide.