Wednesday, March 21, 2018

Google G Suite Hangouts Chat vs Slack

On February 28th, 2018 Google made G Suite Hangouts Chat available to everyone. We've been using it in house for many months as part of the Early Adopters program and found it to be an excellent team collaboration tool. Hangouts Chat is seen as a competitor to Slack which we've implemented for some of our customers. It can also be compared to services like Microsoft Teams, Workplace by Facebook, and HipChat.

Note that Hangouts Chat should not be confused with Google Hangouts which is what most Google Search results will compare Slack to. Google Hangouts has been available for many years and is an instant messaging and video conferencing solution but lacks the chat rooms in the style of Slack.

Hangouts Chat


Some of our favourite cloud applications have released integrations to Hangouts Chat such as ProsperWorks CRM and Xero Accounting Software.

Many of our customers are already using Slack which is well integrated to Google Drive, Google Hangouts, and Google Calendar. So a common question is should G Suite customers stick with Slack or switch to Hangouts Chat?

Let's compare:

Hangouts ChatSlack
Price$0 for existing G Suite customers https://gsuite.google.com/pricing.htmlfree or $8 to $15 per month per user with discounts available for annual plans https://slack.com/pricing
Single Sign On (SSO)Yes - nothing to configureYes with $15/month Enterprise plan and some setup
Google Drive IntegrationYesYes - but permissions not integrated so must ensure document is shared with correct people to match channel
Google Calendar IntegrationYes - Including @Meet bot to book meetings with channel members when they're availableYes - but not as feature rich
Google Hangouts IntegrationYes - Direct messages in Hangouts Chat are sent to users on Google HangoutsPartial - only for opening a Hangouts video conference/meeting from within a channel. No direct message integration to Hangouts
Gmail Inbox Integration on web browserYes - New chat message indicator appears top right corner which helps bring users into Hangouts Chat organically from the user interface they use constantlyNo - Users must open Slack to be notified of new messages
Mobile AppsAndroid, iOSAndroid, iOS
eDiscovery /ComplianceYes - fully integrated to Google Vault so admins can set retention policies, search, and retain data for legal matters https://gsuiteupdates.googleblog.com/2018/02/google-vault-support-for-hangouts-chat.htmlPartial - On Enterprise plan admins can export all data from a channel. Additional cost add-on tools are available that work with the Discovery API https://get.slack.help/hc/en-us/articles/204897248-Guide-to-Slack-data-exports
Conversation ThreadingYes. Built to always thread conversations keeping messages in contextPartial - Does not thread by default but users can choose to thread messages. https://get.slack.help/hc/en-us/articles/115000769927-Message-threads
SecuritySupports all G Suite security features and admin settings such as two-factor authentication, mobile device management for remote wipe, security keys, etc. No separate user directory to manage.Supports two-factor authentication but must be managed separately unless on Enterprise plan and logins are restricted to G Suite SSO. Users must be added/deleted separately. Remote wipe not available without third party apps
Languages28 supported5 supported
3rd party integrationsYesYes - certainly Slack's popularity and eco-system of add-ons has an advantage
Source: Google Sheet Comparison

At Interlock IT we have experience programming integrations to Slack such as auto creating or updating a Google Sheet from within a Slack channel.

Both products have their advantages and disadvantages. Switching a significant user base over to Hangouts Chat from Slack could be challenging. But if your team hasn't started with Slack, Google is offering an excellent ready to go solution for no additional cost.

Certainly feel free to reach out to us with questions, comments, or custom integration needs at Interlock IT.

Thursday, March 1, 2018

G Suite Calendar Interop: share free/busy data between G Suite and Office 365!

Google has recently released a new version of Calendar Interop which includes the much-anticipated support for Office 365. In light of this--as well as the old version being deprecated--we have run into a few clients that found the available instructions a bit hard to follow.

That's where Interlockit.com comes in to save the day! We're getting straight into the technical details in this post, so put on your geek face and pour yourself a fresh coffee before jumping in.

