Profiles
Configure multiple accounts/servers per provider in a single CrossWatch install.
Provider profiles let one CrossWatch (CW) install connect to multiple accounts and/or servers for the same provider.
In the UI, CrossWatch calls these Profiles.
In config and API payloads, you will still see instance in key names. Example: instances, source_instance, provider_instance.
Recommended: start with default first.
Add profiles only when the base setup works.
Common uses:
Two Plex servers (home + remote).
Two Plex users (yours + partner’s).
Two Trakt users (yours + partner’s).
Separate Jellyfin servers (anime vs family).
Multiple users/accounts/servers for the same provider.
Terms
Provider:
PLEX,TRAKT,SIMKL,JELLYFIN,EMBY,MDBLIST, …Profile: one complete, independent configuration for a provider.
Separate tokens, URLs, user IDs, and settings.
Default profile: the built-in profile id named
default.
Where profiles matter
Profiles show up in three places:
Settings → Authentication Credentials, server settings, and whitelisting are saved per profile.

Pairs Each side of a pair can point at a specific profile.

Watcher (routes mode) Routes choose a provider profile (event source) and a sink profile (event target).

Create a profile (UI)
Profiles are meant to be independent.
If a provider needs a token, URL, or user ID, set it per profile.
That includes library whitelisting.
Want a second user on the same provider (example: Plex)?
You still need a separate profile and a full connect + settings + save flow.
There’s no shortcut. It is what it is.
Profiles can get complicated fast.
Every profile can be referenced by Pairs and Watcher routes.
If you delete a profile, also delete or update anything that points at it.
Otherwise runs can fail, or sync the wrong account/server.
Profile IDs
defaultis reserved.Non-default profiles use
PROVIDER-P##.Examples:
PLEX-P01,TRAKT-P01,SIMKL-P02.
The UI Profile button creates the next free
PROVIDER-P##.Example: if
PLEX-P01exists, the next one isPLEX-P02.
How this looks in config.json
config.jsonEach provider can include an instances map.
Provider keys in config are usually lowercase (plex, trakt).
Profile IDs are case-sensitive. Keep them consistent.
Use profiles in sync pairs
Pairs can set:
source_instance(defaults todefault)target_instance(defaults todefault)
Use profiles in Watcher routes
In routes mode, each route is:
provider(profile) → sink(profile)
Related
Connect providers: Authentication
Configure sync pairs: Configure Pairs
Configure scrobbling: Watcher
Config reference: Configuration (config.json)
Last updated
Was this helpful?