Tired of adding and removing invites when you need to? Well now you can control access to specific servers based upon time and automatically invite/suspend/unsuspend/terminate access to your Plex servers! This module is simple to use and takes away the need for manual intervention
From £34.99 - View Pricing
What Plex gives you
Configure it independently for each brand on a multi-company install, so every company runs with its own settings.
Every staff and client label ships in editable language files, ready to translate into any language or reword to match your brand.
Clients see exactly which libraries are shared with them, by name, on their own Libraries tab - with a clear message when nothing is shared yet.
A built-in demo mode runs the whole extension from bundled sample data, so you can trial every screen and action before you have an account or API key.
Suspending a service removes only the libraries that plan grants and leaves the client's Plex friendship intact, so reactivating restores their access instantly.
Offer extra libraries as a configurable option and they are added on top of the package's base libraries when the client orders, so upsells need no extra package.
The staff and client service pages show the invited Plex email and whether the share is currently active, so support can answer "do I have access?" without opening Plex.
A welcome email template ships with the extension and loads onto any package in one click, already filled with the details the client needs to start using what they bought.
What it sends and what comes back is recorded in Blesta's own log, with credentials never written to it, so you can see exactly what happened without leaving your admin area.
Paste your Plex token, click Fetch Servers, and pick your server from the list - the server and machine identifiers are filled in for you, and can still be typed in manually if you prefer.
Decide per package whether subscribers may download and sync media for offline playback, whether they may upload their camera roll, and which movie and TV content ratings they are limited to.
A client who buys more than one plan keeps everything they already have - new libraries are merged into their existing share rather than replacing it, and suspending one plan only pulls that plan's libraries.
Build a package by ticking the libraries off your actual Plex server in a named picker, instead of hunting for section IDs. If the server cannot be reached the module falls back to entering IDs by hand, so package editing never blocks.
A paid order invites the client's Plex email to your server and shares the libraries their package includes, with no manual invite to send. Cancelling removes the share again, and the friendship only when nothing else is shared with that account.

Sell access to your Plex server - every order invites the client's Plex account and shares exactly the libraries their plan includes.
Running a paid Plex server usually means manually inviting every subscriber and remembering which libraries each of them paid for - and remembering to revoke access again when they stop paying. The Plex module automates all of that: a paid order invites the client's Plex email to your server and shares the libraries their package includes, a cancelled order removes the share again, and a client who buys more than one plan keeps everything they already have rather than losing access to it.
Installing and updating extensions can now be done automatically through the Blesta Club Subscription Manager - this is the recommended way going forward.

Upload the extension folder into your Blesta installation so it lands under your Blesta directory at:
components/modules/plex/
For example, on a typical install: /var/www/html/blesta/components/modules/plex/
You're ready to go - see the usage guide for a walkthrough of day-to-day use.
Installing and updating extensions can now be done automatically through the Blesta Club Subscription Manager - this is the recommended way going forward.

