shinkro Configuration
Configure shinkro so it can work it's magic!
Connect your MyAnimeList Account
Go to Settings -> MyAnimeList Page
- Open the shinkro WebUI 
- Go to Settings -> MyAnimeList 

Copy the App Redirect URL

Create a client for accessing the MAL API on MyAnimeList.net
- Go to MAL API to create an ID. 
- Click on Create ID. 
App Information can be entered as follows:
App Name:
<Any that you wish>App Type:
webApp Description:
Sync watch status between Plex and MAL using the former's webhook and the latter's API. The goal is to not have to manually update how many episodes have been watched etc.App Redirect URL:
The App Redirect URL you copied previously, should be pasted here.
Example: https://shinkro.domain.com/malauth/callbackHomepage URL:
https://github.com/varoOP/shinkroApp Logo URL:
https://raw.githubusercontent.com/varoOP/shinkro/main/.github/images/logo.pngCommercial / Non-Commercial:
non-commercialName/ Company Name:
<Any that you wish>Purpose of Use:
hobbyistAgree to the API License and Developer agreement, if you wish to.
Then, click on Submit.
Return to the list of your API clients, and click on Edit for the one that you just created to get the Client ID and Client Secret.
Enter the Client ID and Client Secret & Login

Allow shinkro to access your MAL Account

Authentication Success


Connect your Plex Media Server
Go to Settings -> Plex

Authenticate with Plex
- Click on Authenticate with Plex to login using your Plex Account 
- Select your Plex Server from the dropdown 
- Choose an available Host 
- Pick your Anime Libraries from the list of libraries 
- Edit your Plex Username if required 
- Test the connection, then Save 

Connection Successful

Setup either Plex or Tautulli to send webhooks to shinkro
This step is important! It allows shinkro to see the watch status and rating updates from your Plex Server.
Create an API Key for your Plex Media Server
- Go to Settings -> General -> API Keys 



Create the URL you need to enter on Plex / Tautulli
This URL is basically the URL to your shinkro instance which can be accessed by Plex Media Server or Tautulli along with the API Key you created for authentication.
The apiKey paramter is case-sensitive. Note that the K in apiKey is uppercase.
It follows the following format:
Without Reverse Proxy
http(s)://<ip_address>:<shinkro_port>/api/plex?apiKey=<apiKey created for Plex>With Reverse Proxy
http(s)://shinkro.domain.com/api/plex?apiKey=<apiKey created for Plex>Examples 
shinkro & Plex / Tautulli on same machine
http://127.0.0.1:7011/api/plex?apiKey=cb91c65f823b18d83f15477a856834fa
shinkro & Plex / Tautulli on same machine with BaseURL set to /shinkro
http://127.0.0.1:7011/shinkro/api/plex?apiKey=cb91c65f823b18d83f15477a856834fa
shinkro & Plex / Tautulli not on same machine
http://46.123.11.2:7011/api/plex?apiKey=cb91c65f823b18d83f15477a856834fa
https://shinkro.domain.com/api/plex?apiKey=cb91c65f823b18d83f15477a856834fa
shinkro & Plex / Tautulli not on same machine with BaseURL set to /shinkro
http://46.123.11.2:7011/shinkro/api/plex?apiKey=cb91c65f823b18d83f15477a856834fa
https://domain.com/shinkro/api/plex?apiKey=cb91c65f823b18d83f15477a856834faThis URL needs to be the URL to your shinkro instance along with the correct API Key for authentication so that your Plex Media Server or Tautulli instance can successfully communicate with shinkro.
Setup Plex Webhooks or Tautulli 
- Only pick one of the two 
- Plex Webhooks is preferred but requires Plex Pass 
- Tautulli is the free alternative but has the limitation of not being able to update ratings 
Plex Webhooks Setup
- Login to your Plex Server 
- Go to the web client of your Plex server at Plex.tv. 
- Go to Settings 
- Select Webhooks from the left sidebar. 
- Click on Add webhook 
- Enter the shinkro URL you created earlier. 
- Then, click on Save Changes. 
Confirmation that shinkro is receiving payloads from Logs
- Head to Logs 
- Check for this entry - it will say Received empty paylod from Plex, webhook added successfully. 

If you chose Plex Webhooks, that's it! shinkro is setup and ready to go.
Tautulli Setup
- Go to Settings 
- Click on Notification Agents 
- Next, click on Add a new notification agent 
- Choose Webhook from the list 
Webhook Settings
Configuration
Webhook URL: The shinkro URL you created earlier
Webhook Method: POST
Triggers: Watched
Conditions: Leave default.
Data:
Only need to enter data for Watched. JSON Headers: Leave empty
JSON Data:
Copy paste the json given below:
{
    "Account": {
        "title": "{username}"
    },
    "event": "media.scrobble",
    "Metadata": {
        "title": "{title}",
        "type": "{media_type}",
        "parentIndex": "{season_num}",
        "index": "{episode_num}",
        "guid": "{guid}",
        "Guid": [
            {
                "id": "imdb://{imdb_id}"
            },
            {
                "id": "tmdb://{themoviedb_id}"
            },
            {
                "id": "tvdb://{thetvdb_id}"
            }
        ],
        "grandparentKey": "/library/metadata/{grandparent_rating_key}",
        "grandparentTitle": "<episode>{show_name}</episode><movie>{title}</movie>",
        "librarySectionTitle": "{library_name}"
    }
}Click on Save.
Confirming shinkro is receiving webhooks from Tautulli
- Set shinkro's log level to DEBUG from Settings -> General -> Logs 
- In Tautulli, go back to your Notification Agent and select the Test Notification Tab 
- Copy-paste the same json structure found above into the JSON data field, leave JSON headers blank. 
- Click on Test Webhook. 
- If everything went well, you will get the exact same Raw Payload in shinkro's logs. It can be viewed in the Logs section. 
- Here is an example: 

- This confirms that Tautulli is successfully sending webhooks to shinkro. 
That's it shinkro is configured and ready to go!
Last updated