> For the complete documentation index, see [llms.txt](https://docs.harmony.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.harmony.io/integrations/saas-applications/slack-saas.md).

# Slack SaaS Application

Harmony's Slack SaaS Application integration connects a Slack workspace to give you visibility into who holds a Slack seat, what account type they have, and how often they actually sign in. Once connected, Harmony syncs your Slack data automatically so you can spot dormant seats, review access, and understand adoption alongside the rest of your SaaS portfolio.

{% hint style="info" %}
This is separate from the [Slack](/integrations/collaboration/slack.md) integration under **Collaboration**, which turns Slack into an IT help desk. This one is read-only and exists purely for license and access visibility. Connecting one does not connect the other, and the two can be used together or independently.
{% endhint %}

#### What the Slack SaaS Application integration enables

| Capability               | Description                                                                            |
| ------------------------ | -------------------------------------------------------------------------------------- |
| Seat Utilization         | See which members count toward your bill and which are dormant                         |
| Login Trends             | Track sign-in activity over time to understand adoption and spot drop-offs             |
| User Inventory           | Surface every member with their email, title, and account type                         |
| Access Review            | Review each member's Slack account type - in Slack's own terms - during access reviews |
| Offboarding Verification | Confirm departed employees no longer hold an active Slack seat                         |
| Multi-Workspace Coverage | Connect several workspaces and see each one as its own instance                        |

***

#### Prerequisites

1. **A paid Slack plan** - Slack restricts the sign-in activity API to paid workspaces. On a free plan the connection succeeds but returns no login data.
2. **Workspace Owner or Admin role** in every workspace you connect - Slack requires an admin-level user token for both the seat and sign-in data.
3. **A Harmony account** with admin privileges

***

#### Connect Slack to Harmony

**Step 1: Start the connection**

1. Log into your Harmony dashboard
2. Click **Settings** in the sidebar, then **Integrations**
3. Find **Slack SaaS Application** under **SaaS Applications**
4. Click **Connect**

**Step 2: Choose the workspace and authorize**

You are redirected to Slack's authorization page.

{% hint style="warning" %}
**Check the workspace picker in the top-right corner of Slack's authorization page before you click Allow.** That picker - not anything in Harmony - decides which workspace gets connected. If you are signed into several workspaces, Slack preselects one for you, and it may not be the one you intended.
{% endhint %}

1. Select the workspace you want to connect in the top-right picker
2. Review the requested permissions (see [Permissions](#permissions-explained) below)
3. Click **Allow**

Harmony verifies the workspace and creates the connection. The first data sync begins automatically.

***

#### Connect Multiple Workspaces

If your organization runs more than one Slack workspace, connect each one separately. Harmony supports **up to five workspaces** per account.

Each connected workspace becomes its **own application instance**, named after the workspace (for example, *Acme Workspace*), and all instances are grouped under the single **Slack** application. This means you can see seats and sign-in activity per workspace while still reviewing Slack as one application across your organization.

To add another workspace:

1. Go to **Settings → Integrations → Slack SaaS Application**
2. Click **Connect** again to start a second connection
3. On Slack's authorization page, **switch the workspace picker to a different workspace**
4. Click **Allow**

Repeat for each additional workspace, up to five.

{% hint style="warning" %}
You must be an Owner or Admin of **each** workspace you connect. Slack's authorization page will only let you approve the connection for workspaces where you hold that role.
{% endhint %}

{% hint style="info" %}
If you authorize the same workspace twice, Harmony rejects the second connection and tells you the workspace is already connected. Switch the picker to a different workspace and try again - the workspace you pick on Slack's page is what counts, not the order in which you connect them.
{% endhint %}

**Slack Enterprise Grid**

If you are on Slack Enterprise Grid, connect each workspace in your organization individually using the steps above. An org-wide install is not supported: the token it issues covers the whole organization rather than a specific workspace, and Slack's seat and sign-in APIs need a single workspace to report on.

If you attempt an org-wide install, Harmony declines the connection and asks you to connect the workspaces individually. Nothing is saved, so you can retry immediately with a workspace-level authorization.

***

#### What Harmony Syncs

| Data             | Where it comes from     | What you see in Harmony                                                                                   |
| ---------------- | ----------------------- | --------------------------------------------------------------------------------------------------------- |
| Members          | Slack workspace members | Name, work email, title, and time zone for every human member. Bots, apps, and Slackbot are excluded      |
| Account type     | Slack member profile    | Primary Owner, Owner, Admin, Multi-Channel Guest, Single-Channel Guest, or Member, in Slack's own wording |
| Guest accounts   | Slack member profile    | Guests are flagged so they can be told apart from full members during access reviews                      |
| Seat utilization | Slack billing info      | Whether each member currently counts toward your Slack bill                                               |
| Sign-in activity | Slack access logs       | Per-user login history, used to build login trends and identify dormant accounts                          |

{% hint style="info" %}
Slack computes billing eligibility periodically rather than in real time, so a member's seat status reflects Slack's most recent calculation rather than the last few minutes of activity.
{% endhint %}

***

#### Permissions Explained

Harmony requests the following Slack permissions:

| Permission         | Why we need it                                                                             |
| ------------------ | ------------------------------------------------------------------------------------------ |
| `admin`            | To read seat utilization and sign-in activity, which Slack restricts to admin-level tokens |
| `users:read`       | To list workspace members and their profiles                                               |
| `users:read.email` | To match Slack members to employees in Harmony by work email                               |

The integration is **read-only**. Harmony does not post messages, modify channels, or change anything in your Slack workspace.

***

#### Troubleshooting

<details>

<summary>The wrong workspace was connected</summary>

The workspace is chosen in the picker at the top-right of Slack's authorization page, not in Harmony. If you are signed into multiple workspaces, Slack preselects one, which is easy to miss.

**Solution:** Disconnect the instance in **Settings → Integrations → Slack SaaS Application**, then connect again and switch the picker to the correct workspace before clicking **Allow**.

</details>

<details>

<summary>No login data appears</summary>

**Possible causes:**

* The workspace is on a free Slack plan. Slack restricts sign-in activity to paid workspaces.
* The connection was authorized by someone who is not a Workspace Owner or Admin.

**Solutions:**

1. Confirm the workspace is on a paid Slack plan
2. Reconnect using an account that holds Owner or Admin in that workspace

</details>

<details>

<summary>Harmony says the workspace is already connected</summary>

That workspace already has an instance in Harmony. Each workspace can only be connected once - a second connection to the same workspace would report the same seats and sign-ins twice.

**Solution:** Switch the workspace picker on Slack's authorization page to a workspace you have not connected yet. To review what is already connected, check the instances listed under **Settings → Integrations → Slack SaaS Application**.

</details>

<details>

<summary>An Enterprise Grid org-wide install was declined</summary>

Org-wide installs are not supported. Slack issues an organization-scoped token that cannot report on a specific workspace, so no seat or sign-in data could be collected.

**Solution:** Connect each workspace individually, as described in [Slack Enterprise Grid](#slack-enterprise-grid) above.

</details>

***

Need help? Contact [**support@harmony.io**](mailto:support@harmony.io) for assistance with your Slack integration.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.harmony.io/integrations/saas-applications/slack-saas.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
