# Adding a service The available services are stored in the [ServicesList.js](../store/ServicesList.js). Structure of a service entry: | Name | Description | Required | | ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------- | | id | Unique identifier for the service, e.g. "**slack**" | yes | | logo | File name of the service logo located in `/resources/icons/`, e.g. "**slack.png**" | yes | | name | Visible name for the service, e.g. "**Slack**" | yes | | description | A short description of the service, e.g. "**Slack brings all your communication together...**" | yes | | url | URL of the service, e.g. "". "\_\_\_" may be used as a placeholder, that can be configured when adding a service. | yes | | type | Defines the type of the service. Must be one of `email` or `messaging`. | yes | | allow_popups | Set to `true` to allow popup windows for the service. | no | | note | Additional info to display when adding the service. | no | | manual_notifications | Set to `true` to let Rambox trigger notifications. Can be used for services that doesn't support browser notifications. | no | | js_unread | JavaScript code for setting the unread count (see below). | no | | dont_update_unread_from_title | Set to `true` to prevent updating the unread count from the window title (see below). | no | ## Setting the unread count While there is also a way to set the unread count by adding `(COUNT)` to the window title, this describes the preferred way of doing it: First set `dont_update_unread_from_title` in the service config to `true`. Code provided by `js_unread` will be injected into the service website. You can retrieve the unread count in this JavaScript code e.g. by parsing elements. Set the unread count by calling `rambox.setUnreadCount(COUNT)` or clear it by calling `rambox.clearUnreadCount()`.