The Links module allows you to add custom links to your Blesta client area, when a client purchases - This is fantastic for selling digital downloads or access to content
Free - View Pricing
What Links gives you
Clients only see their links once the service is active, so a pending, suspended or cancelled order never hands out paid content.
Every staff and client label ships in editable language files, ready to translate into any language or reword to match your brand.
Each package carries a friendly label that is used as the service name throughout Blesta, so client-facing lists read like product names rather than raw URLs.
Links appear on the service details panel, in a dedicated tab in the client area, and on the staff service page, so nobody has to hunt for them or ask support to resend.
There is no API to connect, no server to keep online and nothing to install elsewhere, so it works the moment it is installed and cannot break because a third party did.
Give a package as many labelled links as it needs, adding and removing rows right on the package form, so one product can hand over a download, a dashboard and a support channel at once.
Your staff can give one individual service its own unique link that replaces the package links for that client only, which is ideal for personalised downloads, private invites or one-off access.
The link, the package label and the full list of links are all available as email tags, and a ready-made sample welcome email ships with the module so the client gets what they bought in the first email.

Sell anything that is really just a link - a download, a members area, an invite - and have it delivered automatically the moment the order is paid.
Some of the things you sell are not a server or an account Blesta has to provision - they are simply a link: a software download, an invite to a private community, a members-only dashboard, a one-time access URL. The Links module lets you attach one or more of those links to a package, and Blesta hands them to the client automatically the moment their service goes active - in the welcome email, on their service page, and in a dedicated tab - with nothing to provision and nothing that can go down because a third-party API is unavailable.
If you encounter any issues or have suggestions for improving the module, please get in touch with us. We are committed to providing robust updates and welcome customer feedback.
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/links/
For example, on a typical install: /var/www/html/blesta/components/modules/links/
There is nothing to configure. The Links module makes no external connections and has no settings - its Manage page intentionally shows that it has no management options. You are ready to create a package straight away.
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.
{package.label} and {package.links_rendered} tags to your
welcome email template.
This guide covers day-to-day use of the Links module: creating a package that carries one or more links, giving an individual service its own override link, and the three places a client sees their link(s).
Label: Download
URL: https://example.com/downloads/my-software.zip
Click Add Link for another row, or the trash-can button at the end of a row to drop it
(the last remaining row is cleared instead of removed). Every row must have a label
and a valid http://, https://, ftp:// or ftps:// URL - a blank or invalid row blocks
the save with an error. At least one link row is required.
To give a client a Links package without them ordering it themselves: open the client's profile, then Account Actions > Add Service, and pick the Links package. A Links Options section shows the Custom Link Override field (see below) - leave it blank to use the package's own links, set the term and status, then continue to add the service.
When a client orders a Links package themselves (or you add one from the order form), there is nothing for them to fill in - the package's own links are all that is needed, so the order goes straight to checkout with no extra step.
Staff can replace all of a package's links with a single unique link for one specific service - useful for a personalized download, a private invite, or one-off access. This is only ever set by staff; a client cannot set or change it themselves.
Leaving the field blank keeps the service showing the package's own links.
Once the client's service is active, the link(s) - the override if one is set, otherwise every named link on the package - are shown in three places:
While the service is still pending, the two client-facing surfaces show "Please wait until the service is activated to see your link" instead of the link(s). Staff can see the link(s) regardless of service status.
Packages created before named links existed (single Link field only, no Package Label) keep working with no changes required: they still show that URL as both the label and the link everywhere. Opening and re-saving the package migrates it to a labelled link row automatically.
The module exposes these package tags for use in email templates:
| Tag | Contents |
|---|---|
{package.label} |
The package's friendly label |
{package.link} |
The primary link - the first link row's URL |
{package.links_rendered} |
Every link, one per line, as Label: URL |
Use them in the package's welcome email like so:
<p>Here are your links for {package.label}:</p>
<p><a href="{package.link}">{package.link}</a></p>
{package.links_rendered} is plain text (email tags can't render a list as HTML), so it is best
used in the plain-text version of the email, or inside a <pre>/<p> block in the HTML version.
Editing the links on a package updates them for every service on that package immediately (unless a service has its own override) - there is nothing to re-provision, and existing clients see the new links the next time they load the page. Note that welcome emails already sent keep the links that were current when they were sent.
The Links module provisions nothing and contacts no external service, so Settings > Company > Modules > Installed > Links > Manage intentionally shows "This module doesn't have any management options". There are no accounts or servers to configure.
If you encounter any issues or have suggestions for improving the module, please get in touch with us. We are committed to providing robust updates and welcome customer feedback.
v3.0.0 - 2026-09-29
PHP 8.2 - 8.4 · Blesta 6.x
Added support for Blesta 6. This version requires Blesta 6.0 or later; Blesta 5 installs should stay on version 2.x.
Updated the links table on the package form, the staff service info panel and the module's Manage page to the Blesta 6 admin theme, including dark mode.
Changed the Remove link on each package link row to a button.
v2.0.0 - 2026-09-11
PHP 7.2 - 7.4, 8.1 - 8.4 · Blesta 5.x
Added a friendly package label, shown as the package name instead of the raw URL.
Added support for multiple named links per package, each with its own label and URL.
Added an optional per-service link override so staff can give an individual service a unique link.
Existing single-link packages keep working and are migrated automatically the next time the package is edited.
Added the {package.label} and {package.links_rendered} welcome email tags.
Fixed the per-service override link so only staff can set it - a client could previously submit their own override link through the order form and have it silently accepted.
Fixed editing a service so it no longer risks clearing a staff-set override link on services created before the override field existed.
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 8.2 - 8.4 · Blesta 6.x
Value: Free
Not sure whether to lease or own? Our FAQ explains how the licence types differ.
What our customers say
(1 customer review)
I recently added the Links Module to my Blesta setup and it’s completely transformed how we deliver downloads. Installation took seconds, and native integration means that the moment a service activates, the correct link lands in the welcome email, shows up under the service dropdown, and lives in the Manage section. No more manual copy-and-paste or support follow-ups.
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 8.2 - 8.4 · Blesta 6.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 8.2 - 8.4 · Blesta 6.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 8.2 - 8.4 · Blesta 6.x