Overview
Neev sends a message every time something happens in an order's life — order confirmed, order shipped, invoice generated, payment received, low stock. By default each one uses a built-in message. This page lets you rewrite those messages in your own words, in the channel you want — email, SMS, or WhatsApp — so the note your customer reads sounds like your shop, not a robot.
Where to find it
Settings → Templates, at /settings/templates. Web only. Settings is an Owner-only area, so in practice the Owner is the one who opens and edits this page.
Key concepts
- A template is the message text for one trigger + channel pair. The same trigger (say Order shipped) can have a different message on WhatsApp than on email.
- Triggers are the lifecycle events that fire a message: Order created, confirmed, packed, shipped, delivered, cancelled; Invoice generated and finalized; Payment received; Low stock alert; Customer created.
- Channels are email, SMS, and WhatsApp. Email templates have a Subject line; SMS and WhatsApp are body-only.
- Variables are placeholders written in
{{double_braces}}— for example{{customerName}}or{{orderId}}. Neev fills them in with the real values before sending. Each trigger exposes its own fixed set: Order shipped gives youcustomerName,orderId,trackingNumber; Invoice generated gives youcustomerName,invoiceNumber,totalAmount,downloadUrl. - A Custom tag (shown as a warning chip) means you have overridden the built-in message for that trigger + channel. No tag means the system default is still in use. There is no blank state — it is always either your custom text or the built-in default.
Common workflows
Open Settings → Templates. Find the trigger row (e.g. Order shipped), pick the channel chip — email, SMS, or WhatsApp — and hit the pencil. The editor opens with the current text.
In the editor, the Available variables strip shows every variable that trigger supports. Click one (like {{trackingNumber}}) and it is inserted into the body. The editor highlights every {{variable}} so you can see them at a glance. For email, fill the Subject field too.
Hit Preview before saving. Neev renders the message with stand-in values like [customerName] and [orderId] so you can read exactly how it will look. Money runs through Indian formatting (Rs 2,50,000.00) and dates as DD/MM/YYYY.
Hit Save template. The trigger now shows the Custom tag and every future message for that trigger + channel uses your version.
On a custom template a reset (circular arrow) button appears next to the channel chip. Click it, confirm in the dialog, and that trigger + channel drops your version and goes back to the built-in message.
Role notes
This page lives under Settings, which is Owner-only.
The Owner holds the full set of template powers — edit and save (notifications.template.upsert), preview (notifications.template.preview), and reset to default (notifications.template.delete) — and can open the Settings area.
The Manager runs day-to-day operations but is deliberately kept out of template editing and tenant settings. A Manager's role does not include notifications.template.upsert or notifications.template.delete, and does not include settings.* access. So a Manager cannot create, edit, save, or reset a template on this page — that stays with the Owner.
Tips & time-savers
{{customerName}} in exactly right — no typos, and you can only insert the variables that trigger actually supports.Always Preview before you save. The preview uses sample values, so you catch a missing comma or a wrong line break before a single real customer sees it.
Gotchas
Variables are fixed per trigger. A {{variable}} only fills in if it belongs to that trigger's set — type {{trackingNumber}} into a Customer created message and it will not resolve, because that trigger only carries customerName and phone.