Notification Center

The Notification Center (/admin/tsync_config_center/notifications, inside the Configuration Center) is one simple grid that decides which events notify you, and on which channel.

How it works

The page shows a matrix: each event (for example a job failed, a low-stock alert, an approval is waiting) on one axis, and each channel (in-app, e-mail…) on the other. Tick a box to turn that event on for that channel; un-tick it to turn it off.

Use it to

  • Stop noise — turn off channels you don't read.
  • Make sure the important alerts reach the right place (e.g. job failures by e-mail).

Click Save when done. Changes are recorded in the audit log.

What this page stops — and what it does not

Unticking a channel here really does stop it: every message in the grid passes through a single sending point, which checks this table before anything goes out.

The grid now includes the platform's own reminders, grouped by what they are about: Contracts, Invoices, estimates and proposals, Tasks and reminders, Support, Clients, Sign-in and access, Subscriptions, Projects, Leads and Automationsevery message the system sends, not a subset of them. The contract expiry reminder — the message customers complain about most — is in the Contracts group, and unticking its Email box stops it.

Each of those rows says who the message goes to, to the customer or to staff, and shows the template name underneath, so you can find the same message in Email Templates when you want to read its text.

Some messages cannot be switched off here, on purpose. Anything the recipient is owed — an invoice they asked for, a password reset, a document you sent them — always goes. A tickbox that could silently swallow an invoice would be found out by the customer who never received one.

You can switch off ANY message

Until v10.9.3 this page showed only 12 of the messages the system sends; the rest went out whatever you did. They are all here now, grouped by subject, each with its own switch.

⚠️ Messages marked "obligatory" — the invoice sent to a customer, a password reset, a two-factor code, an account statement — can be switched off too, if that is what you want. But then the customer really does stop receiving them, and somebody who forgets their password cannot get back in. That is why they are marked rather than hidden: the choice is yours, it just must not look like switching off a reminder.

An upgrade switches nothing off. Every message stays exactly as it was — all that changes is that you now have the switch.

The alerts in the bell, too

The alerts that appear in the bell in the top bar — "accounting period not closed", "stock below its reorder point", anomalies, asset issues, coaching, staff records, goals, a shared folder — are here as well, on the in-app channel, grouped by subject: Accounting · Stock · Analytics · Assets · Quality · People · Goals · Files.

The old switches inside the modules still work. If you turned something off long ago on a module page (Accounting → Settings, say), it stays off — an upgrade does not switch it back on. The Center is where you can always reach it from, not a second answer that contradicts it.

A message stopped here is stopped for everybody. To stop one for a single person, use the do-not-contact list further down this page.

The welcome e-mail for a new client

In the Clients group you will find "Welcome e-mail for a new client". Untick its Email box if you do not want every client you enter to receive a greeting.

One exception, and it is in the client's interest: if you typed a password on the client form, that message is the only place the client can learn it — the password is stored encrypted and is never sent a second time. In that case the message goes anyway, and the activity log records why. If you type no password, the client gets a separate set-password link instead, and the welcome message is only a greeting and stops like any other.

Two more things are e-mail only and show a dash instead of a tickbox in the in-app and webhook columns: that is not an oversight, it is the page refusing to offer a switch over a channel the message does not have.

When a customer tells you to stop

Further down the same page is the Do not contact (objection) list. Add the person's address and from that moment they no longer receive notification or marketing mail — including the contract-expiry reminder, which is the one most often complained about.

What still goes, deliberately: transactional messages — the password reset they just asked for, an invoice they are owed. The right to object is not a right to be cut off from a contract one is party to, and a list that also stopped invoices would be switched off by you within a week.

You can narrow the objection to marketing only, if that is what the person asked for. The reason is optional but helps a year later, when nobody remembers why the address is on the list.

Withdrawing an objection asks for confirmation and is recorded in the audit log, just like adding one — it is the more sensitive direction, because it restores sending to somebody who said no.

If you also run the Omnichannel module: somebody who replied STOP on WhatsApp or SMS counts as objecting on e-mail too. The objection belongs to the person, not to the channel.

Two ways an objection arrives without you typing it

