Slack Integration Guide
This document provides instructions for integrating your Sococo workspace with Slack, and using the integrated features.
Integrating Your Sococo Workspace with Slack
Integrating a Sococo workspace with Slack is a two step process:
1. A Sococo workspace is "mapped" to a Slack team which results in:
a. the Sococo workspace being associated with the Slack team in the Sococo system (mapped via Slack-granted access token)
b. the installation of the /sococo app command integration within the Slack team
Note: Mapping a Sococo workspace to a Slack team will result in our Sococo app being installed in the Slack team. The user executing these steps must have the privileges to install apps in Slack. See "Mapping a Sococo Space to a Slack Team" below for details.
2. Each Sococo user must be "mapped" to a Slack identity. Each user maps themselves (no administrative tasks) either by:
a. Using the "Login with Slack" login option which delegates authentication to Slack
b. Logs in natively and then explicitly maps their Sococo identity to a Slack identity via an OAuth access token granted by Slack. This Sococo user can access Slack team members via chat and "Get from Sococo." See "Authorizing Users in Sococo to Access Slack" below for details.
Note: Sococo workspaces can be authorized to a Slack Team in a 1:1 mapping.
Mapping a Sococo Workspace to a Slack Team
To integrate a Sococo workspace to a Slack team, follow these steps:
1. Open the menu at the top left of the client, and select "Settings" from the menu.
2. Select the "Slack Integration" option under the "Integrations" settings section.
3. Select the "Connect" option on the right pane.
4. Follow the Slack Authorization flow. Note: The authorizing Slack user will need privileges to install apps in Slack.
5. Upon success, you will see a list of Sococo workspace members. As individual users authorize themselves from Sococo to Slack, this list will reflect their authorization status.
Approving Sococo in Slack
If the 'Approved Apps' control is set to "ON" for the target Slack team that Sococo is being integrated with, a Slack Team Owner must 'Approve' the Sococo app within Slack before Slack team members will be able to Access it.
To do this, navigate to your Slack "Team Settings" page and select the "Permissions" tab, and click through the "Apps and Custom integrations" link.
Slack "App and Custom Integrations" dialog
Slack "Manage approved apps" dialog
Authorizing Users in Sococo to Access Slack
Required Slack Permissions
At this time, only Slack users who are approved to add/edit apps (according to your Slack team permissions) will be allowed to authenticate new apps--such as Sococo--using OAuth.
Slack full members are granted the permission to add/edit integrations by default so this has not been an issue for most Sococo users.
Here's how to confirm the settings for your Slack team permissions
1. Logged in as the Slack Admin, from the home page click "Team Settings"
2. From the "Team Settings" page, select the "Permissions" tab. Click "expand" by "Apps & Custom Integration"
3. Confirm in the "Apps & Custom Integration" section that the radio button is selected by "Any full team member" to indicated who can create/edit apps and custom integrations. This is the permission required to allow users to sign into Sococo using their Slack credentials.
Logging in with Slack Credentials
For new Sococo users, the easiest and recommended way to authorize your Sococo identity to access a Slack team is to simply log in with your Slack credentials.
Note: The Slack team which you authorize against will determine which Sococo workspace you have access to. You will have access to any Sococo workspaces mapped to that Slack team. If there are currently no workspaces mapped to that Slack team, a new Sococo workspace will be created and mapped to your Slack team.
1. Navigate to app.sococo.com/slack.
Note: The "Login with Slack" option is currently available at app.sococo.com or via the desktop app by clicking on the lower left corner of the login screen 8 times. The option will be added to the main login screen shortly.
2. Select the "Login with Slack"
3. Follow the Slack authorization flow.
Integrating an Existing Sococo User with Slack
For existing Sococo users (for example, users are members of workspaces that existed prior to integration to a Slack team) we recommend logging in with your existing Sococo credentials. An explicit authorization of that user is required before they can use chat within Sococo to message users in Slack.
To do this, simply open a person to person chat window and follow the instructions in the yellow bar at the top of the chat box.
Note: Selecting "Connect" will display in a Slack authorization popup that will allow you to Authorize access to Slack. If using Sococo via the Chrome browser, you may need to disable the popup blocker to display this window.
Accessing People on Your Slack Team from Sococo
All Slack team members have access to the workspace
Once a Sococo workspace is mapped to a Slack team, all members of that Slack team can access that Sococo workspace. In other words, they do not need to explicitly invited.
Slack team member accessible via Sococo People Pane
Once a Sococo workspace is mapped to a Slack team, all Slack team members can be accessed from Sococo via the People Pane. Specifically, you can chat with any Slack team member, or "Get" (ask them to join you in a room) any Slack team member to a meeting from Sococo.
Chatting Slack users from Sococo
Chat any Slack team member from Sococo:
1. Right click on the user's avatar and select "Open Chat".
2. You can then enter test into the Sococo Chat window. These messages will be delivered to users in both Sococo and in Slack.
a. You will also receive chats in Sococo from any Slack team members that direct message you from Slack.
b. Also, you will notice that the Sococo chat window will show recent direct message history from Slack.
Issuing a Sococo Get to a Slack user
You can "Get" (ask to join you in a room) a Slack user within Sococo.
1. Right click on the user's avatar and select "Get User"
2. This will result in a Get notification being delivered in Sococo as well as in Slack as a direct message.
3. A user can respond to the Get from within Sococo by simply clicking the "Please click here to join!" link in the Slack direct message.
Note: Get messages will be delivered from Sococo Bot
Navigating Multiple Sococo Workspaces Mapped to the Same Slack Team
Any member of a Slack team logging in to Sococo can see and be able to access all Sococo workspaces mapped to that Slack team via the Sococo workspace drop down list.
Starting and Joining Sococo Meetings from Slack
Start a meeting in a Sococo room by issuing a /sococo command.
Invite all members of a channel
Issuing a /sococo command in a channel without any input parameters will result in:
1. A @channel style message being sent to the channel with a link to the Sococo room where the meeting will be held
2. Any member of the channel can join the meeting by clicking the link.
3. The meeting will be hosted in the largest available (empty) room in the Sococo workspace mapped to the channel.
Note: You can use /sococo to invite specific users to a meeting and select the destination meeting room.
/sococo [@user1, @user2, @user3,...] [destination workspace name] [destination room name]
/sococo @jon @carrie @justin @nate Conference A
Note: When multiple Sococo workspaces are mapped to a single Slack team, /sococo will use the following rules to determine which workspace to route users to:
- If a workspace name is specified in the slash command, use the workspace name specified
- If a workspace name is not specified in the slash command, use the first workspace (i.e the workspace with the oldest creation time). Note that one or more workspaces can be mapped to a Slack team.
Mapping Sococo workspaces to Large Slack Directories
Integrating workspaces with Large Slack teams can be overwhelming if not done with care due to the fact that ‘all’ users in the Slack team directory will be accessible in a Sococo workspace mapped to that team (and all of those users will be listed in the People Pane).
We are working to deliver features within the product that will allow workspace moderators to “map” Sococo workspaces to sub segments of the Slack team directory (to a set of users, a set of channels, or combination)
Many large Slack organizations apply a “Team Channel” organization pattern, creating a channel for each organizational team within Slack and inviting the members of that team to the channel.
The following procedure can be followed to “map” these “Team Channels” to workspaces and rooms in Sococo.
1. Provisioning Workspaces: For each workspace needed:
a. Create the Sococo workspace
b. Login to the Sococo workspace as an Org Administrator
c. Map the Sococo Workspace to the Slack Team
Note: For large deployments, it is beneficial to engage Sococo Support who can assist in quickly provisioning workspaces in batch under your Sococo Account.
2. On-Boarding Slack "Team Channels" : For each Slack "Team Channel"
a. Identify the Sococo workspace and room that will be mapped to the specific Slack Channel. Recommendation: Label the Room with the same name as the Slack Channel.
b. Log into Slack
c. Issue a /sococo 'spacename' 'roomname' from within the Slack channel (where 'spacename' and 'roomname' are the targets identified in step a.) to summon all channel members into their Sococo room for the first time.
d. Each member will onboard by deleting the "Please click here to join!" link that was generated by the /sococo command. This will ask them to authorize against Slack, establish membership in the target workspace, and be placed in their channel room.
e. Ask each member to:
1. set the channel room as their home room
2.'Add to Starred' each member of their Slack Channel Team
3. On going use:
a. To initiate meeting from Slack on demand, anyone on the channel team can issue a /sococo 'spacename' 'roomname' command in the Slack channel. This will invite all members of that Slack channel to the team's Sococo room.
b. When in the Sococo team room, members will have ease of access to their channel team members via "Starred" favorites.
Addendums and Known Gaps
1. Joining meetings from Slack: There are some limitations when joining a Sococo meeting from Slack.
a. Default Browser: Following a "Please click here to join!" Link generated by a /sococo command or a Sococo 'Get' will launch your default browser. The Sococo web client is currently supported in Chrome only. Joining meetings from Slack with a non-Chrome browser as the default will result in an 'Unsupported Browser' page being displayed
b. Existing Sococo sessions and Browser Tabs: Joining a meeting from Slack by following the "Please click here to join!" link generated by a /sococo command or a Sococo 'Get' will log out a current Sococo session, and establish a new Sococo session in a new browser tab.
Note: We will handle both of these cases more seamlessly in future releases.
2. Initiating Slack Group Messages from Sococo: In the current release of Sococo, users can receive notifications, read, and respond to Slack group messages from within a Sococo workspace, but they cannot instantiate a new group message (i.e. select specific users and create a new group message channel). We will add this capability in a future release.
We have also created a video to walk Administrators through the basic Slack integration process, which can be found here: Sococo - Slack Integration Guide