For the complete documentation index, see llms.txt. This page is also available as Markdown.

Identifying S-Sign Licensing

Use Apex to identify whether S-Sign seats are managed in-product or through Salesforce package licensing.

S-Sign supports two seated licensing models.

Some orgs use only one model. Some orgs manage both at the same time.

Check both sources when the org mixes licensing models:

  • Licensing managed inside S-Sign.

  • Licensing managed through Salesforce package licensing.

Both licensing models can also be reviewed manually in the Salesforce UI.

This is useful before a user generates a document or runs an envelope action.

Option 1: Licensing managed inside S-Sign

Use this when seat assignment is handled by S-Sign.

Class and method

Use SSign.SSLicensesController.getSSignLicensedUsers().

This method returns the User IDs that currently hold S-Sign seats.

Apex example

Run this in Developer Console using Execute Anonymous.

List<Id> licensedUserIds = SSign.SSLicensesController.getSSignLicensedUsers();

List<User> licensedUsers = [
    SELECT Id, Name, Email, IsActive
    FROM User
    WHERE Id IN :licensedUserIds
    ORDER BY Name
];

System.debug('Total S-Sign licensed users: ' + licensedUsers.size());

for (User userRecord : licensedUsers) {
    System.debug(
        'Name: ' + userRecord.Name +
        ' | Id: ' + userRecord.Id +
        ' | Email: ' + userRecord.Email +
        ' | Active: ' + userRecord.IsActive
    );
}

What this check gives you

  • The users assigned S-Sign seats.

  • The current seat count.

  • Each user's active status.

Option 2: Licensing managed through Salesforce

Use this when S-Sign licensing is assigned through Salesforce package licensing.

Salesforce objects to query

  • PackageLicense

  • UserPackageLicense

Apex example

Run this in Developer Console using Execute Anonymous.

What this check gives you

  • Whether the org uses a seated or site license.

  • The total seats available in Salesforce.

  • The total seats assigned in Salesforce.

  • The users assigned the package license.

Which check should you use?

Use the S-Sign method when seat assignment is managed inside the product.

Use the Salesforce queries when seats are assigned through package licensing.

Some customers manage both models in the same org.

In that setup, do not assume one check is enough. Run both checks and compare the results.

Use the S-Sign method to find users assigned through in-product licensing.

Use the Salesforce queries to find users assigned through package licensing.

Treat these as separate sources of truth. One result does not replace the other.

If you need a complete licensing picture for the org, aggregate both result sets in your own Apex logic.

Common use case

Use these checks to confirm that the user initiating the process is properly licensed before they:

  • generate a document

  • prepare an envelope

  • send an envelope for signature

If the customer manages both licensing models, use this sequence:

  1. Query PackageLicense and UserPackageLicense.

  2. Call SSign.SSLicensesController.getSSignLicensedUsers().

  3. Compare the two user sets.

  4. Report each source separately or merge them for your own audit output.

Where to run these examples

Both examples are intended to run in Developer Console using Execute Anonymous.

Last updated

Was this helpful?