---
title: "How to make sure coworkers read a shared link themselves, not an AI summary"
description: "Share one Linkbreakers link in Slack, Microsoft Teams, Discord, Google Chat or email that opens the document for people and sends AI agents somewhere else, then see who actually opened it."
canonical: "https://linkbreakers.com/help/article/how-to-make-sure-coworkers-read-a-shared-link-themselves-not-an-ai-summary"
last-updated: 2026-10-29
---

# How to make sure coworkers read a shared link themselves, not an AI summary

> Share one Linkbreakers link in Slack, Microsoft Teams, Discord, Google Chat or email that opens the document for people and sends AI agents somewhere else, then see who actually opened it.

:::try-ai-prompt {"prompt":"Create a link to https://docs.example.com/q4-plan that sends people to the document and sends AI agents and automated browsers to https://example.com/q4-plan-summary.","description":"One link that opens the document for people and sends AI agents somewhere else."}:::

## Short answer

Share a Linkbreakers short link instead of the raw document URL, and put a **Device Actor Condition** in its workflow. Connect **Human** to the document, and connect **Agent** and **Automated** to somewhere else: a short page you host that says the document is meant to be read by a person, or a summary you wrote yourself.

When a coworker clicks the link in Slack, Microsoft Teams, Discord, Google Chat or an email, their browser opens it and they land on the document. When an AI agent that names itself (ChatGPT-User, Claude-User, Perplexity-User and others) fetches the link to summarize it, it gets the other page instead. The link's analytics then show who opened it as Human, and which visits were Agent, Automated or Bot.

You can build it in the workflow editor, or ask your AI assistant to do it through the Linkbreakers MCP server.

## Quick summary

- One short link, one **Device Actor Condition**, two destinations
- **Human** goes to the document. **Agent** and **Automated** go to your page for AI agents
- Chat link previews (Slack, Microsoft Teams, Discord, Telegram, WhatsApp) are **Bot**. Leave Bot on the document to keep a normal preview card, or route it away to hide the document's title and image
- Analytics show Human visits separately from Agent, Automated and Bot visits, per link
- It is routing, not access control: anyone with the document's own URL can still open it

## Why this matters

More and more people paste a link into an AI assistant and read the answer instead of the document. For a quick article that is fine. For the things you share with coworkers on purpose, it often is not:

- **Summaries lose nuance.** A plan, a postmortem, a contract change or a policy update is written with caveats and trade-offs. A three-bullet summary drops exactly those
- **You can't tell who read it.** A view counter or a chat reaction does not say whether a person opened the document or an assistant fetched it for them
- **Some documents are meant to be read in full.** Onboarding material, security procedures and decision records only work if people go through them

A Linkbreakers link sits between the message and the document, so it can send people and AI agents to different places, and record which one arrived.

## Step-by-step in the dashboard

### Step 1: Create the link

