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

# Station notifications

> Get an ntfy message whenever Station receives a snapshot.

Station can post to an [ntfy](https://ntfy.sh) topic each time it finishes storing an upload. Storage can fail at that point too, so a message isn't proof of success. Uploads rejected earlier, for example by a checksum mismatch, send nothing. A failed notification never blocks Station.

<Note>
  Scout has separate notification settings that fire when an upload succeeds from Scout's side. See [Scout notifications](/scout/notifications). Use either or both.
</Note>

## Set up

<Steps>
  <Step title="Open the dialog">
    In Station, click **Configure ntfy**.
  </Step>

  <Step title="Enter your server and topic">
    * **ntfy Server URL**: for example `https://ntfy.sh` or your own server.
    * **Topic**: for example `backups`.
  </Step>

  <Step title="Test and save">
    Click **Test** to send a sample message, then **Save**.
  </Step>
</Steps>

If your ntfy server uses a private CA, add it under [Trusted certificates](/shared/trusted-certificates).

## Only notify for some uploads

Leave these empty to be notified about every upload. Fill any of them to only notify when the upload matches **all** filled fields:

| Field | Matches |
| - | - |
| Match Scout ID | The sending Scout's `SCOUT_ID` |
| Match Instance ID | The sending Scout's instance ID |
| Match Source Address | The IP address the upload came from |

## Message template

The default message is:

```text theme={null}
Station received {{ scout_id }}/{{ scout_instance_id }} job {{ job_name }} from {{ advertised_url }} as {{ stored_as }}.
```

Write your own in **Message Template** using these placeholders. **Defaults** restores the default.

| Placeholder | Value |
| - | - |
| `{{ scout_id }}` | Name of the Scout that sent the upload |
| `{{ scout_instance_id }}` | Instance ID of the sending Scout |
| `{{ job_name }}` | Name of the backup job |
| `{{ advertised_url }}` | URL the Scout advertises to Station, if set |
| `{{ source_address }}` | IP address of the sending Scout |
| `{{ stored_as }}` | Filename as stored on Station |

Messages are sent with the header `X-Relay-Event: upload-received`.

## Unusual size alerts

When an archive's size is far from the job's usual size, Station also sends a separate high-priority alert with the reason. It uses the header `X-Relay-Event: unusual-upload`, follows the same match fields, and ignores the message template. See [Unusual sizes](/station/snapshots#unusual-sizes).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.