Chapter 11

Analyzing, Importing, Exporting, and Updating Slack User Data

IN THIS CHAPTER

check Analyzing user data in Slack

check Getting data into and out of Slack

check Fusing Slack workspaces

check Updating Slack user data en masse

Employees who routinely use Slack generate data — lots and lots of data. Rather than let that data just accumulate in the background, though, Slack offers ways to analyze that data, back it up, move it around, and even bring it life.

This chapter details Slack’s native data-related features: analytics, data visualization, and the movement of data to and from workspaces.

What if you’re not interested in doing any of these data-related things with Slack just yet? Maybe you’re not a data person. I get it, but I still wouldn’t skip this chapter. It’s essential to know what you and others can and can’t do with all the information housed in Slack.

Analyzing Workspace Data

Via its analytics dashboard, Slack lets you view data about your workspace, its channels, and its members. Your individual access hinges upon your role as well as your organization’s Slack plan. People with more senior roles under a premium plan can do more with Slack data than regular Members under the Free plan.

Remember Members under Slack’s Free plan can view some valuable information, but customers on premium plans can go far deeper.

Slack’s analytics dashboard

Data-driven companies such as Slack recognize the value of providing users with valuable insights. Access Slack’s analytics dashboard by following these steps:

  1. Click on the main menu and choose Tools and then Analytics.
  2. Play around with the different options on channels, members, timeframes, and more.

    Your specific options will vary based upon your role and your firm’s plan. Figure 11-1 displays an example.

Screenshot of the Slack analytics dashboard displaying the Overview section with different options on channels, members, timeframes, and more.

FIGURE 11-1: Slack analytics dashboard.

You can immediately view workspace-specific stats that fall under the usage umbrella, including

  • Messages sent (and your plan’s limit, if any)
  • The total size of all of the files (and your plan’s limit, if any)
  • The apps that you’ve installed (and your plan’s limit, if any)

Tip Consider an organization using two different Slack workspaces. As of this writing, even its Owners and Admins can’t view a consolidated, multi-workspace view here or anywhere else. Put differently, they can only switch between workspace views.

Active members

When you scroll down in the Slack analytics dashboard, you can view a chart that displays active members by week, as Figure 11-2 shows.

Screenshot of a grid chart in the Slack analytics dashboard, 
displaying active members by week, and the members who posted in the workspace.

FIGURE 11-2: Slack chart showing active members (Standard plan).

Click on the Daily tab to the immediate left of Weekly to view daily numbers or “drill down,” as some folks say.

Public and private

In Slack’s analytics dashboard, you can scroll down to see a chart that contains the following information about your workspace:

  • The percentage of messages read in public channels by date
  • The percentage of messages read in private channels by date
  • The percentage of messages read in DMs by date

Figure 11-3 displays a breakdown of messages read by date.

Screenshot of a grid chart in the Slack analytics dashboard, 
displaying the percentage breakdown of public and private messages posted by active members by date.

FIGURE 11-3: Messages read: Breakdown by date.

At this point, you may be wondering: When and where are members posting the most channels in the workspace? The tab to the right provides an answer to that question. Specifically, Figure 11-4 includes

  • The percentage of messages sent in public channels by date
  • The percentage of messages sent in private channels by date
  • The percentage of messages sent in DMs by date

Tip Note that Figures 11-3 and 11-4 display aggregate numbers. For example, you can’t tell whether Neil and Alex exchanged 42 private messages on September 3rd, much less the specific subjects the two were discussing.

Messages and files

Say that you want to know how many messages and files workspace members are sharing. Slack customers on premium plans can view graphs that display the total number of messages sent and files uploaded in a given workspace in a graph similar to Figure 11-5.

Screenshot of a grid chart in the Slack analytics dashboard, 
displaying the aggregate numbers breakdown of public and private messages posted by active members by date.

FIGURE 11-4: Breakdown of messages sent by date.

Screenshot of a grid chart in the Slack analytics dashboard, 
displaying the total number of  messages sent and files uploaded in a workspaces by date.

FIGURE 11-5: Total workspace messages sent by date.

It’s not hard to identify peak periods for workspace communication. As Figure 11-6 shows, clicking on the tab to the right shows files shared by date.