Everything above assumes somebody tells you, and you add the address. Two other paths now put a person on the same list on their own.

Reminders and announcements carry a small Unsubscribe line at the bottom. It opens a page that asks the person to confirm, and only the confirmation records anything — the link itself does nothing when it is merely opened. That is not caution for its own sake: mail programs and company security scanners open every link in an incoming message to check it, and a link that acted on being opened would unsubscribe people who never read the mail.

Once confirmed, the address appears in the Do not contact list above with the source unsubscribe, and you can see it there like any other entry.

The link never appears on an invoice, a contract to sign, a password reset, or any message sent to a colleague. Those are not messages anybody can be unsubscribed from, so the product does not offer it.

The switch is on this page: "Add an unsubscribe link to reminders and announcements", on by default. Turn it off only if your own e-mail templates already contain such a link — otherwise the message would carry two.

Closing a data-erasure request

When somebody asks to be erased (Setup → GDPR → Right to erasure) and you set their request to Removed, the address is added to the Do not contact list automatically, and the page tells you which address it was.

If it cannot work out an address — usually because the contact was already deleted — it says so instead of staying quiet. That message matters: it means the objection was not recorded and you have to add the address here by hand.

Setting a request to Refused records nothing. A refusal is most often a legal obligation to keep a record — an invoice cannot be deleted on request — and treating that as "stop the marketing too" would decide something the person never asked for.

The two alerts an ERP is bought for

"Invoice overdue" and "Stock below its reorder point" used to carry the no trigger yet label: you could switch them on, the screen confirmed they were on, and nothing ever arrived. Both now have a real source.

  • Invoice overdue fires once, on the day the invoice turns overdue — not every night while it stays unpaid. An alert that repeats itself every night is one people learn to ignore.
  • Stock below its reorder point fires when the warehouse scan records the shortfall, and it carries the item, the warehouse and how far below the minimum the quantity is. The same alert is not repeated for 24 hours.

Neither switches itself on. Tick them in the grid above, on the channel you actually read.

The alert for a problem nobody has picked up

"Signal open too long" is the one alert that is not about something new happening. TSync's own consoles — Data quality, Financial Intelligence — detect problems correctly, and always did; what was missing was anybody noticing that a critical one had been sitting there since June.

A critical signal that stays open past the threshold now raises this alert, and appears in the Needs attention panel as well — so it reaches both the person who configured a channel and the person who simply opens the product in the morning.

  • A signal you acknowledge stops escalating. You have already said you know.
  • A signal that stops being raised loses its clock. If it comes back months later it counts from zero again instead of arriving pre-escalated.
  • Only critical signals escalate. A warning left open is not an emergency, and a channel that fires for everything is one people filter away.
  • After it alerts, the clock is re-armed: you hear about it once per period, not every night.

The threshold is a setting, not a number somebody liked: Days before a critical signal escalates, default 7, between 1 and 365, on the Automation Jobs page next to the log-retention control.

The "no trigger yet" badge

Next to some events you will see the label "no trigger yet". It means exactly what it says: nothing in the system raises that event at the moment, so its switch has nothing to stop. We left it visible and marked rather than hiding it — a switch that looks like it does something but cannot is worse than a missing one.

Four events still carry it: a bank statement that failed to import, an automation that failed, a missed PBX callback, and an approval waiting. Each needs its own decision about where the boundary is — guessing four at once is exactly how an event ends up firing on the wrong condition.

This controls delivery — which alerts go where. Who may see a feature at all is a separate thing, controlled by permissions.

Following a number in the menu

When a small number appears next to a menu item, it is telling you something needs attention. You can always find out what.

  • Hover the number and it says what it is about, in words.
  • Open that menu and the entry inside it that caused the number carries the same number. A count on a parent is always the total of counts you can actually click through to — it will never show you a figure that nothing inside accounts for.
  • Follow it and the page opens pointing at the thing itself: the row, card or block is brought into view and ringed, so you are looking at it instead of hunting for it.

The ring disappears by itself after a few seconds, or as soon as you click anything — there is nothing to dismiss. If you work by keyboard, the item also receives focus, and a screen reader announces what was found.