# Archived Documentation Repository
# Documentation Covering Installer 2023-02.02 CLI Only.
[element-on-premise-documentation (2).pdf](https://ems-docs.element.io/attachments/4)
# Documentation Covering Installers From 2022.10.01 to 2023.02.01
[element-on-premise-documentation.pdf](https://ems-docs.element.io/attachments/3)
# Documentation Covering Installers From 2022.07.03 to 2022.09.05
[element-on-premise-documentation-0703-0905.pdf](https://ems-docs.element.io/attachments/2)
# Documentation covering v1 and installers prior to 2022-07.03
[element-on-premise-documentation-july28-2022.pdf](https://ems-docs.element.io/attachments/1)
# Setting Up Chatterbox
# N.B. Chatterbox has been discontinued. This documentation is internal to Element only and exists as a historical record.
## What is Chatterbox?
Chatterbox allows for the embedding of a light-weight matrix-based chat client into any standard website. Chatterbox can be configured in two main modes:
- **Invite mode**: A user interacting with a "chatterbox" is assigned a guest account and placed into a room on a homeserver. In this mode, one specifies a list of agents who should be monitoring these chats and these users are notified of the new guest account and invited into the same room. In this manner, customers can have agents staffing chat requests through Chatterbox.
- **Join room mode**: In this mode, "chatterbox" joins an existing room on a homeserver and anyone visiting the webpage with this "chatterbox" can see the chat in the room and interact with the room. This is good for chat that runs alongside a video presentation for instance.
## How to set up Chatterbox
Copy `config-sample/chatterbox/chatterbox.yml.sample` into a file called `chatterbox/chatterbox.yml` in your configuration directory.
Create a certificate for the fqdn of chatterbox (chatterbox.example) and add that PEM based .crt/.key pair to your certs/ directory.
Edit the values of `chatterbox/chatterbox.yml` and set the following:
- `username_prefix`: This defaults to chatters, but you can change this.
- `chatterbox_fqdn`: Set the fqdn for the chatterbox service.
- `operating_mode`: Set this to `JoinRoom` to have your Chatterbox instance join a specific room on startup. Set this to `Invite` mode if each client session of cahtterbox should have its own room.
- If using `JoinRoom` : Define `auto_join_room`: The room the operator bot should join automatically. Use the ID of the room. To get it, on element, open room settings on the right panel, Advanced. You must provide the ID of the room and not the published address. Room IDs will look similar to: `!bYSJwxpJxShZVjoSoF:local`
- If using `Invite` : Define `bot_operator_username`: The name of the bot inviting responders
- `header_title`: The name of Chatterbox widget
- `header_avatar`: The icon of the Chatterbox widget
- `encrypt_room`: `true` to enable Chatterbox rooms encryption. Else, `false`.
- `bot_data_size`: The size of the bot directory.
- `bot_data_path`: The bot data path on the local machine, if deploying on microk8s.
- `max_users`: The maximum number of chatterbox users.
- `responders`: The list of the users which should respond to new chatterbox chats. Use the matrix address of each user.
- `should_avoid_offline_responders`: `true` to avoid inviting absent users. Else, `false`.
- `responder_group_router`: `all` invites all the responsders. `roundrobin` uses a round robin algorithm to fairly distribute invites. `random` chooses a random user from the list.
## Deploying Chatterbox to Your Website
On the website that you'd like chatterbox set up on, add the following code:
```html