> For the complete documentation index, see [llms.txt](https://tochemey.gitbook.io/goakt/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://tochemey.gitbook.io/goakt/features/events-stream.md).

# Events Stream

To receive some system events and act on them for some particular business cases, you just need to call the actor system **`Subscribe`**. Make sure to **`Unsubscribe`** whenever the subscription is no longer needed to free allocated resources. The subscription methods can be found on the **`ActorSystem`** interface.

## **Supported events**

* [**`ActorStarted`**](https://github.com/Tochemey/goakt/blob/main/protos/goakt/goakt.proto): emitted when an actor has started
* [**`ActorStopped`**](https://github.com/Tochemey/goakt/blob/main/protos/goakt/goakt.proto): emitted when an actor has stopped
* [**`ActorPassivated`**](https://github.com/Tochemey/goakt/blob/main/protos/goakt/goakt.proto): emitted when an actor is passivated
* [**`ActorChildCreated`**](https://github.com/Tochemey/goakt/blob/main/protos/goakt/goakt.proto): emitted when a child actor is created
* [**`ActorRestarted`**](https://github.com/Tochemey/goakt/blob/main/protos/goakt/goakt.proto): emitted when an actor has restarted
* [**`ActorSuspended`**](https://github.com/Tochemey/goakt/blob/main/protos/goakt/goakt.proto): emitted when an actor has been suspended
* [**`ActorReinstated`**](https://github.com/Tochemey/goakt/blob/main/protos/goakt/goakt.proto#L94): emitted when an actor has been reinstated from its suspended state.
* [**`NodeJoined`**](https://github.com/Tochemey/goakt/blob/main/protos/goakt/goakt.proto): cluster event emitted when a node joins the cluster. This only happens when cluster mode is enabled
* [**`NodeLeft`**](https://github.com/Tochemey/goakt/blob/main/protos/goakt/goakt.proto): cluster event emitted when a node leaves the cluster. This only happens when cluster mode is enabled
* [**`Deadletter`**](https://github.com/Tochemey/goakt/blob/main/protos/goakt/goakt.proto): emitted when a message cannot be delivered or that were not handled by a given actor. Dead letters are automatically emitted when a message cannot be delivered to actors' mailbox or when an Ask times out. Also, one can emit dead letters from the receiving actor by using the **`ctx.Unhandled()`** method. This is useful instead of panicking when the receiving actor does not know how to handle a particular message. Dead letters are not propagated over the network, there are tied to the local actor system.

## Note

Events that are not handled will be dropped because there is no persistence layer or a replay mechanism. There are processed as they come into the stream.
