diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 0da054764..9a97a7966 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,6 +1,6 @@
# Contributing to Overseerr
-All help is welcome and greatly appreciated. If you would like to contribute to the project the steps below can get you started:
+All help is welcome and greatly appreciated. If you would like to contribute to the project, the instructions below can get you started...
## Development
@@ -14,29 +14,31 @@ All help is welcome and greatly appreciated. If you would like to contribute to
### Getting Started
1. [Fork](https://help.github.com/articles/fork-a-repo/) the repository to your own GitHub account and then [clone](https://help.github.com/articles/cloning-a-repository/) it to your local device.
- ```
+
+ ```bash
git clone https://github.com/YOUR_USERNAME/overseerr.git
cd overseerr/
```
+
2. Add the remote upstream.
- ```
+ ```bash
git remote add upstream https://github.com/sct/overseerr.git
```
3. Create a new branch
- ```
+ ```bash
git checkout -b BRANCH_NAME develop
```
- - Its recommended to name the branch something relevant to the feature or fix you are working on.
+ - It is recommended to name the branch something relevant to the feature or fix you are working on.
- An example of this would be `fix-title-cards` or `feature-new-system`.
- Bad examples would be `patch` or `bug`.
4. Run development environment
- ```
+ ```bash
yarn
yarn dev
```
@@ -47,9 +49,9 @@ All help is welcome and greatly appreciated. If you would like to contribute to
6. Follow the [guidelines](#contributing-code).
-7. Should you need to update your fork you can do so by rebasing from upstream.
+7. Should you need to update your fork, you can do so by rebasing from `upstream`:
- ```
+ ```bash
git fetch upstream
git rebase upstream/develop
git push origin BRANCH_NAME -f
@@ -61,18 +63,36 @@ All help is welcome and greatly appreciated. If you would like to contribute to
- All commits **must** follow [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/)
- It is okay if you squash your PR down to be a single commit that fits this standard.
- PRs with commits not following this standard will not be merged.
-- Please make meaningful commits, or squash them
-- Always rebase your commit to the latest `develop` branch. Do not merge develop into your branch.
-- It is your responsibility to keep your branch up to date. It will not be merged unless its rebased off the latest develop branch.
-- You can create a Draft pull request early to get feedback on your work.
+- Please make meaningful commits, or squash them.
+- Always rebase your commit to the latest `develop` branch. Do not merge `develop` into your branch.
+- It is your responsibility to keep your branch up to date. It will not be merged unless its rebased off the latest `develop` branch.
+- You can create a "draft" pull request early to get feedback on your work.
- Your code must be formatted correctly or the tests will fail.
- - We use Prettier to format our codebase. It should auto run with a git hook, but its recommended to have a Prettier extension installed in your editor and have it format on save.
+ - We use Prettier to format our codebase. It should automatically run with a `git` hook, but it is recommended to have the Prettier extension installed in your editor and format on save.
- If you have questions or need help, you can reach out in [GitHub Discussions](https://github.com/sct/overseerr/discussions) or in our [Discord](https://discord.gg/PkCWJSeCk7).
-- Only open pull requests to `develop`. Never `master`. Any PR's opened to master will be closed.
+- Only open pull requests to `develop`. Never `master`. Any PRs opened to `master` will be closed.
+
+### UI Text Style
+
+When adding new UI text, please be sure to adhere to the following guidelines:
+
+1. Be concise and clear, and use as few words as possible to make your point.
+2. Use the Oxford comma where appropriate.
+3. Use the appropriate Unicode characters for ellipses, arrows, and other special characters/symbols.
+4. Capitalize proper nouns, such as Plex, Radarr, Sonarr, Telegram, Slack, Pushover, etc. Be sure to also use the official capitalization for any abbreviations; e.g., TMDb and IMDb have a lowercase 'b', whereas TheTVDB has a capital 'B'.
+5. Title case headings, button text, and form labels. Note that verbs such as "is" should be capitalized, whereas prepositions like "from" should be lowercase (unless as the first or last word of the string, in which case they are also capitalized).
+6. Capitalize the first word in validation error messages, dropdowns, and form "tips." These strings should not end in punctuation.
+7. Ensure that toast notification strings are complete sentences ending in punctuation.
+8. If an additional description or "tip" is required for a form field, it should be styled using the global CSS class `label-tip`.
+9. In full sentences, abbreviations like "info" or "auto" should not be used in place of full words, unless referencing the name/label of a specific setting or option which has an abbreviation in its name.
+10. Do your best to check for spelling errors and grammatical mistakes.
+11. Do not misspell "Overseerr."
## Translation
-We use [Weblate](https://hosted.weblate.org/engage/overseerr/) for our translations so please feel free to contribute to localizing Overseerr!
+We use [Weblate](https://hosted.weblate.org/engage/overseerr/) for our translations, and your help with localizing Overseerr would be greatly appreciated! If your language is not listed below, please [open a feature request on GitHub](https://github.com/sct/overseerr/issues/new/choose).
+
+
## Attribution
diff --git a/README.md b/README.md
index 8932b1994..fda735b78 100644
--- a/README.md
+++ b/README.md
@@ -6,43 +6,34 @@
-
-
-
-
-
-
-
+
+
+
-
+
-**Overseerr** is a free and open source software application for managing requests for your media library. It integrates with your existing services such as **[Sonarr](https://sonarr.tv/)**, **[Radarr](https://radarr.video/)** and **[Plex](https://www.plex.tv/)**!
+**Overseerr** is a free and open source software application for managing requests for your media library. It integrates with your existing services, such as **[Sonarr](https://sonarr.tv/)**, **[Radarr](https://radarr.video/)**, and **[Plex](https://www.plex.tv/)**!
## Current Features
-- Full Plex integration. Login and manage user access with Plex!
-- Easy integration with your existing services. Currently Overseerr supports Sonarr and Radarr. More to come!
-- Plex libraries sync to know what titles you already have.
-- Complex request system allowing users to request individual seasons or movies in a friendly, easy to use UI.
+- Full Plex integration. Authenticate and manage user access with Plex!
+- Easy integration with your existing services. Currently, Overseerr supports Sonarr and Radarr. More to come!
+- Plex library sync, to keep track of the titles which are already available.
+- Customizable request system, which allows users to request individual seasons or movies in a friendly, easy-to-use interface.
- Incredibly simple request management UI. Don't dig through the app to simply approve recent requests!
- Granular permission system.
+- Support for various notification agents.
- Mobile-friendly design, for when you need to approve requests on the go!
-## In Development
-
-- User profiles.
-- User settings page (to give users the ability to modify their Overseerr experience to their liking).
-- Local user system (for those who don't use Plex).
-
## Planned Features
-- More notification types.
+- Additional notification types.
- Issues system. This will allow users to report issues with content on your media server.
-- And a ton more! Check out our [issue tracker](https://github.com/sct/overseerr/issues) to see what features people have already requested.
+- And a ton more! Check out our [issue tracker](https://github.com/sct/overseerr/issues) to see the features which have already been requested.
## Getting Started
@@ -52,7 +43,7 @@ https://docs.overseerr.dev/getting-started/installation
## Running Overseerr
-Currently, Overseerr is primarily distributed as Docker images. If you have Docker, you can run Overseerr with:
+Currently, Overseerr is primarily distributed as Docker images. If you have Docker installed, you can simply run Overseerr with:
```
docker run -d \
@@ -64,7 +55,9 @@ docker run -d \
sctx/overseerr
```
-After running Overseerr for the first time, configure it by visiting the web UI at http://[address]:5055 and completing the setup steps.
+After running Overseerr for the first time, configure it by visiting the web UI at http://[address]:5055 and completing the setup steps
+
+For more information or alternative installation methods, please see the [Overseerr documentation](https://docs.overseerr.dev/getting-started/installation).
⚠️ Overseerr is currently under very heavy, rapid development and things are likely to break often. We need all the help we can get to find bugs and get them fixed to hit a more stable release. If you would like to help test the bleeding edge, please use the `sctx/overseerr:develop` image instead! ⚠️
@@ -83,19 +76,19 @@ After running Overseerr for the first time, configure it by visiting the web UI
Our documentation is built on every commit and hosted at https://api-docs.overseerr.dev
-Also, you can access the API docs by running Overseerr locally and visiting http://localhost:5055/api-docs
+You can also access the API documentation from your local Overseerr install at http://localhost:5055/api-docs
## Community
You can ask questions, share ideas, and more in [GitHub Discussions](https://github.com/sct/overseerr/discussions).
-If you would like to chat with community members you can join the [Overseerr Discord](https://discord.gg/PkCWJSeCk7).
+If you would like to chat with other members of our growing community, [join the Overseerr Discord server](https://discord.gg/PkCWJSeCk7)!
Our [Code of Conduct](https://github.com/sct/overseerr/blob/develop/CODE_OF_CONDUCT.md) applies to all Overseerr community channels.
## Contributing
-You can help build Overseerr too! Check out our [Contribution Guide](https://github.com/sct/overseerr/blob/develop/CONTRIBUTING.md) to get started.
+You can help improve Overseerr too! Check out our [Contribution Guide](https://github.com/sct/overseerr/blob/develop/CONTRIBUTING.md) to get started.
## Contributors ✨
diff --git a/docs/README.md b/docs/README.md
index ea46f76a4..a55645308 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -19,4 +19,6 @@ The primary motivation for starting this project was to have an incredibly perfo
## We need your help!
-Overseerr is an ambitious project. We have already poured a lot of work into this, with more coming. We need your valuable feedback and help with finding bugs. Also, being that this is an open-source project, anyone is welcome to contribute. Contribution includes building features, patching bugs, or even translating the application. You can find the contribution guide on our GitHub.
+Overseerr is an ambitious project. We have already poured a lot of work into this, and have a lot more to do. We need your valuable feedback and help to find and fix bugs. Also, with Overseerr being an open-source project, anyone is welcome to contribute. Contribution includes building new features, patching bugs, translating the application, or even just writing documentation.
+
+If you would like to contribute, please be sure to review our [contribution guidelines](https://github.com/sct/overseerr/blob/develop/CONTRIBUTING.md).
diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md
index 4a25b6785..0dc3de7c5 100644
--- a/docs/SUMMARY.md
+++ b/docs/SUMMARY.md
@@ -1,4 +1,4 @@
-# Table of contents
+# Table of Contents
- [Introduction](README.md)
@@ -13,10 +13,10 @@
## Support
-- [Frequently Asked Questions](support/faq.md)
+- [Frequently Asked Questions (FAQ)](support/faq.md)
- [Asking for Support](support/asking-for-support.md)
## Extending Overseerr
-* [Reverse Proxy Examples](extending-overseerr/reverse-proxy-examples.md)
-* [Fail2ban Filter](extending-overseerr/fail2ban.md)
+- [Reverse Proxy Examples](extending-overseerr/reverse-proxy-examples.md)
+- [Fail2ban Filter](extending-overseerr/fail2ban.md)
diff --git a/docs/extending-overseerr/fail2ban.md b/docs/extending-overseerr/fail2ban.md
index 14ffd974b..4f6b7e16b 100644
--- a/docs/extending-overseerr/fail2ban.md
+++ b/docs/extending-overseerr/fail2ban.md
@@ -11,4 +11,4 @@ To use Fail2ban with Overseerr, create a new file named `overseerr.local` in you
failregex = .*\[info\]\[Auth\]\: Failed login attempt.*"ip":""
```
-You can then add a jail using this filter in `jail.local`. Please see the [Fail2ban documetation](https://www.fail2ban.org/wiki/index.php/MANUAL_0_8#Jails) for details on how to configure the jail.
\ No newline at end of file
+You can then add a jail using this filter in `jail.local`. Please see the [Fail2ban documetation](https://www.fail2ban.org/wiki/index.php/MANUAL_0_8#Jails) for details on how to configure the jail.
diff --git a/docs/extending-overseerr/reverse-proxy-examples.md b/docs/extending-overseerr/reverse-proxy-examples.md
index 609d017c9..8fa120ee9 100644
--- a/docs/extending-overseerr/reverse-proxy-examples.md
+++ b/docs/extending-overseerr/reverse-proxy-examples.md
@@ -4,15 +4,11 @@
Base URLs cannot be configured in Overseerr. With this limitation, only subdomain configurations are supported.
{% endhint %}
-## LE/SWAG
+## [SWAG (Secure Web Application Gateway, formerly known as `letsencrypt`)](https://github.com/linuxserver/docker-swag)
-### Subdomain
+A sample proxy configuration is included in SWAG. However, this page is still the only source of truth, so the SWAG sample configuration is not guaranteed to be up-to-date. If you find an inconsistency, please [report it to the LinuxServer team](https://github.com/linuxserver/reverse-proxy-confs/issues/new) or [submit a pull request to update it](https://github.com/linuxserver/reverse-proxy-confs/pulls).
-A sample is bundled in SWAG. This page is still the only source of truth, so the sample is not guaranteed to be up to date. If you catch an inconsistency, report it to the linuxserver team, or do a pull-request against the proxy-confs repository to update the sample.
-
-Rename the sample file `overseerr.subdomain.conf.sample` to `overseerr.subdomain.conf` in the `proxy-confs`folder, or create `overseerr.subdomain.conf` in the same folder with the example below.
-
-Example Configuration:
+To use the bundled configuration file, simply rename `overseerr.subdomain.conf.sample` in the `proxy-confs` folder to `overseerr.subdomain.conf`. Alternatively, create a new file `overseerr.subdomain.conf` in `proxy-confs` with the following configuration:
```nginx
server {
@@ -41,11 +37,7 @@ server {
## Traefik \(v2\)
-Add the labels to the Overseerr service in your `docker-compose` file. A basic example for a `docker-compose` file using Traefik can be found [here](https://doc.traefik.io/traefik/user-guides/docker-compose/basic-example/).
-
-### Subdomain
-
-Example Configuration:
+Add the following labels to the Overseerr service in your `docker-compose.yml` file:
```text
labels:
@@ -59,31 +51,11 @@ labels:
- "traefik.http.services.overseerr-svc.loadbalancer.server.port=5055"
```
-## LE/NGINX
-
-### Subdomain
-
-Take the configuration below and place it in `/etc/nginx/sites-available/overseerr.example.com.conf`.
-
-Create a symlink to `/etc/nginx/sites-enabled`:
-
-```text
-sudo ln -s /etc/nginx/sites-available/overseerr.example.com.conf /etc/nginx/sites-enabled/overseerr.example.com.conf
-```
-
-Test the configuration:
-
-```text
-sudo nginx -t
-```
-
-Reload your configuration for NGINX:
+For more information, see the Traefik documentation for a [basic example](https://doc.traefik.io/traefik/user-guides/docker-compose/basic-example/).
-```text
-sudo systemctl reload nginx
-```
+## `nginx`
-Example Configuration:
+Add the following configuration to a new file `/etc/nginx/sites-available/overseerr.example.com.conf`:
```text
server {
@@ -133,3 +105,21 @@ server {
}
}
```
+
+Then, create a symlink to `/etc/nginx/sites-enabled`:
+
+```bash
+sudo ln -s /etc/nginx/sites-available/overseerr.example.com.conf /etc/nginx/sites-enabled/overseerr.example.com.conf
+```
+
+Next, test the configuration:
+
+```bash
+sudo nginx -t
+```
+
+Finally, reload `nginx` for the new configuration to take effect:
+
+```bash
+sudo systemctl reload nginx
+```
diff --git a/docs/support/asking-for-support.md b/docs/support/asking-for-support.md
index eecfc2c61..2743827ed 100644
--- a/docs/support/asking-for-support.md
+++ b/docs/support/asking-for-support.md
@@ -1,34 +1,33 @@
# Asking for Support
-## Before asking for support, make sure you try these things first
+## Before Asking for Support
-* Make sure you have **updated** to the latest version.
-* ["Have you tried turning it off and on again?"](https://www.youtube.com/watch?v=nn2FB1P_Mn8)
-* **Analyzing** your logs, you just might find the solution yourself!
-* **Search** the [Wiki](../), [Installation Guides](../getting-started/installation.md), and [FAQs](faq.md).
-* If you have questions, feel free to ask them on [Discord](https://discord.gg/PkCWJSeCk7) \(Please review our [Code of Conduct](https://github.com/sct/overseerr/blob/develop/CODE_OF_CONDUCT.md)\). Please include a link to your logs. See [How can I share my logs?](asking-for-support.md#how-can-i-share-my-logs) for more details.
+Before seeking help, please make sure you have tried these following first:
+
+- **Update** to the latest version.
+- ["Have you tried turning it off and on again?"](https://www.youtube.com/watch?v=nn2FB1P_Mn8)
+- **Analyze** your logs, you just might find the solution yourself!
+- **Search** the [Wiki](../), [Installation Guides](../getting-started/installation.md), and [FAQs](faq.md).
+- If you have questions, feel free to ask on [Discord](https://discord.gg/PkCWJSeCk7) \(Please review our [Code of Conduct](https://github.com/sct/overseerr/blob/develop/CODE_OF_CONDUCT.md).\) Be sure to include a link to your logs. See [How can I share my logs?](asking-for-support.md#how-can-i-share-my-logs) below.
## What should I include when asking for support?
-When you contact support saying something like "it doesn't work" leaves little to go on to figure out what is wrong for you. When contacting support try to include information such as the following:
+When you contact support, a vague statement like "it doesn't work" leaves little to go on to figure out what is wrong for you. When contacting support, try to include as much information as possible. Try to answer the following questions:
-* What did you try to do? When you describe what you did to reach the state you are in we may notice something you did different from the instructions, or something that your unique setup requires in addition. Some examples of what to provide here:
- * What command did you enter?
- * What did you click on?
- * What settings did you change?
- * Provide a step-by-step list of what you tried.
-* What do you see? We cannot see your screen so some of the following is necessary for us to know what is going on:
- * Did something happen?
- * Did something not happen?
- * Are there any error messages showing?
- * Screenshots can help us see what you are seeing
- * The Overseerr logs show exactly what happened and are often critical for identifying issues \(see [How can I share my logs?](asking-for-support.md#how-can-i-share-my-logs) below\).
+- What did you try to do? When you describe what you did to reach the state you are in, we may notice something you did differently from the official instructions, or something required by your unique setup. The following are questions that should be answered in your request:
+ - What command did you enter?
+ - What did you click on?
+ - What settings did you change?
+ - Provide a step-by-step list of what you tried.
+- What do you see? We cannot see your screen so some of the following is necessary for us to know what is going on:
+ - Did something happen?
+ - Did something not happen?
+ - Are there any error messages showing?
+ - Provide screenshots to help us see what you are seeing.
+ - Share your Overseerr logs, which show exactly what happened and are often critical for identifying issues \(see [How can I share my logs?](asking-for-support.md#how-can-i-share-my-logs) below\).
## How can I share my logs?
-First you will need to gather your logs from the install directory.
-
-1. Collect the log file from `/logs/overseerr.log`
-2. Open the log file and **upload the text** by going to [gist.github.com](https://gist.github.com/) and creating a new secret Gist of the contents.
-3. **Share the link** with support in [Discord](https://discord.gg/PkCWJSeCk7) by copying the URL of the page.
-
+1. Locate the log file at `/logs/overseerr.log`
+2. Open the log file and **copy its contents** into a [**secret gist** on GitHub](https://gist.github.com/). If you upload your logs elsewhere, we may ask you to share them again via GitHub Gist.
+3. **Share the link/URL to your secret gist** in the [`#support` channel in our Discord server](https://discord.gg/PkCWJSeCk7).
diff --git a/docs/support/faq.md b/docs/support/faq.md
index d78311059..0fd6938f2 100644
--- a/docs/support/faq.md
+++ b/docs/support/faq.md
@@ -1,4 +1,4 @@
-# Frequently Asked Questions
+# Frequently Asked Questions (FAQ)
{% hint style="info" %}
If you can't find a solution here, please ask on [Discord](https://discord.gg/PkCWJSeCk7). Please do not post questions on the GitHub issues tracker.
@@ -40,7 +40,7 @@ The most secure method, but also the most inconvenient, is to set up a VPN tunne
**Troubleshooting Steps:**
-Check the Overseerr logs for media items that are missing. The logs will contain an error as to why that item could not be matched. One example might be `errorMessage":"SQLITE_CONSTRAINT: NOT NULL`. This means that the TMDb ID is missing from the Plex XML for that item.
+First, check the Overseerr logs for media items that are missing. The logs will contain an error as to why that item could not be matched. One example might be `errorMessage":"SQLITE_CONSTRAINT: NOT NULL`. This means that the TMDb ID is missing from the Plex XML for that item.
1. Verify that you are using one of the agents mentioned above.
2. Refresh the metadata for just that item.
@@ -48,17 +48,15 @@ Check the Overseerr logs for media items that are missing. The logs will contain
4. If the item is now seen by Overseerr then repeat step 2 for each missing item. If you have a large amount of items missing then a full metadata refresh is recommended for that library.
5. Run a full scan on Overseerr after refreshing all unmatched items.
-Perform these steps to verify the media item has a guid Overseerr can match.
+You can also perform the following to verify the media item has a GUID Overseerr can match:
1. Go to the media item in Plex and **"Get info"** and click on **"View XML"**.
-2. Verify that the media item has the same format of one of the examples below.
+2. Verify that the media item's GUID follows one of the below formats:
-**Examples:**
-
-1. TMDb agent `guid="com.plexapp.agents.themoviedb://1705"`
-2. New Plex Movie agent ``
-3. TheTVDB agent `guid="com.plexapp.agents.thetvdb://78874/1/1"`
-4. Legacy Plex Movie agent `guid="com.plexapp.agents.imdb://tt0765446"`
+ 1. TMDb agent `guid="com.plexapp.agents.themoviedb://1705"`
+ 2. New Plex Movie agent ``
+ 3. TheTVDB agent `guid="com.plexapp.agents.thetvdb://78874/1/1"`
+ 4. Legacy Plex Movie agent `guid="com.plexapp.agents.imdb://tt0765446"`
### TV series requests are failing after I updated Overseerr!
@@ -68,7 +66,7 @@ Perform these steps to verify the media item has a guid Overseerr can match.
**A:** The logs are located at `/logs/overseerr.log`
-## User Management
+## User management
### Why can't I see all my Plex users?
@@ -88,12 +86,12 @@ Perform these steps to verify the media item has a guid Overseerr can match.
**A:** Check the minimum availability setting in your Radarr server. If a movie does not meet the minimum availability requirement, no search will be performed. Also verify that Radarr did not perform a search, by checking the Radarr logs. Lastly, verify that the item was not already being monitored by Radarr prior to approving the request.
-### Help! My request still shows "requested" even though it's in Plex!?!
+### Help! My request still shows "requested" even though it is in Plex!
**A:** See "[Some media is missing from Overseerr that I know is in Plex!](./faq.md#some-media-is-missing-from-overseerr-that-i-know-is-in-plex)" for troubleshooting steps.
## Notifications
-### I am getting "Username and Password not accepted" when sending email notifications to gmail!
+### I am getting "Username and Password not accepted" when attempting to send email notifications via Gmail!
-**A:** If you have 2-Step Verification enabled on your account you will need to create an app password. More details can be found [here](https://support.google.com/mail/answer/185833).
+**A:** If you have 2-Step Verification enabled on your account, you will need to create an [app password](https://support.google.com/mail/answer/185833).
diff --git a/docs/using-overseerr/notifications/README.md b/docs/using-overseerr/notifications/README.md
index 8cb53c427..3f13c0a90 100644
--- a/docs/using-overseerr/notifications/README.md
+++ b/docs/using-overseerr/notifications/README.md
@@ -16,14 +16,14 @@ Overseerr already supports a good number of notification agents, such as **Disco
Configuring your notifications is _very simple_. First, you will need to visit the **Settings** page and click **Notifications** in the menu. This will present you with all of the currently available notification agents. Click on each one individually to configure them.
-You must configure which type of notifications you want to send _per agent_. If no types are selected, you will not receive any notifications!
+You must configure which type of notifications you want to send _per agent_. If no types are selected, you will not receive notifications!
-Some agents may have specific configuration gotchas that will be covered in each notification agents documentation page.
+Some agents may have specific configuration "gotchas" covered in their documentation pages.
{% hint style="danger" %}
-Currently, you will **not receive notifications** for any auto-approved requests. However, you will still receive a notification when the media becomes available.
+You will **not receive notifications** for any automatically approved requests unless the "Enable Notifications for Automatic Approvals" setting is enabled.
{% endhint %}
-## Requesting new agents
+## Requesting New Notification Agents
-If we do not currently support a notification agent you would like, feel free to request it on our [GitHub Issues](https://github.com/sct/overseerr/issues). Make sure to search first to see if someone else already requested it!
+If we do not currently support a notification agent you would like, feel free to request it on [GitHub](https://github.com/sct/overseerr/issues). However, please be sure to search first and confirm that there is not already an existing request for the agent!
diff --git a/docs/using-overseerr/notifications/webhooks.md b/docs/using-overseerr/notifications/webhooks.md
index 16f1b828f..7adbc24a2 100644
--- a/docs/using-overseerr/notifications/webhooks.md
+++ b/docs/using-overseerr/notifications/webhooks.md
@@ -6,7 +6,7 @@ Webhooks let you post a custom JSON payload to any endpoint you like. You can al
The following configuration options are available:
-### Webhook URL (Required)
+### Webhook URL (required)
The URL you would like to post notifications to. Your JSON will be sent as the body of the request.
@@ -14,22 +14,20 @@ The URL you would like to post notifications to. Your JSON will be sent as the b
Custom authorization header. Anything entered for this will be sent as an `Authorization` header.
-### Custom JSON Payload (Required)
+### JSON Payload (required)
-Design your JSON payload as you see fit. JSON is validated before you can save or test. Overseerr provides several [template variables](./webhooks.md#template-variables) for use in the payload which will be replaced with actual values when the notifications are sent.
-
-You can always reset back to the default custom payload setting by clicking the `Reset to Default JSON Payload` button under the editor.
+Customize the JSON payload to suit your needs. Overseerr provides several [template variables](./webhooks.md#template-variables) for use in the payload, which will be replaced with the relevant data when the notifications are triggered.
## Template Variables
-### Main
+### General
- `{{notification_type}}` The type of notification. (Ex. `MEDIA_PENDING` or `MEDIA_APPROVED`)
- `{{subject}}` The notification subject message. (For request notifications, this is the media title)
- `{{message}}` Notification message body. (For request notifications, this is the media's overview/synopsis)
- `{{image}}` Associated image with the request. (For request notifications, this is the media's poster)
-### Notify User
+### User
These variables are usually the target user of the notification.
@@ -49,10 +47,10 @@ These variables are only included in media related notifications, such as reques
- `{{media_status}}` Media's availability status (e.g., `AVAILABLE` or `PENDING`).
- `{{media_status4k}}` Media's 4K availability status (e.g., `AVAILABLE` or `PENDING`).
-### Special Key Variables
+### Special
-These variables must be used as a key in the JSON Payload. (Ex, `"{{extra}}": []`).
+The following variables must be used as a key in the JSON payload (e.g., `"{{extra}}": []`).
-- `{{extra}}` This will override the value of the property to be the pre-formatted "extra" array that can come along with certain notifications. Using this variable is _not required_.
-- `{{media}}` This will override the value of the property to `null` if there is no media object passed along with the notification.
-- `{{request}}` This will override the value of the property to `null` if there is no request object passed along with the notification.
+- `{{request}}` This object will be `null` if there is no relevant request object for the notification.
+- `{{media}}` This object will be `null` if there is no relevant media object for the notification.
+- `{{extra}}` This object will contain the "extra" array of additional data for certain notifications.