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

# Slack

Get Duku findings posted to the Slack channels your team already uses.

<figure><img src="https://1135428273-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2rbi6bEnpVLUQHudgXDV%2Fuploads%2FMXMiU1ujcW4PryVWB7ee%2Fcover-4k.png?alt=media&amp;token=59f7a4ab-28db-4017-876b-5a096a7fbd96" alt=""><figcaption></figcaption></figure>

### Slack notifications overview

Duku posts a message to Slack when it finds a new issue, when an exploration finishes, or when a scheduled exploration is skipped. Each message links directly to the issue or run in Duku.

Notifications are set up once for your organisation. Connect your Slack workspace, then add a channel for each place you want messages to go. Each channel has its own events and products.

{% hint style="info" %}
Notifications are switched on per organisation. If you don't see a **Notifications** section under **Organisation settings → Integrations**, contact Duku to enable it.
{% endhint %}

### Prerequisites

* You are an organisation admin in Duku.
* You can install apps in your Slack workspace.
* You configure notifications per organisation, not per product.

### Connect Slack

{% stepper %}
{% step %}

#### Add a channel

<figure><img src="https://1135428273-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2rbi6bEnpVLUQHudgXDV%2Fuploads%2FSdGuTvL5QQ06eNGawVbX%2F01-settings-notifications.png?alt=media&amp;token=b7ac9c89-2a31-44a6-859d-0e197e9f8877" alt=""><figcaption></figcaption></figure>

Open **Organisation settings → Integrations**. In the **Notifications** section, select **+ Add channel**.
{% endstep %}

{% step %}

#### Add Duku to Slack

<figure><img src="https://1135428273-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2rbi6bEnpVLUQHudgXDV%2Fuploads%2FFX7UfbqA7yzgoHdnusWs%2F02-add-to-slack.png?alt=media&amp;token=e02c8f22-df54-4214-8119-797a01071d8c" alt=""><figcaption></figcaption></figure>

Under **Send to**, choose **Slack**. Select **Add to Slack**. In the Slack popup, check the workspace in the top right and select **Allow**.

The popup closes and returns you to Duku.
{% endstep %}

{% step %}

#### Pick a channel

<figure><img src="https://1135428273-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2rbi6bEnpVLUQHudgXDV%2Fuploads%2FJDDSBaGIC7CHBPas6ZCU%2F03-pick-channel.png?alt=media&amp;token=0d616e4d-1efc-4699-a5c2-7df17d742a72" alt=""><figcaption></figcaption></figure>

Under **Channel in your workspace**, choose the channel Duku should post to.

Duku can post to any public channel without being invited. For a private channel, invite the Duku app to it in Slack first. Then paste the channel ID into **Or enter a channel ID**. For example, `C0123456789`.

The **Name** field fills in with the channel name. You can change it. It only labels the channel in Duku.
{% endstep %}

{% step %}

#### Pick events and products

<figure><img src="https://1135428273-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2rbi6bEnpVLUQHudgXDV%2Fuploads%2FeflsM4QYBo42vrSREu6A%2F04-events-and-products.png?alt=media&amp;token=0c31d598-313b-4a7c-a7f9-b3c0e1998f8b" alt=""><figcaption></figcaption></figure>

Under **Events**, tick what this channel should receive. Under **Products**, tick the products this channel covers. Leave everything unticked to hear about every product. Then select **Add channel**.

| Event                     | When Duku posts                                                                                 |
| ------------------------- | ----------------------------------------------------------------------------------------------- |
| New issue                 | Duku finds a new issue.                                                                         |
| Exploration completed     | An exploration finishes and all its runs have settled.                                          |
| Schedule skipped          | A scheduled exploration didn't run, for example because the previous run was still in progress. |
| Integration needs re-auth | A connected issue tracker, such as Linear, needs reconnecting.                                  |

If a product uses environments, you can also choose which environments the channel covers. Environment choices apply to **Exploration completed** and **Schedule skipped**.
{% endstep %}

{% step %}

#### Send a test

<figure><img src="https://1135428273-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2rbi6bEnpVLUQHudgXDV%2Fuploads%2F7vVJe3aIkLKbM0042ybZ%2F05-channel-added.png?alt=media&amp;token=40acae5f-6082-42b1-bc6f-732c7e6c99fb" alt=""><figcaption></figcaption></figure>

On the channel row, select **Test**.

Duku posts a test message to the channel, and the row shows **Test delivered.**
{% endstep %}
{% endstepper %}

### What ends up in Slack

<figure><img src="https://1135428273-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2rbi6bEnpVLUQHudgXDV%2Fuploads%2F7HcUcZXiP0s6E0SHxGLS%2F06-messages-in-slack.png?alt=media&amp;token=a48f6029-e1b0-4343-b3ea-9ddbd16fec7f" alt=""><figcaption></figcaption></figure>

* **New issue:** the severity, product, and issue title, with a **View issue** button.&#x20;
* **Severity** is colour-coded: 🔴 **critical**, 🟠 **high**, 🔵 **medium**, and 🟢 **low**. Incidents are marked 🚨.
* **Several new issues at once:** when several new issues for one product arrive together, Duku sends one message. It lists issues with the most severe first, plus a **View issues** button.
* **Exploration completed:** the product and how many runs completed, with a **View runs** button.
* **Schedule skipped:** the schedule name and why it did not run.
* **Integration needs re-auth:** which issue tracker needs reconnecting.

### Managing channels

Each channel row in the Notifications section has these actions:

* **Edit:** change the name, events, products, or environments. You can also pause the channel.
* **Test:** send a test message.
* **History:** see recent deliveries and their status.
* **Delete:** stop sending to this channel.

Add more channels to send different events to different places. For example, send new issues to engineering and completed explorations to QA.

### Disconnecting

Select **Disconnect** on the Slack workspace row. This removes the workspace and every Slack channel that posts through it. Your existing messages stay in Slack.
