> ## Documentation Index
> Fetch the complete documentation index at: https://docs.assetinfinity.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Notifications

> Who is told what, on which channel, and whether anything actually arrived.

<img src="https://mintcdn.com/assetinfinity/95UxrhuglB-erOSy/images/admin/notification-settings.png?fit=max&auto=format&n=95UxrhuglB-erOSy&q=85&s=f3acbb9fea9b037e17389e7e1f9328ec" alt="The notification settings screen" width="2880" height="4226" data-path="images/admin/notification-settings.png" />

## A notification needs two things

Both, or nothing is sent:

1. A **subscription** — somebody is signed up to this event on this channel.
2. A **published template** — for that event, on that channel.

Either alone sends nothing. A subscription with no template has nothing to render; a template with
no subscriber renders for nobody. And both look perfectly healthy on their own list, which is why
this screen shows them together.

## The third failure nothing else can see

An audience that names a role **nobody holds**.

The subscription is right, the template is right, and the fan-out drops the message with nothing to
send it to. So this screen judges each pairing on **what was actually delivered** rather than on
what the rows imply.

If a pairing shows subscribers and templates but no deliveries, that is what has happened.

## The events

| Event                      | Sent when                                                     |
| -------------------------- | ------------------------------------------------------------- |
| **SLA at risk**            | A job is approaching its service-level promise                |
| **SLA breached**           | It has passed it                                              |
| **Contract expiring**      | A contract is approaching its end date                        |
| **Certification expiring** | Somebody's ticket is about to lapse                           |
| **Tool calibration due**   | An instrument is approaching its calibration date             |
| **Comment added**          | Somebody commented on a record you are on                     |
| **Report delivered**       | A scheduled [report](/analytics/reports) has run and is ready |

The report email names whose access answered it, because a scheduled report runs as its author
rather than as each recipient — without that sentence, two people comparing their copies would read
the difference as a fault in the figures.

## Channels

**Email** and **push**. Push reaches the [field app](/field/overview) on a handset; email reaches an
inbox. Some events are worth both — an SLA breach — and some only one.

## Audiences

Who gets told, expressed as a role or a relationship rather than a list of names:

* **The assignee** — whoever is on the job now, which stays right when it is reassigned.
* **A role** — every planner, every supervisor.
* **The requester** — whoever reported it.

Naming roles rather than people is what stops a notification quietly stopping when somebody leaves.

## Templates

The subject and body that gets sent, per event, per channel. Templates carry the record's own fields,
so a message can say *which* job breached rather than that one did.

Templates are versioned and published, like [state models](/config/statuses) and
[inspection templates](/config/inspections).

## Checking it works

The delivery view shows what was actually sent, to whom, when, and what happened. This is the screen
to open when somebody says they are not getting notified — the answer is usually a missing template,
or an audience naming a role nobody holds.


## Related topics

- [Finding your way around](/get-started/navigating.md)
- [Inside a vendor](/commercial/vendor-detail.md)
- [Contracts](/commercial/contracts.md)
- [The Sync Center](/field/sync-center.md)
- [Maintenance due](/work/maintenance-due.md)