Prerequisites!


  • Access to a G Suite Super Admin account.
  • Access to an Office 365 Global Admin account.
  • One spare G Suite license to use as a role account.
  • You will need to know how to connect to Exchange Online Powershell and run simple powershell commands.
  • Users must not have matching accounts in both G Suite and Office 365; both systems will prioritize internal users and ignore Calendar Interop if an internal user is found during lookup.

Create role account


In order to facilitate sharing of calendar information between your G Suite and Office 365 tenant, a role account must exist on each side.

On G Suite


  • Sign into your Google Admin Console and go to the Users section.
  • Configure a new regular user account (no admin privileges) with an email address of your choosing. I recommend “interop@yourgsuitedomain.com”.
  • It is recommended this account be used exclusively for calendar interop.
  • Go ahead and set a permanent password right away and keep it ins a safe place. We will need to log in to this account to complete steps later in this guide.

*tip: leave the Admin Console open until you have completed this guide, as you will need it in following steps.


On Office 365

  • Configure a new mail-enabled user (no additional privileges) using the New-MailUser cmdlet in Exchange Online Powershell. Example:

    New-MailUser -Name "Calendar Interop" -ExternalEmailAddress interop@externaldomain.com -MicrosoftOnlineServicesID interop@your365domain.com -Password (ConvertTo-SecureString -String ‘yourpassword' -AsPlainText -Force)

  • The name can be anything, so be descriptive.
  • This email address must not exist in Office 365 as a user or contact. The role account shouldn’t need to receive mail, so it doesn’t really matter what address you use here.
  • This email address must use an accepted domain in Office 365. This address will not accept mail, but behaves like the user ID for the role account on your tenant.
  • Set any password you like. It must be within ‘single-quotes’.
  • It is recommended this account be used exclusively for calendar interop.

*tip: leave Powershell open until you have completed this guide, as you will need it in following steps.

Create an Office 365 availability configuration


In order to give our Office 365 role account the ability to feed free/busy data to G Suite, we must create a new availability configuration and assign it to the role account using the New-AvailabilityConfig cmdlet in Exchange Online Powershell:

New-AvailabilityConfig -OrgWideAccount “Calendar Interop”

Make sure you use the same name in quotes used when first setting up the Office 365 role account.

Configure the G Suite admin console

  • Sign into your Google Admin Console and navigate to Apps > G Suite > Calendar
  • Scroll down and expand the “Calendar Interop Management” section.



Add the availability address space in Office 365

  • From your G Suite admin account, open Google’s Credential Generation Tool. Check the box, and click “Generate new credentials”


  • When prompted, sign in with the G Suite role account you created earlier. It will ask for permission to access calendar data. Click “Allow”.

  • Click “Download”, and save the credentials.dat file somewhere safe--you will not be able to retrieve this file again in the future without breaking the setup, requiring you to repeat all the steps in this section.


  • Click “Choose File” and select the credentials.dat file you downloaded in an earlier step.
  • Select “Exchange 2013 or newer, including Office 365”
  • Enter the user ID of the Office 365 role account, in this example we are using “interop@your365domain.com
  • Enter your G Suite domain in the field asking which address space you wish to add to exchange. In this example we are using “yourgsuitedomain.com”.
  • Click “Show Exchange Setup”.
  • You will be presented with the following page:

  • Copy-paste the above section of green text into Exchange Online Powershell. You may need to hit “Enter” once each command completes, until all the commands have been run.

Create contacts for your G Suite users in Office 365


In order for Office 365 to display the free/busy data for a G Suite user, that user must be represented as a contact in the Office 365 system:


You’re all set!

Now you can create a test event in a G Suite user account and an Office 365 user account respectively, to test that each are able to see the free/busy indicator of the other.

*tip: it may take a few hours for the Exchange Online settings in Office 365 to propagate, so if your initial tests don’t work, wait a few hours and try again before taking troubleshooting measures.

Google provides a Troubleshooting tool but it is limited in functionality. If you get lost, give me a shout over at Interlockit.com and we'll get you sorted in no time! Now, don't you feel like you deserve another coffee?