Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.unstructured.io/llms.txt

Use this file to discover all available pages before exploring further.

If you’re new to Unstructured, read this note first.Before you can create a source connector, you must first sign in to your Unstructured account:After you sign in, the Unstructured user interface (UI) appears, which you use to get your Unstructured API key, as follows:
  1. After you sign in to your Unstructured Let’s Go, Pay-As-You-Go, or Business account, click API Keys on the sidebar.
    For a Business account, before you click API Keys, make sure you have selected the organizational workspace you want to create an API key for. Each API key works with one and only one organizational workspace. Learn more.
  2. Click Generate API Key.
  3. Follow the on-screen instructions to finish generating the key.
  4. Click the Copy icon next to your new key to add the key to your system’s clipboard. If you lose this key, simply return and click the Copy icon again.
After you create the source connector, add it along with a destination connector to a workflow. Then run the worklow as a job. To learn how, try out the the notebook Dropbox-To-Pinecone Connector API Quickstart for Unstructured, or watch the two 4-minute video tutorials for the Unstructured Python SDK.You can also create source connectors with the Unstructured user interface (UI). Learn how.If you need help, email Unstructured Support at support@unstructured.io.You are now ready to start creating a source connector! Keep reading to learn how.
Ingest your files into Unstructured from Slack.

Requirements

You will need:
  • A Slack app. Create a Slack app by following Step 1: Creating an app.
  • The app must have the following OAuth scopes:
    • To read messages from public channels, add the scopes channels:join and channels:history.
    • To read messages from private channels, add the scope groups:history.
    Add these scopes to the app by following Step 2: Requesting scopes.
  • The app must be installed and authorized for the target Slack workspace. Install and authorize the app by following Step 3: Installing and authorizing the app.
  • The app’s access token. Get this token by following Step 3: Installing and authorizing the app.
  • Add the app to the target channels in the Slack workspace. To do this from the channel, open the channel’s details page, click the Integrations tab, click Add apps, and follow the on-screen directions to install the app.
  • The channel ID for each target channel. To get this ID, open the channel’s details page, and look for the Channel ID field on the About tab.
  • The starting and ending date and time range for the channels to be processed. Supported formats include:
    • YYYY-MM-DD
    • YYYY-MM-DDTHH:MM:SS
    • YYYY-MM-DDTHH:MM:SSZ
    • YYYY-MM-DD+HH:MM:SS
    • YYYY-MM-DD-HH:MM:SS
Slack has established API rate limits that could restrict the number and frequency of messages that can be read. To explore possible workarounds for these cases, see your Slack representative.

Examples

To create a Slack source connector, see the following examples. For more information on working with source connectors using the Unstructured API, see Source endpoints.
import os

from unstructured_client import UnstructuredClient
from unstructured_client.models.operations import CreateSourceRequest
from unstructured_client.models.shared import CreateSourceConnector

with UnstructuredClient(api_key_auth=os.getenv("UNSTRUCTURED_API_KEY")) as client:
    response = client.sources.create_source(
        request=CreateSourceRequest(
            create_source_connector=CreateSourceConnector(
                name="<name>",
                type="slack",
                config={
                    "channels": [
                        "<channel>",
                        "<channel>"
                    ],
                    "start_date": "<start-date>",
                    "end_date": "<end-date>",
                    "token": "<token>"
                }
            )
        )
    )

    print(response.source_connector_information)

Configuration settings

Replace the preceding placeholders as follows:
name
string
required
A unique name for this connector.
channels
string
required
An array of IDs of the target Slack channels from which to read messages.
start-date
string
The date and time, in ISO 8601 format (such as YYYY-MM-DDTHH:MM:SSZ), from which to begin reading messages. Messages created before this timestamp are ignored. By default, all messages are read unless an end date is specified.
end-date
string
The date and time, in ISO 8601 format (such as YYYY-MM-DDTHH:MM:SSZ), at which to stop reading messages. Messages created after this timestamp are ignored. By default, all messages are read unless a start date is specified.
token
string
required
The access token for the Slack app that has permission to read messages from the target Slack channels.