Screenshot of a grid chart in the Slack analytics dashboard, 
displaying the number of workspace files shared by date.

FIGURE 11-6: Workspace files uploaded by date.

Warning As Slack correctly notes at the bottom of the page, never confuse quality with quantity. A spike in messages doesn’t mean that members are communicating better. An announcement or event may confuse them or employees may be bickering. At least with the data, however, you can investigate what’s going on.

Tip Slack’s charts and analytics may not fully answer underlying business questions, although they may point you in the right direction.

Channel-specific analytics

Under the Free plan, organizations can view basic channel data. Figure 11-7 provides an example of the channel analytics that you view on a Free plan.

To be sure, channel-specific analytics can provide useful insights. For example, perhaps it would make sense to archive or even delete unused channels — or at least make the suggestion. The content, context, and conversations in channels naturally evolve over time; some may effectively go dark. On the other end of the spectrum, this data may show that a broad channel is far too noisy. Maybe segmenting it or creating a new, more specific channel makes sense in this case.

Screenshot providing an example of the Slack channel analytics that is viewed by the users on a Free plan.

FIGURE 11-7: Slack channel analytics (Free plan).

You don’t need to be a data scientist, though, to wonder what other fields may yield valuable insights on how employees at your organization communicate. Fortunately, organizations on premium plans can view enhanced analytics such as those in Figure 11-8.

Screenshot providing an example of the Slack channel analytics that is viewed by the users on premium plans.

FIGURE 11-8: Slack channel analytics (premium plans).

Tip Clicking on the white Export column generates a comma-separated values (CSV) file. Download the file and analyze the data in Microsoft Excel or Tableau.

Member analytics

Under the Free plan, Slack displays basic information on Members, including unique user ID, user name, and email address. (Yes, your workspace may contain two employees named Elaine Benes, but Slack assigns each one a unique user ID.)

As long as members’ individual privileges permit, customers under Slack’s premium plans can view the following information on each workspace member:

  • The number of days active on Slack
  • The number of messages that each member has sent or posted

Figure 11-9 shows analytics that Slack users on premium plans can see.

Screenshot providing the list of the Slack member analytics that is viewed by the users on premium plans.

FIGURE 11-9: Slack member analytics (premium plans).

Here are a few tips to get the most out of Slack’s member analytics:

  • Use Slack’s search feature to quickly find members by first or last name.
  • Say that your organization is on a premium plan. You want to see more fields than Slack displays by default. Just click on Edit Columns to add even more granular member information (unless someone at your company has locked down that ability).
  • You can do much more with analytics by installing different third-party apps. You may want to read the terms of service, though. Slack is not responsible if developers access your organization’s data and things break bad. (See Chapter 10 for more information on this subject.).

Viewing Member Access Logs

Somethings seems off in your Slack account. You don’t recall posting a message in a channel, let alone sharing a file. Perhaps you suspect foul play or just want to check whether you’re going senile.

By keeping access logs, Slack makes it easy for you to the view following information related to your workspace logins:

  • The time and date that you logged in to your workspace.
  • Where you were when you logged in. No, Slack doesn’t know that you were in your living room or celebrating your 52nd birthday at a Denny’s in Albuquerque, New Mexico. Slack shows you the Internet Protocol or IP address used to access your account. (IP addresses correlate with physical locations.)
  • The device you used to log in to your account. It may be via a web browser, smartphone app, or a desktop app.

To view a sample member access log, follow these steps:

  1. Click on the main menu.
  2. From the drop-down menu, select Settings & administration and then Workspace settings.
  3. On the right-hand side of the page, click on Access Logs.

    Slack displays a log similar to Figure 11-10.

Remember For more on this subject, see “Viewing access logs” in Chapter 9.

Anyone who possesses a modicum of knowledge about enterprise security will tell you that this information helps forensics folks investigate breaches and other issues.

But what about Workspace Owners and Admins? They may well need to view more than just their own Slack activity, including their colleagues’ activity. Slack lets them view the following information on all workspace members:

  • The times and dates at which each workspace member signed in to Slack
  • The IP addresses they used to log in
  • The devices that the members used to access their account
Screenshot of the Slack Account page displaying the Access Logs listing out the details about access to your account.

FIGURE 11-10: Slack daily access log.

