# Slack Helpdesk & Collaboration

## Overview

The Slack Integration enables seamless communication and workflow automation by connecting your platform with Slack. It allows teams to receive real-time notifications, manage support activities, and collaborate efficiently within Slack channels. This integration supports both **Helpdesk** and **Collaboration** capabilities, ensuring streamlined operations and improved team productivity.

### Prerequisites

Ensure the following requirements are fulfilled before initiating the integration:

* An active **Slack workspace account**.
* Valid **Slack credentials**.
* Access to the platform (**TheLoops**) with **Admin role** privileges.

### Best practices

* **Use Active Browser Session:**\
  If you are already logged into Slack in the same browser, authentication may complete automatically.
* **Select Appropriate Channels:**\
  Choose the correct Slack channel during authorization to ensure relevant notifications.
* **Validate Integration Post Setup:**\
  Always perform a **Test Connection** after setup or token refresh.
* **Monitor Token Expiry:**\
  Periodically verify integration health and refresh tokens proactively.
* **Ensure Proper Permissions:**\
  Use appropriate workspace permissions to avoid authorization issues.

## Setup instructions <a href="#setup-instructions" id="setup-instructions"></a>

### Inititate Integration

{% stepper %}
{% step %}
Log in to **TheLoops** using an **Admin** account.
{% endstep %}

{% step %}
Navigate to **Settings → Integrations** module.
{% endstep %}

{% step %}
Click on the **“+ Add Integration”** button.
{% endstep %}

{% step %}
Search for **Slack** integration and open it.
{% endstep %}
{% endstepper %}

### Configuration

{% stepper %}
{% step %}
In the **Basic** tab, enter a suitable name for the integration.
{% endstep %}

{% step %}
Select the required **Capability**:

* Helpdesk
* Collaboration
  {% endstep %}

{% step %}
Click on the **Next** button.
{% endstep %}
{% endstepper %}

### Authentication setup <a href="#authentication-setup" id="authentication-setup"></a>

#### For Helpdesk & CRM capabilities:

{% stepper %}
{% step %}
In the **Authentication** tab, select the preferred **Environment**.
{% endstep %}

{% step %}
Choose the appropriate option from **“Pull Record By”**:

* Created Time
* Updated Time
  {% endstep %}

{% step %}
Enter your **Salesforce domain URL** in the designated field.
{% endstep %}

{% step %}
Fill in all mandatory fields as required.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
For **Collaboration Capability**, all configurations remain the same as Helpdesk. Only the capability selection differs.
{% endhint %}

### Authentication

{% stepper %}
{% step %}
On the **Authentication** tab, click on the **Connect** button.
{% endstep %}

{% step %}
An authentication window will open.
{% endstep %}

{% step %}
Enter your **Slack workspace** and click **Continue**.
{% endstep %}

{% step %}
Sign in using your preferred method (Email / Google / Apple).
{% endstep %}

{% step %}
Enter the verification code sent to your email.
{% endstep %}

{% step %}
After successful authentication:

* You will be redirected to the **permission (Allow)** screen.
* Select the required **Slack Channel** for webhook notifications.
* Click on **Allow**.
  {% endstep %}

{% step %}
The integration will be added successfully.
{% endstep %}

{% step %}
A success message will confirm successful setup.
{% endstep %}
{% endstepper %}

### Verification <a href="#validation-and-verification" id="validation-and-verification"></a>

{% stepper %}
{% step %}
Navigate back to the **Integrations** module.
{% endstep %}

{% step %}
Click on the **Test Connection** icon (beside the delete icon).
{% endstep %}

{% step %}
If the test connection is successful, a confirmation message will be displayed, indicating that the integration is configured correctly.
{% endstep %}
{% endstepper %}

## Token management (OAuth integration) <a href="#token-management-oauth-integration" id="token-management-oauth-integration"></a>

### Overview

The Slack integration uses **OAuth-based authentication**. Access tokens expire after a defined duration, which may cause the **Test Connection** to fail. Tokens can be refreshed without reconfiguring the integration.

### Token refresh steps <a href="#token-regeneration-steps" id="token-regeneration-steps"></a>

{% stepper %}
{% step %}
Navigate to **Settings → Integrations**.
{% endstep %}

{% step %}
Perform **Test Connection**:

* If it fails, it indicates that the token has expired.
  {% endstep %}

{% step %}
Click on the **Edit** icon for the respective integration.
{% endstep %}

{% step %}
Go to the **Authentication** tab.
{% endstep %}

{% step %}
Click on the **Re-generate Token** option.
{% endstep %}

{% step %}
The authentication window will open again.
{% endstep %}

{% step %}
Enter your **Slack workspace** and click **Continue**.
{% endstep %}

{% step %}
Sign in using your preferred method.
{% endstep %}

{% step %}
Enter the verification code sent to your email.
{% endstep %}

{% step %}
On the **Allow** permission screen:

* Select the required **Slack Channel**.
* Click **Allow**.
  {% endstep %}

{% step %}
A success message will confirm that the token has been refreshed.
{% endstep %}

{% step %}
Perform **Test Connection** again to verify successful authentication.
{% endstep %}
{% endstepper %}


---

# Agent Instructions: 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:

```
GET https://kb.theloops.io/cxplatform/ifs-loops-cx-platform/integrations/slack-helpdesk-and-collaboration.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
