Groove's integration with Salesforce helps you manage your entire organization very efficiently, by helping you automatically set up existing members or new reps joining your team.

Through our managed package, you're able to automatically assign each type of Groove license, automatically add users to Groove teams, and more.

Automatically Assigning Groove Licenses to Your Users
Batch Assigning Groove Licenses
Extracting a List of All Users with a Groove License
Automatically Assigning a Groove Team
Pre-Installing the Groove Chrome Extension for Your Users
Predicting a User's Meeting Scheduler Link

Automatically Assigning Groove Licenses to Your Users

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 assigning Groove licenses to your users.

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.

Batch Assigning Groove Licenses

The same apex class can also be used to batch assign Groove licenses from the developer console on a one-off basis. Here is an example SOQL script you can run:

List<DaScoopComposer.AssignLicenseInGroove.AssignLicensesParams> userLicenses = new 
List<DaScoopComposer.AssignLicenseInGroove.AssignLicensesParams>();
List<User> sales_users = [SELECT Id FROM User WHERE Profile.Name = 'Sales'];
for (User user: sales_users) {
DaScoopComposer.AssignLicenseInGroove.AssignLicensesParams license = new DaScoopComposer.AssignLicenseInGroove.AssignLicensesParams();
license.LicenseType = 'core';
license.userid = user.Id;
userLicenses.add(license);
}
DaScoopComposer.AssignLicenseInGroove.assignUsersGrooveLicense (userLicenses);
for (DaScoopComposer.AssignLicenseInGroove.AssignLicensesParams license: userLicenses)
license.LicenseType = 'flow';
DaScoopComposer.AssignLicenseInGroove.assignUsersGrooveLicense(userLicenses);
for (DaScoopComposer.AssignLicenseInGroove.AssignLicensesParams license: userLicenses)
license.LicenseType = 'dialer';
DaScoopComposer.AssignLicenseInGroove.assignUsersGrooveLicense (userLicenses);

The SOQL query can be adjusted to whichever group of users you want to assign licenses to.

Extracting a List of All Users with a Groove License

Even though Salesforce currently doesn't support reports on license assignments to managed packages, you can query such data using SOQL. This query will return a list of all users in your org that have a Groove license assigned to:

SELECT Id, Name, Email
FROM User
WHERE Id IN (
    SELECT UserId FROM UserPackageLicense
    WHERE (PackageLicense.NamespacePrefix = 'DaScoopComposer')
)

Automatically Assigning a Groove Team

You can also add your users to Groove Teams This is useful for reporting, sharing templates and flows, collaboration, and permissions in Groove.

You can have Groove automatically assign users to a team, based on signals in Salesforce. In order to do so, you will first need to have a Groove team created on this page, if you do not have teams set up yet.

You may want to assign users to a specific Groove team, based on their Salesforce profile or Salesforce role. All you have to do is populate the field "Default Groove Team" on the user object in Salesforce with the name of a Groove team you want the user to belong to. You could do so using a Workflow/Field Update or a Trigger or a Process Builder Flow - implementing any assignment logic respectively. 

The API name of that field is User.DaScoopComposer__Default_Groove_Team__c .

Groove checks this fields every 24 hours. If your Groove org contains a team with the same name as what it finds in that field for a specific user, it assigns that user to that Groove team. 

Note: You should also ensure that your users profile(s) have Visible access to the DaScoopComposer__Default_Groove_Team__c field in 'Field Level Security': 

Pre-Installing the Groove Chrome Extension for Gmail for Your Users

Google Apps admins can automatically deploy Chrome extensions to their users. Note: this only works if user "Log in to Chrome". Follow the instructions in the Google help center.

In a Windows environment, Chrome can also be enforce the installation of the Groove Chrome extension. Follow these instructions.

Predicting a User's Meeting Scheduler Link

When a user first signs up to Groove, a distinct meeting scheduler link is assigned to the user.

E.g. https://app.grooveapp.com/meetings/sean-829/ where sean-829 is an automatically assigned meeting scheduler user id.

There are use cases where you would want to know a user's meeting scheduler link in advance. So instead of using the meeting scheduler user id you can also use the user's Salesforce ID.

E.g. https://app.grooveapp.com/meetings/0050V000006iYER/ where 0050V000006iYER is the user's 15 digit Salesforce user ID.

You could create a formula field "meeting_scheduler__c" on the user object containing this formula

"https://app.grooveapp.com/meetings/" & Id

That way you can later create a template that contains a signature like this

Regards
{!user.name}
Book a meeting with me: {!user.meeting_scheduler__c}

Groove will merge these fields with the user's full name and the meeting scheduler link.

Did this answer your question?