Upgrading works just like installing: upload the new files over the old ones, then run the upgrade from the same page you installed it on.
components/modules/plex/, replacing the old files.{module.plex_token} email tag - so it could have been mailed out or read by anyone with access to those pages. Later versions encrypt it, drop it from the Servers list and remove the email tag. Because the old token may have been exposed, sign in to Plex and sign out of the device the token belongs to (this invalidates it), get a fresh token (see the usage guide), then edit each Plex server in Blesta and paste the new token in - leaving the Token field blank keeps whatever is already stored, so nothing changes until you do this.
Go to Settings > Company > Modules > Installed > Plex > Manage and click Add Server.
X-Plex-Token value in the URL.https://plex.tv/api/servers?X-Plex-Token={YOUR_PLEX_TOKEN}, view the source, and find the machineIdentifier attribute on your <Server> tag.The Token, Server ID and Machine ID are checked against plex.tv when you save a live server, so an incorrect value is reported straight away rather than at the first order. Editing a server later leaves the Token field blank - leave it blank to keep the one already stored, or paste a new one to replace it.
On a package's Module settings, set which of your Plex libraries it shares:
https://plex.tv/api/servers/{YOUR_MACHINE_ID}?X-Plex-Client-Identifier=Blesta&X-Plex-Token={YOUR_PLEX_TOKEN}, inside the <Server> tag as <Section id>). At least one library is required.Create a Blesta configurable option named libraries, of type Select or Checkbox (not Text - see below), whose option values are the library section IDs you're willing to sell, and attach it to the package. A client who picks it at order time gets those libraries in addition to the package's base set.
Use Select or Checkbox rather than Text: a Text option lets a client type any value themselves. The module won't honour a library ID your server doesn't publish, but only the option type stops a client from requesting a library you sell elsewhere but didn't mean to include in this add-on.
Placing, suspending, unsuspending and cancelling a service works the same as any other Blesta module:
Clicking a Plex service in the client's profile Services list expands an inline panel showing the invited Plex Email, the Plex Share ID, and whether the share is currently Active or Inactive, so you can answer "does this client have access?" without opening Plex.
Clicking a Plex service on their own Services page expands the same kind of panel, showing their invited Plex Email and Active/Inactive status (the Plex Share ID is admin-only and isn't shown to them). Opening the service's Libraries tab lists exactly which libraries are currently shared with them, by name - or a message saying none are shared yet, if the share hasn't been granted, or has since been suspended or cancelled.
If you write your own service or welcome email templates, these merge fields are available:
{module.server_id} and {module.machine_id} - the Plex server's ID and machine identifier.{package.libraries} - the package's configured library IDs.{service.plex_email} and {service.plex_id} - the subscriber's invited Plex email and share ID.A ready-made welcome email is included with the module - open a package's Welcome Email tab and click Load Sample Email to use it as a starting point.
v2.0.0 - 2026-09-11
PHP 7.2 - 7.4, 8.1 - 8.4 · Blesta 5.x
Fixed a client being able to attach their service to any share on your Plex account, exposing another subscriber's library names and revoking their access when the service was cancelled
Fixed cancelling a service doing nothing at all when its Plex email had been changed since the share was created, leaving the subscriber with access indefinitely
Fixed failed Plex requests reporting an empty error box instead of the reason the request failed
Added server auto-discovery on the server form, so you pick your Plex server from a list instead of hunting for its IDs
Added a named library picker for packages, replacing the raw list of section IDs when your server can be reached
Added library add-ons via configurable options, so clients can buy extra libraries on top of a package at order time
Added package share settings for downloads/sync, camera upload and movie/TV rating filters
Added service information panels and a client Libraries tab showing the libraries shared with each subscriber
Added a welcome email sample, loadable onto any package from its Welcome Email tab, carrying the subscriber's Plex access details and how to accept the invite
Fixed the Fetch Servers discovery on the Edit Server form using the previously-saved Mock API setting instead of the one just selected, when Mock API had just been unticked
Fixed a cancelled service's summary continuing to show as Active with its old share details instead of reflecting the cancellation
v1.0.0 - 2024-09-22
PHP 7.2 - 7.3, 8.1 - 8.4 · Blesta 5.x
Blesta Club release
Get exactly what you need and want.
Requires PHP 7.2 - 7.4, 8.1 - 8.4 · Blesta 5.x
Value: £65.55
Not sure whether to lease or own? Our FAQ explains how the licence types differ.
What our customers say
(0 customer reviews)
It is possible to leave a review only if you have purchased this extension or a Club tier which contains it.
We reserve the right to alter wording or formatting for presentation.
We will discuss any changes made and offer the option to withdraw review text if the changes can't be agreed on.
It may take up to 1 hour for a review to appear or update due to caching.
More extensions to explore
Module
Integrate BunnyDNS for automatic DNS provisioning and management.
PHP 7.2 - 7.4, 8.1 - 8.4 · Blesta 5.x
Module
Integrate Cloudmini for automatic cloud hosting provisioning.
PHP 7.2 - 7.4, 8.1 - 8.4 · Blesta 5.x
Module
Provision servers using Convoy, a Proxmox based VPS management panel
PHP 7.2 - 7.4, 8.1 - 8.4 · Blesta 5.x
Module
Integrate Datalix module into your Blesta install to provision VPS servers.
PHP 7.2 - 7.4, 8.1 - 8.4 · Blesta 5.x
Module
Integrate Enhance for automatic provisioning and management.
PHP 8.2 - 8.4 · Blesta 6.x
Module
Integrate Hetzner Cloud for automatic server provisioning.
PHP 7.2 - 7.4, 8.1 - 8.4 · Blesta 5.x