# Slack

Slack is a team messaging platform used for real-time communication, project collaboration, and internal announcements. With Coupler.io, you can pull Slack data — messages, channels, and users — into spreadsheets, databases, or AI tools for analysis and reporting.

## Why connect Slack to Coupler.io?

* **Audit and archive messages** by exporting channel conversations to Google Sheets, Excel, or BigQuery on a schedule.
* **Track team activity** by analyzing message volume, user participation, and channel growth over time.
* **Combine Slack data with other sources** using Join or Append transformations — for example, match users to HR data or append messages from multiple channels.
* **Feed Slack data to AI tools** like ChatGPT, Claude, or Gemini to summarize conversations, classify messages, or surface insights.

## Prerequisites

* A Slack account with access to the workspace you want to export.
* A **Slack API token** (User OAuth Token or Bot Token) with the appropriate scopes: `channels:read`, `channels:history`, `users:read`, and `search:read` for message search.
* Admin or member access to the channels you want to pull data from.

{% hint style="warning" %}
Slack's `search:read` scope is required for the Messages entity. Bot tokens do not support `search:read` — you need a **User token** to export messages.
{% endhint %}

## Quick start

{% hint style="success" %}
Start with the **Messages** entity and a simple search query like `in:#general` to validate your connection before setting up more complex exports.
{% endhint %}

{% stepper %}
{% step %}
**Create a new data flow in Coupler.io.** Log in to your Coupler.io account, go to the Data Flows section, and click **Add data flow**. Choose Slack as your source.
{% endstep %}

{% step %}
**Enter your Slack API token.** In the source settings, paste your Slack User OAuth Token into the API token field. You can generate this token in your Slack app configuration at api.slack.com under **OAuth & Permissions**.
{% endstep %}

{% step %}
**Select an entity.** Choose one of the available entities: Messages, Channels, or Users.
{% endstep %}

{% step %}
**Set a search query (Messages only).** If you selected Messages, enter a search query to filter which messages to pull. Use Slack search modifiers like `in:#channel-name` or `from:@username` to narrow results. This field is required for the Messages entity.
{% endstep %}

{% step %}
**Choose your destination.** Select where you want the data to go — Google Sheets, Excel, BigQuery, Looker Studio, or an AI destination like ChatGPT or Claude.
{% endstep %}

{% step %}
**Run your data flow.** Click **Run** to execute the data flow manually. Review the results in your destination to confirm the data looks correct.
{% endstep %}
{% endstepper %}

## Available entities

| Entity   | Description                                                             |
| -------- | ----------------------------------------------------------------------- |
| Messages | Exported messages matching a Slack search query (requires a User token) |
| Channels | List of public channels in your workspace, including metadata           |
| Users    | List of workspace members with profile and account details              |
