# `Ash.Notifier`
[🔗](https://github.com/ash-project/ash/blob/v3.17.0/lib/ash/notifier/notifier.ex#L5)

A notifier is an extension that receives various events

# `notify`

```elixir
@callback notify(Ash.Notifier.Notification.t()) :: :ok
```

# `requires_original_data?`

```elixir
@callback requires_original_data?(Ash.Resource.t(), Ash.Resource.Actions.action()) ::
  boolean()
```

# `notify`

```elixir
@spec notify([Ash.Notifier.Notification.t()] | Ash.Notifier.Notification.t()) :: [
  Ash.Notifier.Notification.t()
]
```

Sends any notifications that can be sent, and returns the rest.

A notification can only be sent if you are not currently in a transaction
for the resource in question.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
