OpenShopy
Przewodnik

Notifications and automations

Customer notifications

Each store has editable templates per event and language:

EventSent when
order_createdAn order is placed (contains bank details and the payment link)
payment_receivedStaff confirms the payment
order_shippedA shipment with a tracking number is created
order_deliveredA shipment is marked delivered
order_cancelledAn order is cancelled
refund_issuedA refund is recorded
invoice_issuedAn invoice, pro forma, corrective invoice or credit note is issued for an order (contains {document_name}, {invoice_number} and {invoice_url})
customer_welcomeA customer creates an account
password_resetA customer asks to reset the password (contains {reset_url})

Placeholders

{customer_name}, {store_name}, {order_number}, {order_total}, {order_url}, {bank_details}, {payment_reference}, {carrier}, {tracking_number}, {tracking_url}, {cancel_reason}, {refund_amount}, {document_name}, {invoice_number}, {invoice_url}, {reset_url}. Unknown placeholders are left empty. {{name}} is accepted as an alias of {name}.

{document_name} is the document type in the customer's language (e.g. Faktura VAT, Credit note). {invoice_url} opens a public, printable copy of the document at /invoice/<payment_token>/<invoice_id>. The customer's order page ({order_url}) also lists every issued document of the order.

Delivery

Every message is written to the Outbox with status queued, sent, failed or skipped. Until an email sending domain is connected, staff send queued messages from the Outbox with one click (it opens the message in their mail app) and mark them as sent. All messages remain visible in the customer's communication history.

You can also send a message manually from any order or customer page, and resend any notification through POST /orders/:id/notifications.

Automations

An automation rule has a trigger event, optional conditions (all must match) and one or more actions.

Trigger events

order.created, payment.customer_marked, payment.confirmed, order.cancelled, order.fulfilled, shipment.created, shipment.delivered, refund.issued, customer.created, inventory.low_stock.

Condition fields

order.total, order.currency, order.shipping_country, order.source, order.tags, order.discount_codes, customer.orders_count, customer.total_spent, customer.tags, customer.accepts_marketing, variant.stock, variant.sku.

Operators: eq, neq, gt, gte, lt, lte, contains, not_contains. Money values are compared in minor units.

Actions

Actionvalue
send_notificationTemplate event, e.g. payment_received
set_order_statusopen, processing, completed or cancelled
add_order_tagTag text
add_customer_tagTag text, e.g. vip
create_alertAlert title shown to the team
issue_invoice—

Example rules

json
{
  "name": "Tag VIP customers",
  "trigger_event": "payment.confirmed",
  "conditions": [{ "field": "customer.total_spent", "op": "gte", "value": "100000" }],
  "actions": [{ "type": "add_customer_tag", "value": "vip" }]
}
json
{
  "name": "Alert on big orders",
  "trigger_event": "order.created",
  "conditions": [{ "field": "order.total", "op": "gte", "value": "500000" }],
  "actions": [{ "type": "create_alert", "value": "High-value order" }]
}

Every execution is logged in Automations → Runs with its result.

Built-in workflows

These run without any rule:

  • Payment confirmed → order status open becomes processing, payment received notification, invoice when Auto-issue invoice is on.
  • Shipment created with tracking → tracking number and URL recorded, order shipped notification.
  • All shipments delivered on a paid order → order completed, order delivered notification.
  • Stock crosses the low-stock threshold → team alert.
  • Customer marks an order paid → team alert.
  • Order total at or above Settings → High-value order threshold → team alert.