---
title: "Linkbreakers + Slack: QR scan notifications for your team"
description: "Connect Slack to Linkbreakers with Add to Slack and get one message per visit in the channel you choose, whether someone scanned a QR code or clicked a link, with each further step of the visit as a reply in its thread. Setup, what the message shows, the Where, When and What is sent settings, and the Assistant, MCP and API tools."
canonical: "https://linkbreakers.com/help/article/linkbreakers-slack-integration-qr-scan-notifications-for-your-team"
last-updated: 2026-11-09
---

# Linkbreakers + Slack: QR scan notifications for your team

> Connect Slack to Linkbreakers with Add to Slack and get one message per visit in the channel you choose, whether someone scanned a QR code or clicked a link, with each further step of the visit as a reply in its thread. Setup, what the message shows, the Where, When and What is sent settings, and the Assistant, MCP and API tools.

:::try-ai-prompt {"prompt":"Check whether Slack is connected. If it is, post only the visits of my Trade show link to #leads and show the visitor's email and name in the messages","description":"Set up Slack with the Assistant.","target":"assistant"}:::

## Short answer

Linkbreakers connects to Slack directly. In the dashboard, open **Integrations**, pick **Slack**, select **Add to Slack** and approve in Slack. From then on, every visit to your links, by scan or by click, posts one message in the channel you choose: the link, the device and how far the visitor has got. Each further step of that visit, such as a form submitted, is added as a reply in the message's thread.

No Zapier, Make or webhook is needed.

## Quick summary

- Connect with **Add to Slack**, an approval in Slack; no token to copy
- One Slack workspace and one channel per Linkbreakers workspace
- One message per visit, and the next steps of the visit as thread replies
- Works on every link and every moment of a visit as soon as it is connected
- Narrow it with **Where** (links, directories, tags), **When** (moments or specific steps) and **What is sent** (how much visitor data the messages show)
- By default the messages show the visit only, not who the visitor is
- **Send test** posts a test message
- Also set up from the Assistant, the MCP server or the REST API

## How it works

When a visitor reaches a step of a link's workflow that the Slack connection covers, Linkbreakers posts a message in your channel. There is one message per visit. The steps that follow in the same visit are posted as replies in that message's thread, so a busy channel keeps one line per visitor.

Linkbreakers sends the messages from its servers, through the Linkbreakers bot installed in your Slack workspace.

## Connect Slack

1. In Linkbreakers, open **Integrations** in the dashboard and pick **Slack**.
2. Select **Add to Slack**. Slack opens and asks you to allow Linkbreakers in your Slack workspace.
3. Approve. You come back to the Slack page in Linkbreakers, connected.
4. Under **Channel**, choose where messages go. Linkbreakers starts with `#general` when there is one.
5. To post in a private channel, first invite the bot there with `/invite @Linkbreakers` in Slack.
6. Set **Where**, **When** and **What is sent** below if you want less than everything, then save.
7. Select **Send test** to check that a message arrives.

The Linkbreakers bot asks Slack for these permissions: post messages (`chat:write`), see public and private channels (`channels:read`, `groups:read`) and join public channels (`channels:join`). It joins a public channel on its own; a private channel needs the invite.

## What the message shows

| Setting of What is sent | What the message shows |
|---|---|
| **Just the visit** (default) | The link, the step, the device and the place. No visitor details |
| **The visit and all visitor data** | The visit, plus the visitor's name and everything known about them, such as their email and form answers |
| **The visit and only some visitor data** | The visit, plus only the fields you pick, such as Email and a form answer |

Thread replies follow the same setting.

## Which visits and which links

The Slack page has the same three settings as the other Linkbreakers integrations:

- **Where**: every link, or only some links, directories and tags
- **When**: the moments of a visit (Entry, Interaction, Routing, Exit), or specific steps
- **What is sent**: just the visit, the visit and all visitor data, or the visit and only some visitor data

For example, to be told only when someone fills the lead form on your trade show link, choose that link under **Where** and the [form step](/workflow-steps/form) under **When**.

Visits past your plan's tracked visits allowance are not sent to Slack.

## Set it up from the Assistant, MCP or the API

**Assistant**: in the dashboard, ask "Post only the visits of my Trade show link to #leads". If Slack is not connected yet, the Assistant gives you the link to approve it.

**MCP server**: an agent connected to the [Linkbreakers MCP server](/help/article/mcp-server-setup) has `slack_oauth_url`, `slack_integration_get`, `slack_channels_list`, `slack_integration_update`, `slack_integration_test` and `slack_integration_delete`. The first connection always needs a person to approve it in Slack: the agent hands you the link from `slack_oauth_url`. An agent can also pause and resume Slack with `slack_integration_update`.

**REST API**, with a token that has the `integrations:write` scope:

```bash
curl https://api.linkbreakers.com/v1/slack-integrations/channels \
  -H "Authorization: Bearer $LINKBREAKERS_TOKEN"

curl -X POST https://api.linkbreakers.com/v1/slack-integrations/test \
  -H "Authorization: Bearer $LINKBREAKERS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'
```

## When to use webhooks instead

The native connection posts to one channel of one Slack workspace. To send different links to different channels, message a person directly, or build a daily digest, send [Linkbreakers webhooks](/help/article/how-do-webhooks-work-in-linkbreakers) to Zapier, Make or n8n and post to Slack from there.

## Limits and caveats

- **One Slack workspace and one channel** per Linkbreakers workspace
- **A person approves the first connection** in Slack; an agent can only prepare the link
- **Private channels need the bot invited** with `/invite @Linkbreakers`
- **Visitor details are off by default.** Choose what is sent to show them
- **Disconnecting** stops the messages and revokes Linkbreakers' access to Slack; messages already posted stay

## Frequently asked questions

### Do I still need Zapier or Make to get scan alerts in Slack?

No. Linkbreakers posts to Slack directly once you select **Add to Slack** and approve.

### Can I get a message only when someone submits a form?

Yes. On the Slack page, choose the form step under **When**, or the Interaction moment for every step where visitors enter something.

### Why does the message not show the visitor's email?

**What is sent** starts on **Just the visit**. Choose **The visit and all visitor data**, or pick Email under **The visit and only some visitor data**, then save.

### Can I send different links to different channels?

Not with the native connection, which has one channel. Use webhooks with Zapier, Make or n8n for that.

### Why do messages not arrive in my private channel?

The bot is not in it. Type `/invite @Linkbreakers` in that channel, then select **Send test**.

### What happens when I disconnect Slack?

Messages stop and Linkbreakers' access to your Slack workspace is revoked. Connecting again needs a new approval.

## Sources

- Linkbreakers Slack integration page, API and MCP tools, checked in the product on 2026-11-09.
- Slack, installing with OAuth: https://api.slack.com/authentication/oauth-v2

## Last reviewed

2026-11-09 by Laurent Schaffner.