1. Log in to your [Linkbreakers dashboard](https://app.linkbreakers.com/)
1. Create a link whose destination is the document you want people to read
1. Open its workflow editor. A new link has one redirect step that sends visitors to the document

### Step 2: Add the page for AI agents

1. Add a redirect step that sends visitors to the URL AI agents should get: a short page you host saying the document is meant to be read by a person, or a summary you wrote yourself
1. Leave it unconnected for now

### Step 3: Insert a Device Actor Condition

1. Insert a **Device Actor Condition** in front of the redirect to the document
1. Add a **Human** option and connect it to the redirect to the document
1. Add an **Agent** option and connect it to the redirect for AI agents
1. Add an **Automated** option and connect it to the same redirect for AI agents
1. Connect **Other Actors** to the redirect to the document. This covers Bot and Unknown visits, including chat link previews

### Step 4: Share and test

1. Copy the short link and share it in Slack, Teams, Discord, Google Chat or email
1. Open it yourself from the chat: you should land on the document
1. Check the visit in the link's analytics, where it shows as Human

## Build it from your AI assistant (MCP, CLI or API)

### With the MCP server or the Assistant

If your AI assistant is connected to the [Linkbreakers MCP server](/help/article/mcp-server-setup), or you use the Assistant inside Linkbreakers, one request is enough:

> "Create a link to https://docs.example.com/q4-plan that sends people to the document and sends AI agents and automated browsers to https://example.com/q4-plan-summary."

The assistant uses the MCP tools `links_create` to create the link, `workflow_steps_create` to add the redirect for AI agents and the Device Actor Condition, `workflow_steps_connect` to wire each option, and `workflow_steps_list` to read the steps back.

### With the CLI

From the [Linkbreakers CLI](/help/article/linkbreakers-cli-setup), it is a short sequence of commands. Replace the URLs with yours.

```bash
# 1. Create the link to the document. The response includes its workflow steps.
linkbreakers links create --destination https://docs.example.com/q4-plan --name "Q4 plan" > link.json
LINK_ID=$(jq -r '.link.id' link.json)
DOC_STEP_ID=$(jq -r '.workflowSteps[] | select(.eventAction=="EVENT_ACTION_CLIENT_REDIRECT") | .id' link.json)

# 2. Create the redirect AI agents will get (unconnected for now)
AGENT_STEP_ID=$(linkbreakers workflow-steps create --link-id "$LINK_ID" \
  --event-action EVENT_ACTION_CLIENT_REDIRECT \
  --payload '{"clientRedirect":{"destination":"https://example.com/q4-plan-summary"}}' \
  | jq -r '.workflowStep.id')

# 3. Insert the Device Actor Condition in front of the redirect to the document
ACTOR_STEP_ID=$(linkbreakers workflow-steps create --link-id "$LINK_ID" \
  --event-action EVENT_ACTION_DEVICE_ACTOR_CONDITION \
  --insert-before "$DOC_STEP_ID" \
  --payload '{"deviceActorCondition":{"options":[
    {"id":"people","name":"People","value":"DEVICE_ACTOR_CONDITION_VALUE_HUMAN"},
    {"id":"agents","name":"AI agents","value":"DEVICE_ACTOR_CONDITION_VALUE_AGENT"},
    {"id":"automated","name":"Automated browsers","value":"DEVICE_ACTOR_CONDITION_VALUE_AUTOMATED"}]}}' \
  | jq -r '.workflowStep.id')

# 4. Wire each option. "else" is Other Actors (Bot and Unknown)
linkbreakers workflow-steps connect-step --link-id "$LINK_ID" --step-id "$ACTOR_STEP_ID" --branch-id people --next-step-id "$DOC_STEP_ID"
linkbreakers workflow-steps connect-step --link-id "$LINK_ID" --step-id "$ACTOR_STEP_ID" --branch-id agents --next-step-id "$AGENT_STEP_ID"
linkbreakers workflow-steps connect-step --link-id "$LINK_ID" --step-id "$ACTOR_STEP_ID" --branch-id automated --next-step-id "$AGENT_STEP_ID"
linkbreakers workflow-steps connect-step --link-id "$LINK_ID" --step-id "$ACTOR_STEP_ID" --branch-id else --next-step-id "$DOC_STEP_ID"
```

`linkbreakers workflow-steps list --link-id "$LINK_ID"` shows the result, with each option's branch and where it leads.

### With the API

The CLI commands map to the REST API one to one: `POST /v1/links`, `POST /v1/links/{linkId}/workflow-steps` with `"eventAction": "EVENT_ACTION_DEVICE_ACTOR_CONDITION"` and the same `deviceActorCondition` payload, and `PUT /v1/links/{linkId}/workflow-steps/{stepId}/branches/{branchId}/connection` to wire each option. See [how to use the Linkbreakers API](/help/article/how-to-use-the-linkbreakers-api).

## What each actor sees

With the recommended setup:

| Who opens the link | Actor | Where they go |
|---|---|---|
| A coworker clicking it in Slack, Teams, Discord, Google Chat or email | Human | The document |
| An AI agent fetching it to summarize it (ChatGPT-User, Claude-User, Perplexity-User, GPTBot, ClaudeBot, MistralAI-User, Gemini, Grok, Meta-ExternalAgent, cohere-ai...) | Agent | Your page for AI agents |
| Headless Chrome, on every visit | Automated | Your page for AI agents |
| A visible browser under automation, from its next visit, on a link with Advanced data collection | Automated | Your page for AI agents |
| A chat link preview (Slackbot, Microsoft Teams, Discordbot, TelegramBot, WhatsApp) | Bot | The document, through Other Actors |
| A request with no user agent | Unknown | The document, through Other Actors |

See [how Linkbreakers detects AI agents and automated browsers](/help/article/how-linkbreakers-detects-ai-agents-and-automated-browsers) for how each actor is decided.

## Slack and Microsoft Teams previews

When you paste a link in a chat, the app fetches it to build a preview card. Linkbreakers classifies these preview fetchers as **Bot**: Slackbot (Slack unfurls), the Microsoft Teams link preview (SkypeUriPreview), Discordbot, TelegramBot and the WhatsApp link preview. Facebook, LinkedIn and Twitter previews are Bot too.

That gives you a choice:

- **Keep a normal preview.** Leave Bot on Other Actors, connected to the document. The preview fetcher reaches the document and the card shows its title and image as usual
- **Hide the document from the preview.** Add a **Bot** option and connect it to the page for AI agents, or to another neutral page. The card no longer shows the document's title or image, which is useful for sensitive documents

The person who clicks the card opens the link in their browser, which is a Human visit, so they still land on the document either way.

## Measuring who actually read it

Every visit to the link is recorded with its actor. In the link's analytics and in Live Events, Human visits show separately from Agent, Automated and Bot visits, and each visit's device details show the actor and, for agents, which one it was.

So after sharing an important document you can see how many people opened it themselves, and whether AI agents fetched it too.

## Limits and caveats

- **This is routing, not access control.** Anyone who has the document's own URL can open it directly, and an AI agent given that URL reaches it. For confidentiality, use the sharing permissions of the tool that hosts the document
- **An AI agent operating a visible browser counts as Human on its first visit.** It is recognized as Automated from its next visit, and only on links with Advanced data collection
- **An assistant that summarizes a chat thread without opening the link never hits it.** If the summary is built from the messages alone, Linkbreakers sees no visit
- **A tool that fetches with an ordinary browser user agent and no automation flag looks human.** Agent relies on the agent naming itself
- **Google Chat and email client previews are not specifically detected.** Previews are recognized when the fetcher names itself as a bot, as the ones listed above do

## Frequently asked questions

### Does this stop people from asking an AI to summarize the document?

No. It changes what an AI agent gets when it fetches your link. A person can still open the document and paste its text into an assistant. The goal is that the link itself leads people to the document and AI agents to what you chose for them.

### What should I send AI agents to?

A page you host and control. Two common choices: a short page saying the document is meant to be read by a person, or a summary you wrote yourself, so an AI agent that fetches the link works from your summary instead of the full document.

### Will the preview card in Slack still work?

Yes, with the recommended setup. Slack, Teams, Discord, Telegram and WhatsApp previews are Bot and go through Other Actors to the document. Route Bot elsewhere only if you want the preview to hide the document.

### Do I need Advanced data collection?

Not for AI agents that name themselves, or for headless Chrome. Advanced data collection is what lets Linkbreakers recognize a visible browser under automation, from its next visit.

### Can I change where agents go after I shared the link?

Yes. The short link stays the same. Edit the redirect for AI agents, or the condition, and the next visit follows the new route.

### Can I do this for links I already shared?

Yes, if they are Linkbreakers links. Add the Device Actor Condition to the existing workflow, in front of the redirect to the document.

## Sources

- Linkbreakers Device Actor Condition, workflow steps API, CLI and MCP tools, checked in the product on 2026-10-29.
- Slack, Slackbot and link unfurling: https://api.slack.com/robots
- OpenAI, overview of OpenAI crawlers: https://platform.openai.com/docs/bots

## Last reviewed

2026-10-29 by Laurent Schaffner.
