You’ve created your amazing package, and you’ve learned the basics about licensing. Maybe you’ve even decided what kind of license to use. It’s time to set up things so that you can sell your package on AppExchange and track downloads.
Here’s 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 package, the LMA creates two records in the org where the LMA is installed:
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 package 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 great, doesn’t it? So how do you access this wonderful app? 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 ( ), search for and select the License Management App.
If it’s not installed, log a support 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
2. Click the question icon and then click Log a Case for Help.
If you don’t see the Salesforce Partner Program Support tile, use the org picker to select the org that's associated with your Salesforce partnership account.
The partner operations team reviews your case and emails you an installation link.
Configure the LMA
Like any package, 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
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
Make all fields Read-Only.
Make all fields Read-Only.
The LMA installs and maintains several custom objects.
Represents managed packages on AppExchange
Associates customers with specific packages
Represents the version number for a specific package
Tells you which customers are using which versions of your package
Enforces license restrictions for packages
Allows you to manage package licenses within specific customer orgs
You’ve set up the LMA with your package, and customers are installing it. Great! If your package is a big enough hit, you have to make adjustments to your licenses when:
Fortunately, it’s easy to make these kinds of changes.
Modify a License
Here’s a rundown of the fields you can modify in a License record:
This is the date of expiration for your package. After the date in this field, a customer no longer can use your package. 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 package. 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 package.
This field controls whether a customer gets access to your package at all. Select a value from the picklist:
Trial - Allows 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.
Active - Allows the customer to use your offering according to the license agreement.
Suspended - Prohibits the customer from accessing your offering.
When a customer uninstalls your package, 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:
For example, you can notify your sales ops team when a customer uninstalls your package, 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 package.
We'd love to hear about your experience with Trailhead - you can now access the new feedback form anytime from the Salesforce Help site.