Tip You can export simple access logs from Slack to conduct additional analysis. However, user activity represents a small fraction of the information that you can export. (See the next section for more information on this subject.)

Moving Data Around in Slack

This era is nothing if not data-driven. Sometimes organizations wisely back up their data, provide it upon request to a third party, or decide to migrate it into a different application.

Slack’s management has long recognized this reality. To this end, Slack offers a number of powerful ways to export, import, and generally manipulate data.

Exporting data from Slack

Slack offers users three types of powerful data exporting capabilities:

  • Standard Export
  • Corporate Export
  • Discovery API export mechanism

Note that your workspace role governs whether you can access these tools.

Standard Export

If you’re a Workspace Owner or Admin, then you can export all messages and file links posted in public channels. Slack makes this option available for customers on all plans, including the Free one. Note that the Standard Export excludes DMs and messages posted in private channels.

To perform a Standard Export, follow these steps:

  1. Click on the main menu.
  2. From the drop-down menu, select Settings & administration and then Workspace settings.

    Slack then directs you to a URL specific to your workspace.

  3. Click on the white button labeled Import/Export Data at the top right-hand corner of the page.
  4. Click on the Export tab.

    You see a screen similar to Figure 11-11.

    Screenshot of the Slack Export Data page displaying the options where messages and files can be exported from your workspace with a Standard Export.

    FIGURE 11-11: Slack Export Data options.

  5. Select a date range.

    Slack provides a number of different date-based export options. You can select one of the predefined ones or enter a custom date range.

  6. Click on the Start Export button.

    Slack begins processing your export file. When it’s ready, Slack sends you an email with a downloadable link. Also, Slackbot sends you a DM containing the same link. It resembles Figure 11-12.

    Screenshot of a Slackbot DM sending an email with a downloadable link for data export.

    FIGURE 11-12: Slackbot DM with data export download link.

  7. Click on the link in Slackbot’s DM.

    Slack takes you back to your workspace’s unique data-export page.

    Tip Larger files take longer for both Slack to generate and you to download. If hundreds of employees at your organization have been using Slack for months or years, this process may take hours. Ditto if they regularly upload large files to the workspace.

  8. Scroll down the page.

    If you have exported data before, then Slack displays a section titled “Past Exports.”

  9. Click on the link to download the export file.

    You’ll see something similar to Figure 11-13.

    Screenshot of the Slack displaying a section titled Past Exports providing the details of a past manual export.

    FIGURE 11-13: Slack past exports.

  10. Click on the Ready for download link on the right under the Status column.

    The download for your export file begins. Ultimately, it consists of a single compressed or zipped file. After you unzip it, a series of folders and JavaScript Object Notation (JSON) files appears.

Technical Stuff JSON is a popular and lightweight data-interchange format that people can easily read. What’s more, machines can easily parse and generate JSON files.

Figure 11-14 shows the JSON files from my Slack For Dummies workspace.

As Figure 11-14 shows, Slack generates one JSON file per public channel per day with activity. (If no channel activity occurred on a given day, Slack doesn’t generate an empty JSON file. Slack also includes a file containing data about all members of your workspace.) This method includes individual and group DMs.

Screenshot displaying a list of unzipped files from Slack Standard Export along with the date modified, the size and type of files.

FIGURE 11-14: Unzipped files from Slack Standard Export.

Figure 11-15 displays an example of one of these JSON files.

Screenshot displaying the output of JSON data from a Slack Standard Export file.

FIGURE 11-15: JSON data from a Slack Standard Export file.

Warning If you’re thinking that you’ll just open these files in Excel and your favorite spreadsheet program will understand them, think again. JSON is an entirely different file format than both .XLSX and .CSV.

Corporate Export

If your organization pays for Slack’s Plus plan, then this option is available to Workspace Owners under limited circumstances. Note that your firm will need to submit an application to Slack. That is, Corporate Export isn’t available by default. It includes content from everything in the Slack workspace: public and private channels and direct messages.

Remember If a Workspace Owner or Admin enables Corporate Export for a workspace after Slack grants approval, then Standard Export is not available.

Discovery API export mechanism

What if a government agency, law firm, or compliance entity compels English paper company Wernham Hogg to turn over information on internal company communication? That is, the company needs to fulfill several different security, legal, and compliance obligations.

