Deploying Groove at Scale

Easily deploy Groove to everyone in your organization

Aamir Peeran avatar
Written by Aamir Peeran
Updated over a week ago

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

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.

Follow the instructions here to automatically assign licenses to your users by creating a flow automation.

Alternatively, follow the instructions here to automatically assign licenses using a process builder. Reminder: Salesforce will maintain support for existing process builders but will not allow new process builders to be created starting Winter 2023.

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.

Automatically Unassigning Groove Licenses

Similar to how we can automatically assign Groove licenses, we can set up an automation to automatically remove Groove licenses when certain User criteria are met.

Follow the instructions here to automatically remove user licenses using a flow automation.

Alternatively, follow the instructions here to automatically remove licenses using a process builder. Reminder: Salesforce will maintain support for existing process builders but will not allow new process builders to be created starting Winter 2023.

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. 

Notes:

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

  • If you add a team name for a user on one day, Groove will add that person to the team over the following 24 hours. After that, you can replace this field value with another team, for Groove to add that user to another team; Groove does not override their team assignment from this field, but instead adds them to a team based on that field.

Deploying the Groove Outlook Add-in to your Users

Microsoft 365 admins can automatically deploy the Groove Outlook Add-in to users from the Admin Portal so that it's easier to manage onboarding for a large set of users or new users coming onboard:

  1. Click into the Integrated Apps section of the Admin Portal

  2. Click 'Get apps'

  3. Search for Groove, and select the following item

4. Choose 'Entire organization' or 'Specific users/groups' depending on who you would like to deploy Groove for:

5. Accept the permissions, then click 'Finish Deployment'

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?