Manage Your Licenses
After completing this unit, you’ll be able to:
- Define the License Management App and its purpose.
- Explain how to set up the License Management App.
- Identify key features of the License Management App.
You’ve created your amazing solution, and you’ve learned the basics about licensing. Maybe you’ve even decided what kind of license to use. It’s time to set things up so that you can sell your solution on AppExchange and track downloads.
This is where the License Management Application (LMA) comes in. The LMA keeps records on installs and licenses and provides basic tools that help you support your customers. Salesforce distributes it as a managed package that normally lives in your business org.
When you've configured the LMA, keeping track of licenses is simple. Whenever a prospect installs your solution, the LMA creates two records in the org where the LMA is installed:
- A Lead record that identifies the prospect
- A License record for that prospect, based on the licensing terms for your solution
The LMA also provides a support console that helps you get in touch with your customers to help them troubleshoot issues. The console allows you to find the orgs where your solution is installed. It even lets you log in to a customer org and debug a problem, provided that the customer has given you access. We discuss customer support in more detail in the next unit.
Sounds pretty great, doesn’t it? So how do you get your hands on this wonderful solution? If you went through the standard partner signup process and got your Partner Business Org (PBO), the LMA will already be installed in your PBO. You can verify that the LMA is installed. From the App Launcher ( ), find the License Management App.
If it’s not installed, log a case on the Salesforce Partner Community to request access to the LMA. Make sure you have a signed partner agreement before you do this.
Request Access to the LMA
- Log in to the Salesforce Partner Community.
- Select Support.
- Click New Case.
- Hover over AppExchange Partner (ISV) App Setup & Management | License Management Application (LMA).
- Click Create a Case.
- Select a severity level and enter a subject.
- For Subtopic, select
- For Description, provide your PBO org ID, and mention your signed partner contract.
- Click Submit Case.
The partner operations team reviews your case and emails you an installation link.
Install the LMA
- Log in to your business org. Usually this is the org that Salesforce created for you when you became a partner. Typically, it contains your Environment Hub.
- Click the LMA installation link in the email you received from the partner operations team. Select the users in your business org who need access to the LMA.
- Confirm that the LMA is installed. From the App Launcher ( ), find the License Management App.
Now that you’ve installed the LMA in your business org, you can connect it to your solution. Before you do this:
- You must have access to the publishing console. For this, you need the Manage Listings permission. Review how to request this permission in our Salesforce Partner Community module.
- Your packaging org must be connected to the publishing console. For a refresher on connecting your packaging org, refer to the ISVforce Guide.
Connect Your Solution to the LMA
- From the Salesforce Partner Community, select Publishing.
- Select Packages to see the packages in your packaging org.
- Find your solution’s package and click Register Package next to its entry.
- When prompted to register your package, click Register.
- Log in to the org where the LMA is installed, normally your business org.
- Select which license you want to use by default for this solution, and click Save.
Once you’ve connected your solution’s package to the LMA, you don’t need to do it again—later versions of your package are automatically connected to the LMA.
Configure the LMA
Like any solution, the LMA has several configurable settings, including the assignment of roles and access permissions. Leads and licenses provide you with crucial information about your revenue stream, so it’s worth your while to spend some time understanding these settings.
Set Object Permissions
||Most users in your org don’t need any permissions. Users who view licenses need the Read permission. Users who modify license records need Read and Edit permissions.
||Only users who assign the lead manager need Edit permission. Other users have either Read permission or no permissions.
||All users have Read permission or no permissions, because they don’t need to create, modify, or delete these records.
Set Field Level Security in Profiles or Permission Sets
||Your settings depend on how you want to manage these fields for different users in your org.
||Make all fields Read-Only.
||Make all fields Read-Only.
For details on configuring the LMA, check out the ISVforce Guide.
The LMA installs and maintains several custom objects.
What It Does
How It’s Used
||Represents managed packages for solutions on AppExchange
||Associates customers with specific solutions
||Represents the version number for a specific package
||Tells you which customers are using which versions of your solution
||Enforces license restrictions for solutions
||Allows you to manage solution licenses within specific customer orgs
You’ve set up the LMA with your solution, and customers are installing it. Great! If your solution is a big enough hit, you have to make adjustments to your licenses when:
- Customers using a free trial want to switch to the full version of your solution.
- Paying customers need more license seats so that all of their employees can benefit from your work.
Fortunately, it’s easy to make these kinds of changes.
Modify a License
- From the App Launcher ( ) in your business org, select License Management App.
- In the LMA, navigate to Licenses.
- Select the record for the customer license you want to modify and click Modify License. Don’t click Edit—that’s different. If you don’t see Modify License for the record, add it to the page layout.
- Now modify the license record by changing the values in the appropriate fields.
Here’s a rundown of the fields you can modify in a License record:
||This is the date of expiration for your solution. After the date in this field, a customer no longer can use your solution. Select Does not expire if you don’t want the license to expire.
||This field defines the number of licensed seats, or the number of users in your customer’s org who can use the solution. You can allocate up to 99,000,000 seats, and the customer’s admin assigns these seats to users. Alternatively, select Site License
to allow all users in the customer’s org to use your solution.
||This field controls whether a customer gets access to your solution at all. Select a value from the picklist:TrialAllows the customer to try your offering for up to 90 days. If you convert a trial license to an active license, you can't change it
back to a trial.ActiveAllows the customer to use your offering according to the license agreement.SuspendedProhibits the customer from accessing your offering.When a customer uninstalls your solution, the Status field is set to Uninstalled, and
the license can’t be modified.
Because the LMA is a managed package built on the Salesforce platform, it has all the power and flexibility that you expect. With a little elbow grease, you can customize it for your own needs. For instance, you can:
- Synchronize License and Lead records for customers who installed your solution before you set up your LMA, or when you install the LMA in a different org.
- Create Apex triggers that control how Lead records are created, and notify members of your team when a license expires or when your solution is installed or uninstalled. Take a look at our list of best practices for things to keep in mind.
For example, you can notify your sales ops team when a customer uninstalls your solution, or notify your sales rep when a customer’s license is about to expire. This helps you keep in touch with your customers and prevents licensing from disrupting their work—or your relationship with them.
And that’s licensing in a nutshell. At this point, you know why we named the License Management App the way we did. But as we mentioned, the LMA can help you in other ways. In the next unit we introduce some new tools that let you decide how to release new features for your solution.
- ISVforce Guide Update Your Solution
- ISVforce Guide How Does the License Management App Work?
- ISVforce Guide Integrate the License Management App into Your Business Processes
- ISVforce Guide Best Practices for the License Management App
- Salesforce Partner Community topic License Management Application
- Trailhead Lightning Experience Customization
- Trailhead Manage Your Team's Access to the Salesforce Partner Community
- SOAP API Developer Guide UserLicense
- SOAP API Developer Guide PackageLicense
- SOAP API Developer Guide UserPackageLicense