The Enterprise Slack Service at UCLA
In the summer of 2020 UCLA IT Services leadership began moving forward on an enterprise implementation of the Slack Grid product for all of UCLA. An assessment by Slack showed that over 2000 free and paid Slack workspaces had been created by people with UCLA email accounts, and so implementing an enterprise service would not only facilitate communications but could provide a path for free an paid workspaces to migrate into the Grid and have the benefits of a paid workspace without bearing the cost.
The project was headed by our CTO and I was assigned the role of solutions architect, primarily providing knowledge of UCLA's environment to the Slack and Deloitte members of the implementation team. By September 2020 we were creating and migrating workspaces in the UCLA Slack Grid in support of the campus community of over 60,000. The project was implemented quickly and anticipating rapid growth we developed and implemented a set of workflows so that support requests could be entered in Slack, worked in Slack, and completed in Slack. This not only improves efficiency by allowing users to remain in Slack without switching to the telephone or email to make a request, but also leverages useful features of Slack such as channel history and integration with apps, while also providing certain information about the identity of the individual making the request and facilitating any followup DM's (Slack Direct Messages) that may be required to get additional information from the requestor.
Most of the request workflows were created in September 2020 and we have improved them and added a few additional ones as the product has been adopted by the campus. Within the first year we created over 150 workspaces, migrated nearly 100, and have almost 5000 active Slack members. All of this growth has been accomplished without the need to add additional support staff. Thanks in part to the use of the Slack workflows.
I was asked by Slack to participate in a customer panel about Slack and discuss UCLA's use of workflows scheduled for September 1, 2021. This blog post provides more detailed information for those who may have an interest in adapting our model for their own institution.
How Workflows are Used Within UCLA Slack
Workflows are a feature of Slack that allow forms-based entry of information and distribution of information to channels, individuals, or applications. Workflows are attached to channels and can appear in the channel shortcut menu or be automatically initiated when someone first joins the channel. Workflows can also be integrated with Google Sheets so that logs can be kept outside of Slack itself and access to those logs can be granted to people who may not have need to be in the Slack channels themselves.
We chose to put the workflows in a small number of channels so that they would easy for people to find:
Workflows in the UCLA Community workspace #slack-requests channel are for requests from the community to the UCLA community admins or Grid org admins. This is where the majority of workflows can be found. Some of the workflows include:
- Request workspace creation
- Request workspace migration
- Request workspace deletion
- Request a public channel be set to private
- Request a channel be archived or deleted
- Request a channel be unarchived
- Request a channel be moved
- Request a workspace be added or removed from a channel
- Request a channel be shared with an external Slack workspace
- Request application approval
- Suggestion Box
- Report Slack misuse
On joining the #slack-requests channel a workflow initiates which provides information about the workflows and how to initiate them from the channel's shortcut menu.
Workflow when joining slack-requests channel |
Workflows in the private slack-admins channel are for requests from workspace administrators or owners to Grid org admins. Examples of some workflows in this channel are:
- Request workspace owner transfer
- Grant or Revoke Channel Administrator role
Workflows in the #slack-help and #slack-feedback channels which are available in all workspaces allow suggestion box style entry of feature requests for review as well as reporting Slack misuse to administrators for investigation.
Standard Workflow Structure
All of the workflows follow a common structure so that if someone uses one workflow they will be comfortable with any other workflow. Following a standard approach also shortens the development time required to create new workflows.
The standard workflow structure is:
- Provide a brief description of the purpose of the workflow
- An entry form to collect particulars of the request
- Route the form information to a private channel for it to be worked
- Log the form information to a Google Sheets document for external capture and visibility for non-Slack administrators (not all workflows require this)
- Produce a receipt of the form information for the requestor
- and, thank the requestor for submitting the request
Workflow Demonstration - Suggestion Box workflow
Google Sheets Integration
Google Sheets About tab for the Slack Suggestion Box workflow |
Workflow Tips
- Have at least one collaborator on a workflow in case a change is needed and you are not available
- When requesting a channel name on a form ask for it twice, once with a pull down and once as free form text. This not only verifies the channel name but if the channel is a private channel the admin may not see the name from the pull down option.
- There is a maximum of 10 questions on a workflow form. Use them carefully.
- The length of a workflow name is limited by the menu they are displayed in. So use consistent abbreviations.
- If a workflow form contains optional questions then if possible make the final question in the form mandatory. This will force the user to scroll to the bottom of the form, seeing all of the questions, before submitting the form.
- The shortcut menu may not be obvious so use a custom blue lightning bolt icon if possible when referring to it.
- The Google Sheets integration does not have a way to automatically timestamp entries, so if the date is needed you will need to ask the user to enter it in the form.
- Always capture information about who is entering the form so that you can easily follow up.
- Do not share forms back to the channel. There is no reason for anyone in the channel to see a request.
- Be aware that the order of workflows in the channel shortcuts menu is based on individual user usage, not alphabetical order.
- If you need the same workflow to be present in multiple channels and write to a Google Sheets log, then set up a different sheet tab for each workflow to write to.
- Use emojis and set a casual and friendly tone. If people do not feel comfortable using the workflow they will resort to email or the telephone.