To meet this legitimate request, mercurial office manager David Brent needs to export or archive its Slack data in a way that the previous export options doesn’t allow. In this scenario, Slack as a company finds itself squarely in the middle of organizations with conflicting interests.

If you think that the potential for abuse exists here, trust your instincts. To this end, Slack doesn’t treat enhanced export requests willy-nilly. Rather, it mandates that an organization — in this case, Wernham Hogg — follow its own internal practices. Beyond that requirement, Slack ensures that the individuals and organization are legally entitled to request and view this information.

Slack approves these requests on a case-by-case basis, and only if Wernham Hogg meets two conditions. For starters, Slack makes the Discovery Export API available only to designated Org Owners under its Enterprise Grid plan. Second, customers must use pre-approved third-party apps and for only a number of limited purposes. Put differently, Slack will deny applications from nosy employees who lack sufficient documentation to justify their invasive requests.

For more detailed information on exporting in Slack, see bit.ly/slack-de.

Remember The content of your workspace’s export files stems directly from its message- and file-retention policies. For example, consider an organization that automatically deletes content from public channels after six months. As a result, an export today omits messages from a year ago. (For more on this subject, see Chapter 9.)

Importing data into Slack

Slack recognizes that your organization may have used different collaboration tools in the past. That is, the ideas of reducing internal email and building an internal knowledge base may not have dawned upon you because you use Slack For Dummies.

To this end, Slack provides a number of data-portability tools. At a high level, the goal is to facilitate an organizations’ efforts to import data from other collaboration tools into one of a Slack workspace.

Table 11-1 lists some of the external collaboration tools that you can bring into Slack.

TABLE 11-1 Slack Import Options for Third-Party Tools

Name

What Slack Allows You to Import

Flowdock

The app’s message history and files

Campfire

The app’s message history and files

CSV or text file

Data in a custom format. (Note that you may need to spend time mapping fields and cleaning up your data.)

ChatWork

The app’s message history and files

Slack sends you an email once it begins the import process.

Tip As of this writing, there is no simple, quick, and reliable way to migrate from Microsoft Teams to Slack — nor is the opposite true. Coincidence? I think not. After all, why would one company make it easy for its customers to move to the competition? I’m certain, though, that motivated and well-compensated software engineers have used Teams’ own data-exporting tools to successfully bring a good chunk of data into a Slack workspace — or will very soon.

Tip Say that you’re planning a data migration (including bringing third-party data into Slack). Consider the brilliantly reflexive Hofstadter’s Law: It always takes longer than you expect, even when you take into account Hofstadter’s Law.

Consolidating Slack workspaces

When I hold Slack training sessions, my clients are brimming with curiosity. They typically want to pick my brain about the best ways to configure the application. You know by now that Slack is very flexible. Occasionally, though, that flexibility can act as a curse. Understandably, no one wants to make the wrong decision.

During these conversations, it’s usually only a matter of time before someone asks me: How many workspaces should our organization create?

For several reasons, my default answer is always one. First, you can create as many public and private channels in a single workspace as you like. (See Chapter 3 for more information on this topic.) There really isn’t a compelling reason to segment employees any further. (As Chapter 9 discusses, Enterprise Grid customers can customize security at a remarkably granular level within a given workspace.)

Second, Slack’s default ability to analyze member data is workspace-specific. That is, access logs and usage statistics don’t transcend workspaces. In this sense, no Slack entity is above the workspace. (Chapter 2 covers this topic in more detail.)

Technical Stuff If you’re technically inclined, you can attempt to merge export files from different workspaces for additional analysis. Depending on your chops, maybe you can even automate that process. I performed similar work for my clients before becoming a college professor. If you know what you’re doing, it’s not that hard. Regardless, this feat would involve extra and unnecessary work if your organization had simply created a single workspace from the get-go.

Third, firms that decide to fuse together disparate workspaces may encounter data-migration problems. Generally speaking, the process of extracting, transforming, and loading data (ETL) is simpler in theory than in practice.

I should know. I spent a good part of my consulting career helping organizations extract, cleanse, and move data from one system to another.

People who, for whatever reason, set up multiple workspaces and subsequently change their minds are in luck: Slack makes consolidating data from multiple workspaces easy. A fictitious example may clarify how to execute this process:

