---
title: "Rocket Chat Room Event Interfaces"
slug: "room-event-interfaces"
description: "Learn how to use room event interfaces in Rocket Chat. Enable secure collaboration across channels and groups."
updated: 2026-02-03T06:56:11Z
published: 2026-02-03T06:56:11Z
---

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

# Room - Event Interfaces

The table below lists the room-related events and their purposes. If you want to execute actions based on room events, you can use any of the events mentioned below as an event interface. For further details, you can refer to the [Apps-Engine TypeScript definition](https://rocketchat.github.io/Rocket.Chat.Apps-engine/interfaces/rooms_IPostRoomCreate.IPostRoomCreate.html).

Check out the examples for some of the event interfaces [here](https://github.com/cabaceira/ps-event-interfaces-app).

| Interface | Description |
| --- | --- |
| `IPostRoomCreate` | Handler after a room is created. |
| `IPostRoomDeleted` | Handler after a room is deleted. |
| `IPostRoomUserJoined` | Allows an app to register as a handler of the `IPostRoomUserJoined` event. This event is triggered after a user successfully joins a room. This event does not allow an app to prevent any action from happening. For that, see the `IPreRoomUserJoined` interface. |
| `IPostRoomUserLeave` | Allows an app to register as a handler of the `IPostRoomUserLeave` event. This event is triggered after a user successfully leaves a room. This event does not allow an app to prevent any action from happening. For that, see the `IPreRoomUserLeave` interface. |
| `IPreRoomCreateExtend` | Handler called when an app wants to extend a room. |
| `IPreRoomCreateModify` | ​​Handler called when an app wants to modify a room. |
| `IPreRoomCreatePrevent` | Handler called when an app wants to prevent the creation of a room. |
| `IPreRoomDeletePrevent` | Handler called when an app wants to prevent a room from being deleted. |
| `IPreRoomUserJoined` | Allows an app to register as a handler of the `IPreRoomUserJoined` event. This event is triggered before a user successfully joins a room. To prevent the user from executing such an action, an app should throw the `UserNotAllowedException`. This event is not triggered before a room has been created. For that, check the `IPreRoomCreate` event. |
| `IPreRoomUserLeave` | Allows an app to register as a handler of the `IPreRoomUserLeave` event. This event is triggered before a user successfully leaves a room. To prevent the user from executing such an action, an app should throw the `UserNotAllowedException`. This event is not triggered before a room has been created. For that, check the `IPreRoomCreate` event. |
