Automatically Assign Licenses
Automatically Unassign Licenses

Automatically Assign Licenses

By using some of the tools in Salesforce, you can easily and automatically assign Groove licenses to your users. Groove's managed package contains an Apex class that can be called to automatically assign Groove licenses to your users.

Reminder: Salesforce will maintain support for existing process builders but will not allow new process builders to be created starting Winter 2023. If you can, we recommend instead enabling this functionality by Automatically Assigning and Unassigning Groove Licenses using Flows.

Example: Automatically assign licenses to all active users that have the profile "Standard User" and the department is "Sales".

1. Enable Groove as a "Remote Site" in Salesforce so that Salesforce updates can be sent to Groove and we can update user licenses:

  • Go to Setup in Salesforce

  • Search for Remote Site Settings, and select it

  • Find the Remote Site called Groove, and select it

  • Edit, and make it Active. Then save

2. Create a process using process builder that is started "when a record is created or edited" (as opposed to "only when a record is created")

3. Create a process using process builder with these entry criteria in the first step:

  • Profile Name equals "Standard User"

  • Department equals "Sales"

  • Active equals true

4. If these criteria are met, configure the process to "Call Apex".

4a. To assign Core licenses, add an Immediate Action:

  • Configure it to run the class "Assign Licenses in Groove"

  • Set one apex variable "userIDs" - Field Reference - [User].Id

  • Set another apex variable "licenseType" - String - Core

4b. To assign Dialer licenses, add a separate Immediate Action:

  • Configure it to run the class "Assign Licenses in Groove"

  • Set one apex variable "userIDs" - Field Reference - [User].Id

  • Set another apex variable "licenseType" - String - Dialer

4c. To assign Flow licenses, add a separate Immediate Action:

  • Configure it to run the class "Assign Licenses in Groove"

  • Set one apex variable "userIDs" - Field Reference - [User].Id

  • Set another apex variable "licenseType" - String - Flow

4d. Assign different licenses to a separate Salesforce profile

  • Add Criteria to find another set of users, for example the "Customer Success" department

  • Add an Immediate Action to "Assign Licenses in Groove" for each license type you'd like to give to this set of users

5. Activate the process and test it

Once activated, this process will run each time a user record is updated (e.g. if you click Edit/Save). It will then test whether the three conditions are met and assign each Groove license respectively, as long as your organization has available licenses of those types.

Automatically Unassign Licenses

Just like we are able to automatically assign Groove Licenses, we can follow the same path by using an Apex class that can be called to automatically un-assign Groove licenses.

Reminder: Salesforce will maintain support for existing process builders but will not allow new process builders to be created starting Winter 2023. If you can, we recommend instead enabling this functionality by Automatically Assigning and Unassigning Groove Licenses using Flows.

Example: Automatically un-assign licenses to a user once they have become Deactivated in Salesforce.

1. Create a process using process builder that is started "when a record is created or edited" (as opposed to "only when a record is created")

2. Create a process using process builder with this entry criteria in the first step:

  • Active equals false

3. If this criteria is met, configure the process to "Call Apex".

3a. To un-assign Core licenses, add an Immediate Action:

  • Configure it to run the class "Remove Licenses in Groove"

  • Set one apex variable "userIDs" - Field Reference - [User].Id

  • Set another apex variable "licenseType" - String - Core

3b. To un-assign Dialer licenses, add an Immediate Action:

  • Configure it to run the class "Remove Licenses in Groove"

  • Set one apex variable "userIDs" - Field Reference - [User].Id

  • Set another apex variable "licenseType" - String - Dialer

3c. To un-assign Flow licenses, add an Immediate Action:

  • Configure it to run the class "Remove Licenses in Groove"

  • Set one apex variable "userIDs" - Field Reference - [User].Id

  • Set another apex variable "licenseType" - String - Flow

4. Activate the process and test it

Once activated, this process will run each time a user record is updated. It will then test whether the condition is met and un-assign each Groove license respectively.

Note: You will need Managed Package version 9.60 to use the Un-Assign Method.

Did this answer your question?