Employees at Satriani General Hospital love using Slack. Its HR and payroll departments, however, each use separate workspaces. For a long time, it’s been a problem. Lately it has exacerbated. Among the many issues: HR clerks process employee raises, status changes, and transfers but sometimes forget to enter them in their HRIS in a timely manner. Urgent last-minute emails and phone calls typically make matters worse. As a result, about one-quarter of the time employees don’t see their raises on their paychecks. This issue irritates the payroll manager and her staff because employees always tear into them.

At a meeting, the HR clerks pledge not to fall behind on their work. Both departments agree to communicate better in person and virtually via a single Slack workspace. To this end, they ask IT to consolidate the two workspaces. (Creating a new one just wasn’t necessary. Satriani’s payroll workspace will absorb the HR one.) Once IT completes that process, employees from both departments will use the newly named Payroll&HR workspace. Everybody wins.

Joe works in IT and he handles the migration. He completes the following high-level steps, ideally late at night or on the weekend when no one is using either workspace:

  1. Export the data from the HR workspace.
  2. Upload the HR export file of the Slack workspace.

    Slack provides two options here. First, if the export file is small enough, members can just upload it by clicking on the link. Because of the size of the HR file in this case, that method is just not going to fly for Joe.

    Joe must take advantage of Slack’s second option. He uploads the file to a secure, cloud-based file-sharing service. (Several years ago, Satriani purchased an enterprise-wide Dropbox license). After uploading it, he copies the file’s link.

  3. Choose which members to import.

    Slack offers several options on how to handle importing workspace members. Because two employees may share the same name, Slack tries matching employees by email address because it is a unique field.

  4. Choose which channels to import and set their options.

    Again, Slack provides plenty of alternatives here.

  5. Review the summary.
  6. If you’re satisfied with the results, begin the import.

    Slack sends you an email once it has finished importing the data.

Tip I intentionally simplified the migration process for the sake of space. Make no mistake: Slack provides many options during each of the preceding steps. To view detailed instructions and more information, see bit.ly/2ksSDW3.

Tip To watch a straightforward four-minute video in which I import data from one workspace into another, visit bit.ly/2kxmlJz.

Avoiding mistakes when migrating data

When dealing with any data migration in any system, certain truths always hold:

  • You must communicate to your colleagues exactly what you’re doing, why, and when you’ll be doing it. Slack is no exception to this rule.

    Consider the following: Employees continue to send messages and upload files after IT has downloaded the import file. Guess what? Those new messages won’t appear in the new, consolidated workspace.

  • Next, don’t immediately delete old workspaces after your migration. You can’t unring that bell. It’s better to archive them in the event that an issue creeps up down the road. I wouldn’t hold on to them forever, though. Six months is a reasonable time.
  • Finally, a Slack-to-Slack migration should go smoothly. After all, the source and target systems are one and the same. Should and will, though, are two very different things — particularly if you’re dealing with a large amount of data. Hope for the best, but prepare for the worst.

Performing Mass Updates to User Data

Chapter 8 covers how customers of the Plus and Enterprise Grid plans can add their own custom fields. To be sure, the reasons will vary. For the most part, though, these fields help members better understand their colleagues and their roles.

As for populating these fields, getting 40 employees in a workspace to add their favorite bands or Twitter handles to their profiles shouldn’t take much effort. A polite request in a public channel should do the trick. But what if a 4,000-employee company wants to add six custom fields per Slack member? That seems like an awful lot of data entry, and the chance for error is significant.

Fortunately, Slack supports two similar methods for Workspace Owners and Admins to tackle this data problem en masse:

  • Users can access a powerful application programming interface (API) for identity management — the System for Cross-domain Identity Management (SCIM API). At a high level, SCIM is an open protocol that uses cloud computing to automate the exchange of personal data between different information systems or domains. For example, if you want to move a bunch of names, email addresses, or phone numbers from system A to system B, you can use SCIM.

    Technical Stuff For much more on this topic, see bit.ly/2n6ezqQ and bit.ly/slack-prov.

  • Say that your organization isn’t using an identity provider with built-in SCIM provisioning capabilities. In this case, you’ll need to create a custom solution with the SCIM API. For much more on this topic, see https://api.slack.com/scim.