How to use Branches for multi-purpose training

Branches can be used in many different scenarios, the most common ones being:
  • A company using TalentLMS to train various different departments within their corporation, where each department has a different manager in the portal
  • A company using TalentLMS to train their customers/partners on their product but also use it for internal employee training
  • A company using TalentLMS to sell their courses, as well as train other people for free
  • A B2B agency using TalentLMS to provide training to different clients
Branches have been developed to cater all the above needs and we will analyze best practices.

If you have decided to start using branches, a common practice would be to stop using the main URL for training purposes, since it would act a repository of all the information in the platform (i.e. users, categories, groups, courses etc.).

The main reasons why it’s a good idea to stop using the main URL is because reports viewed from the main URL (apart from branch reports) would include all users in the portal (regardless if those users belong to a branch), and the main URL’s external catalog would also include all the courses in the portal (regardless if those courses are part of a branch). With branches, however, you would be able to restrict the information displayed to a specific audience. Reports and the course catalog would also be specific to that branch.

If you’ve already started using your main domain for training, and then decided to start using branches that’s ok. You can still move your users and courses to a branch without losing any data, such as courses assigned to users or course completions. You can either do this using the import function (usertobranches;branch & coursetobranches;branch) or using custom reports & mass actions, if your plan allows it.

The only change when you move your users to a branch would be that they’d need to login through the branch URL (that would be a subdomain of your main URL), if you’ve enabled disallowing members of this branch to login from the main URL (1). Anyone who tries to login through the main URL would be directed towards the branch they have been assigned to.

Note: We strongly recommend enabling this setting if you want to create completely separate instances of your training. 

Using a branch admin (an admin who can only access branch data)

If you need to restrict an admin’s access towards certain people and courses, you can do this by using branches and assigning that person as an admin to that branch.

A branch admin would only be able to view information related to the users that belong to that branch. If you enable the aforementioned setting, they won’t be able to login through the main domain or see all of the rest of the users. Using the default Admin user type, a branch admin would be able to:

– Create/edit users, courses and/or groups in their branch
– View reports related to the users in their branch (reset tests for users)
– Communicate with the branch’s users through messages & discussions
– Create and lead ILT units & conferences
– Grade assignments

Any of the above permissions can be altered through the user-types.

A branch admin wouldn’t have access to:

– Categories
– Branch Settings
– User types
– Import – Export
– The Events Engine: wouldn’t be able to create/edit notifications & actions
– Account and Settings

Some settings need to be set-up centrally by a superadmin or an admin who has access to the main domain, and will apply to all branches. These are discussed below:


Certain generic notifications, i.e. the “user signup” or “on certificate acquisition”, if activated, will go out to all users no matter which branch they belong to. Other notifications, such as “course completions”, can be specific to each course. Consequently if courses are unique to each branch, then these type of notifications can be unique to each branch respectively.

Another thing to keep in mind is that the URL included in a notification message is always related to where it was triggered from. For example if a user is added by the admin or signs up through the branch URL, then the notification message would include the branch URL (2).


If you’ve got certain settings such as discussions, gamification, course catalog, and others enabled for your internal employees users, but don’t want these available for your customers, you can always create a custom user type and disable these options.

Then, you can assign the user type to your customers.

Note: you can change the user types of multiple users at the same time by using the import function: Login; User-type.


Multiple users and courses can be assigned to a branch instantly using the Import function (Usertobranches;branch or Coursetobranches;branch).

If you would like to import new users directly into a branch, we would suggest that you login through the branch as a SuperAdmin and by selecting this option (3) you will be able to select the import function to upload those users.

Note: a SuperAdmin has the ability to go into each branch as well as the main domain, even if the Disallow login from main URL setting is enabled.

Account and Settings

To edit Account & Settings, you need to be an Admin with access to the main domain.

Most of the settings found in this section are set up through the main domain, and apply to all the branches. These include: Security settings, Password settings, Terms of service, Social options, Default user type, Visible user format and certain eCommerce options.

As far as your domain settings, if you’re using a mapped domain, keep in mind that your branches need to be mapped separately as described here, and would still be a subdomain of your main domain.

Custom user fields can be specified to each branch in this manner (4):

Gamification has to be set up centrally. The settings for when points, badges, levels are awarded would apply to all branches, but each branch would have its own user leaderboard.

In general, when Gamification is switched on, it’s on for all branches, unless you create a custom learner type for a specific branch where the gamification option is switched off, as described above. You can also choose to reset points/badges/levels for users of a specific branch (5).

Other settings that can be specified per branch are found under the ‘Branches’ section in the admin’s homepage. These include:

– Theme (Logo, color scheme, login page) (if you’re using a custom theme then this needs to be created through the Account & settings>Themes section and then selected from within the Branch settings)
– Language / Τime zone
– Announcements
– Default group / signup method
– SSO can be different for each of your branches or can be disabled altogether for one but enabled in another branch.
– eCommerce payments (processor and subscription payments) – You can have a different PayPal account per branch, but you can only use one Stripe account, which needs to be configured through Account & Settings > E-commerce > E-commerce processor.

Course settings and availability rules

If courses are shared between branches, then any availability rules (prerequisites) or specific settings (such as time limits, certifications, price, etc.) would apply to all branches where those courses are available.

Also note that any changes made to a course would apply to everyone who has that course, across branches.

To avoid this you can always clone courses and have a copy of your course available to each branch. You can also remove the permission of being able to update/delete courses for the user-type of branch admins or branch instructors.

Feedback and Knowledge Base