Introduction
Logikcull, a Slack eDiscovery partner, has built a direct integration with Slack's Discovery APIs. This allows Slack org owners on the Enterprise Grid plan to quickly and easily sign into Slack and export messages and files from any workspace within the organization directly into Logikcull, where Slack data is automatically imaged, indexed, and made fully searchable by keyword, metadata - even emojis 🤯
Connect With Slack Discovery Integration
*Slack Cloud Uploads are available on Subscription plans.
Setting Up: If you are an Org-level administrator on Slack's Enterprise Grid, you will be able to upload data from Slack to Logikcull via the integration. Visit our app directory page on Slack to download and approve the Logikcull application for your Slack Organization. Here are instructions for exporting your Enterprise Org from Slack. 🔗
Prerequisites:Please ensure the following before enabling the Slack API integration in Logikcull:
|
If the above conditions are met, proceed to either Option presented below to connect the Slack data source to Logikcull.
Setting up your Integration for Slack in Logikcull
Option 1: Connect to Slack API via Logikcull's Cloud Upload Form (click arrow to expand walk-through)
Option 1: Connect to Slack API via Logikcull's Cloud Upload Form (click arrow to expand walk-through)
Navigate to the Upload tab > click "+ Create a New" and select Cloud Upload > Import from Slack.
From the window that appears, click Select next to the "Connect with Slack" option.
A dialog box should pop-up and prompt you to input your workspace's Slack URL.
Next, you will be prompted to sign in using your Slack log-in credentials. The credentials must belong to a Slack Org Owner in order to connect to the integration.
*If you are not seeing a dialog box appear, please make sure that any pop-up blockers or extensions are disabled for your browser session.
Click Allow to grant Logikcull consent to the proper permissions to access your Slack data.
Note that the authorization will need to be granted for the Slack Organization, as opposed to the individual Slack Workspace. Confirm that the appropriate Slack Org (not Workspace) is selected from the drop-down box to the top right:
Once the proper consent has been granted, the following notification should appear in your Org's App for Slack page:
Close the log-in pop-up window. You can now proceed to import directly from Slack by following the prompts.
Option 2: Connect to Slack API via My Profile > Integrations page (click arrow to expand walk-through)
Option 2: Connect to Slack API via My Profile > Integrations page (click arrow to expand walk-through)
Click on your user icon in the left pane > Integrations > Connect to Slack:
Scroll down to the Integration for Slack option and select Connect to Slack. A pop-up window* should appear prompting you to input credentials for your Slack Organization. Enter the required Slack information and credentials (note: log-in credentials must be for an Org-Owner of your Slack Organization):
3. Once your credentials are entered, click Allow to grant Logikcull consent to the proper permissions to access your Slack data.
Note that the authorization will need to be granted for the Slack Organization, as opposed to the individual Slack Workspace. Confirm that the Slack Org (not Workspace) is selected from the drop-down box to the top right:
4. Once completed, you can navigate away from the My Profile page and create a new Cloud Upload to begin uploading Slack data directly through the integration.
Slack Credential Delegation
With credential delegation, more users can leverage the Slack integration than ever before. Slack Org Owners can delegate access to other Logikcull users for a specified time period, letting them upload Slack data via the API seamlessly (and without the need for temporary role changes).
How to Delegate Access to Credentials
ℹ️ These steps must be completed by a Logikcull Account Admin or the Account Owner.
Set up the Slack integration following the instructions above. The credentials must belong to a Slack Org Owner in order to connect to the integration.
Click on your user icon in the lefthand pane. Click Integrations and scroll down to the Slack section. Click Delegate Access:
Select the users you want to delegate permissions to from the address book on the left. Set an expiry date for each user's access ranging from one day to one year. When ready, click Delegate Access:
💡 Once a user has been delegated access, their status will be "Active." To add a user to the address book, add them to your account.
The users whom access was delegated to can now create Cloud Uploads using the Slack integration. When doing so, they will see a drop-down menu to Select access credential and can choose the Slack Org Owner:
These users can now follow the the steps outlined in the next section, Upload Slack Data via Slack API.
✉️ Account Admins who delegate access will be notified when an upload is created using their credentials.
The delegated user, and not the original credential holder, will appear as the upload user in the Logikcull app.
Upload Slack Data via Slack API
Once you connect to Logikcull's Integration for Slack, you can create a new upload in Logikcull that pulls directly from your Slack data source.
From the Uploads page, click Create a new > Cloud Upload > Import from Slack.
Click Select next to the Connect with Slack option. If you are already connected to the Integration for Slack, you will bypass the log-in screen and be directed automatically to the Import from Slack form (If prompted to sign in, refer to Setting up your Integration for Slack in Logikcull):
You can opt to import Slack data from All Participants, Selected Participants or Selected Channels.
If you are importing Slack data from Selected Channels, you will have no limitations on the date range you can select. Given the large volume of data associated to individual Slack users across multiple conversation types, there is a 6 month date range limit when opting to upload with Participants.
If you are importing Slack data from all Participants (i.e., Slack users), select the All Participants* option.
If you are importing Slack data from selected Participants, select the Select Participants option and either click the arrow to expand the drop-down menu of all available Participants or start typing the name of the Participant.
Each selected Participant will be listed under the bar. Once you have all of the Participants listed, proceed to Next: Upload Preferences.
*⚠️Note: The "All Participants" option is not recommended for most Slack workspaces, as Slack data is uniquely voluminous and selecting All Participants can balloon data to an unmanageable size. We strongly recommend grouping Slack Uploads by Selected Participants or Select Channels for best results. When selecting
Select the types of messages, chats, and conversations to import > click Next: Create Upload.
Click Here to read more below about including Slack Attachments in your Upload.
Enter the upload name and select the Custodian (*required field) > Enter a date range of messages to collect. 💡A Slack upload will collect up to 6 months of data per upload.
Once this information is entered, the Upload summary will display the stats for the upload.
👆 If you wish to hold the Slack Upload in a Preserved state (i.e., withhold from Processing), uncheck the box to Schedule this upload to process immediately.
Click Start Upload once you are ready to begin importing Slack data. The upload will begin to process in your Uploads tab.
💡 Unlike standard file uploads, Cloud Uploads (e.g., Slack) do not rely on you to be at your computer and connected during the transfer phase. Once you've started a transfer, you can move on to other work right away while you await your upload notification/email.
Slack Attachments
ℹ️ This feature is available to subscription accounts using our Slack Discovery API integration. Attachments are unavailable for "Drag-n-Drop" uploads of Slack ZIP exports.
Logikcull supports the inclusion of attachments and documents embedded in Slack conversation threads as part of your Slack Discovery API integration.
When creating a Slack Discovery upload, simply make sure the 📎 Attachments box is checked under the Options to Import from Slack:
Q: How are attachments identified in Logikcull?
Slack messages (Chats or Conversations) containing Attachments will be identified with a
"Has Embedded Files"
Auto Tag (QC Tag).The actual Attachments will be identified with an
"Embedded Document"
Auto Tag.
Q: How are Slack Attachments viewed in the document viewer?
When viewing a Slack message in the Document Viewer, attachments can be viewed and accessed in the Family field located on the right pane (similar to a child document).
Q: Are .GIFs collected as attachments?
.GIF files are collected as Slack attachments only if the .GIFs were downloaded and/or copied into the sent Slack message. .GIF files sent via Slack's in-app configuration(s) (e.g., Giphy) will not appear in Logikcull as an attachment:
Q: Are Voice Notes in Slack captured as attachments?
Yes! For files collected through Logikcull's Integration for Slack, voice notes recorded in-app via the Record Audio File option will appear as child documents to the Slack Chat.
Q: I have a manual Slack export. Will I be able to view the Slack attachments in Logikcull?
Manually exported Slack data will not include attachments files to be processed. The only option to get attachments will be to follow the embedded URL links in the rendered Slack message which indicates an attachment:
You may copy and paste the attachment URL into your browser - this link will automatically direct you to enter Slack credentials to verify that you have access to the Slack workspace in which this file exists. You will only be able to access to the attachment file if you have access to the Slack Workspace in which the attachment file originally exists. This is not controlled by Logikcull and you may need to request access from the Slack Workspace Admin or Owner for further steps to retrieve the file.
Reviewing Slack Data in Logikcull
Chat Filters
Chat filter facets are available for Slack files in the filter carousel to quickly search and narrow down on relevant metadata. Available filters include:
Chat / Conversation - Filter for a Slack Channel or Direct Messages
Chat / DM Participant - Filter for names and usernames of participants in Direct Messages specifically
Chat / Reaction - Filter for reaction emoji(s) used in messages
Chat / Sender - Filter for names and usernames of users who sent or posted messages
✏️ The Chat / DM Participant filter facet will only populate with individuals who have participated in a Direct Message; it will not populate for public channel messages. To see individuals who participated in a channel, see the Chat / Sender facet.
General Info
Structure
Slack messages are rendered as 1 .slack
file per day. If a Slack Conversation spans multiple days, the messages will be broken up in 1-day intervals per document.
For example, a Conversation that begins on January 1, 2023 and ends on January 3, 2023 will consist of 3 separate .slack
files.
Processing
All documents are rendered to HTML and then to PDF for easy review, redacting, and downloading.
Edited / Deleted Messages
Logikcull will capture Edited and Deleted messages from the Slack data source if the Slack Workspace's retention settings ("Message history") are set for either:
Keep Everything
Delete messages and their revisions but full history still accessible via corporate exports
If Edited and Deleted messages are included in the uploaded Slack data, easily identify these messages in Logikcull by filtering for the following Auto Tags:
"Has Slack Edited Messages"
"Has Slack Deleted Messages"
Edited and Deleted messages (but not the original messages) may survive Slack's retention policies, depending on the settings for your organization. To pull in the Edited or Deleted events, enter the date range that the messages were Edited/Deleted in Logikcull to pull in those Edited/Deleted events*.
*To clarify, the original Slack Messages will not be preserved or pulled in through this action
Slack Channels
Slack Channel names are preserved and searchable in the File Path field (appended) and Slack Conversation Name field.
Slack DMs and Slack Channels are displayed in a single facet (collected together within the Chat / Conversation field). Slack Channels are prefixed with the #
symbol, while DMs are not.
How to Search for Messages from a Specific Slack Channel:
How to Search for Messages from a Specific Slack Channel:
To filter for messages from a specific Slack channel, you can type in the name of the channel in the Chat / Conversation field in the filter carousel (include the prefix #
):
Or, use the Advanced Search Builder to search the Slack Conversation Name field (sans the prefix #
):
How to Search for Direct Messages between Participants:
How to Search for Direct Messages between Participants:
To filter for Direct Messages between 2 or more individuals, filter for the individuals in the Chat / DM Participant field in the filter carousel:
☝️ The DM Participants selected as additional filters should appear as blue pills under the filter carousel.
Next, type in the usernames (i.e., the names following the @ symbol in the Chat / DM Participant field) of the DM Participants in the Chat / DM Participant field:
💡 Switch the order of names type in the Chat / Conversation box if the initial order does not show results. If no results appear for those 2 individuals typed in either order, the data set does not contain Direct Messages where only those 2 individuals were Participants.
Upload Slack Data via Manual Transfer
Exporting a Slack Workspace: Workspace Owners and Admins can export data from their workspace. Here are instructions for exporting from Slack. 🔗
From your desktop, click your workspace name in the top left.
Select Administration, then Workspace settings from the menu.
Choose Import/Export Data in the top right.
Select the Export tab.
Click Start Export. Slack will send you an email once it's ready.
Open the email and click Visit your workspace's export page.
Click Ready for download to access the .zip file.
The exported .zip file will contain your message history (in JSON format) and file links from all public channels.
ℹ️ This is the file you should upload to Logikcull. It's important to keep the Slack upload you receive prior to uploading intact. Please do not modify the contents of original zip. Modified Slack zips will not upload correctly.
Uploading your exported Slack zip archive into Logikcull:
Start by navigating over to the Uploads tab in your Logikcull Project.
Then select Create New > Cloud Upload > Import from Slack.
Select Manual Transfer from Slack from the options.
Drag-and-drop or browse to select your zipped Slack archive.
Assign the workspace (Custodian) name to the upload, and optionally assign a company name as well.
Name the Upload.
Select Start Upload.
Requirements for Manual Slack Export JSON Files
The folder structure must have the reference files on the root level or one level in. To clarify, for the following example, you can either select all > compress, or you can encase these files in a folder and compress that folder:
Logikcull Integration for Slack FAQ's
What Slack plans will this integration work with?
This integration works with Slack Enterprise Grid plan.
What data is collected through this integration?
Messages and files in Public Channels for each Workspace
Messages and files in Private Channels for each Workspace
Messages and files in Multi-Person Direct Messages (MPDMs) for the Organization
Messages and files in Direct Messages for the Organization
Messages and files in Public Shared Channels for the Organization
Messages and files in Private Shared Channels for the Organization
Files across an Organization
Will I be able to collect data from a migrated Slack Workspace?
If the Participant of a migrated Slack Channel is not a Participant of the receiving/new Workspace, Slack’s API will not be able to pull the necessary data. You may have migrated chat/message data from a previous Workspace for an individual that is not a Participant in the receiving/new Workspace. Slack’s API will not pull that data.
Example:
Participant Joe Cull is in Workspace A.
The Slack Channel is migrated to Workspace B, where Joe Cull is not a member.
As a result, Joe Cull’s message data will not be pulled from Workspace B by Slack’s Discovery API.
You will only be able to collect data from a migrated Slack Workspace for a Participant that is in the receiving/new Slack workspace.
How does the integration authenticate with Slack?
Logikcull requests authorization to the Slack Organization via the Slack API to access data in a customer’s Slack organization via OAuth token. Once the Slack credentials are validated, Logikcull then asks for consent to access the Slack data.
What permission level does a user need to access the integration?
A Slack Org Owner needs to approve the Logikcull app (i.e., grant consent) to allow Logikcull to connect to the Slack organization.
Permission Details
The Logikcull app requests consent for the following permissions:
users:read
discovery:read
OAuth Scope | Description |
Permission to list users/custodians: | View people in a workspace |
Permission to retrieve Slack message and file data:
| View all of the organization’s messages (including all private channels and direct messages), as well as the organization’s files |
Full reference for Slack API scopes: https://api.slack.com/scopes
Guide to Slack Discovery APIs: https://slack.com/help/articles/360002079527-A-guide-to-Slacks-Discovery-APIs
Need help?
For assistance with Logikcull Discovery for Slack, please contact Logikcull's customer experience team via in-app chat when logged into Logikcull, or via email: support@logikcull.com