Slack Integration Guide
This document provides instructions for integrating your Sococo space with Slack, and using the integrated features
Integrating Your Sococo Space with Slack
Integrating a Sococo space with Slack is a two step process:
1. A Sococo space is "mapped" to a Slack team which results in:
a. the Sococo space 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 space 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 Spaces can be authorized to a Slack Team in a 1:1 mapping.
Mapping a Sococo Space to a Slack Team
To integrate a Sococo space 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 space 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.
However, we recently worked with a larger enterprise who had taken away this default permission from the majority of its Slack team members. Without it, Sococo users at this organization could not sign in to Sococo using their Slack credentials. Good news: We've contacted the Slack dev team and learned that they are working on finer-grained controls to improve this experience.
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 Space you have access to. You will have access to any Sococo spaces mapped to that Slack team. If there are currently no spaces mapped to that Slack team, a new Sococo space 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 spaces 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 space
Once a Sococo space is mapped to a Slack team, all members of that Slack team can access that Sococo space. In other words, they do not need to explicitly invited.
Slack team member accessible via Sococo People Pane
Once a Sococo space 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 Spaces 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 spaces mapped to that Slack team via the Sococo Space 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 space 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 space name] [destination room name]
/sococo @jon @carrie @justin @nate Conference A
Note: When multiple Sococo spaces are mapped to a single Slack team, /sococo will use the following rules to determine which space to route users to:
- If a space name is specified in the slash command, use the space name specified
- If a space name is not specified in the slash command, use the first space (i.e the space with the oldest creation time). Note that one or more spaces can be mapped to a Slack team.
Mapping Sococo spaces to Large Slack Directories
Integrating spaces 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 space 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 space moderators to “map” Sococo spaces 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 spaces and rooms in Sococo.
1. Provisioning Spaces: For each space needed:
a. Create the Sococo Space
b. Login to the Sococo space as an Org Administrator
c. Map the Sococo Space to the Slack Team
Note: For large deployments, it is beneficial to engage Sococo Support who can assist in quickly provisioning spaces in batch under your Sococo Account.
2. On-Boarding Slack "Team Channels" : For each Slack "Team Channel"
a. Identify the Sococo Space 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 space, 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 space, 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