# How we keep track of who's talking about our brand

Each day an agent scans news, social sites and forums for fresh mentions of our brand, sorts them by sentiment, and posts the important or negative ones to Slack with a draft reply for a person to review.

Canonical page: https://themachine.myapps.ai/use-cases/brand-monitor

People talk about you wherever they like: a news article, a Reddit thread, a
tweet, a forum post weighing you against a rival. On most days none of it needs
an answer. Then one day a single angry post with a big audience needs a reply
within the hour, and your team only hears about it after everyone else already
has.

We hand this watch to an agent on Machine. Once a day it scans the web for fresh
mentions, judges the sentiment of each, and posts a roundup in our marketing
Slack channel. It doesn't reply or post anywhere on its own. When something
matters, it writes a suggested response and leaves the sending to a person.

- **Team:** Machine
- **Runs on:** A daily timer that reuses one ongoing session
- **Connected systems:** The web · Slack
- **Mode:** Searches only · drafts replies, never posts them

## The problem

Mentions don't stay on one platform. They turn up in press coverage, social
posts and forum threads whenever they please, and most are harmless: a passing
name-drop, a neutral comparison, a share. The few that count look just like the
rest until somebody reads them. And by the time anyone gets round to reading, a
nasty post with a wide reach has usually had its most damaging hour.

The common fixes leave gaps. A Google Alert triggers on keywords and knows
nothing about tone or audience, so a five-word tweet and a much-shared bad review
arrive looking identical. Checking by hand finds yesterday's mentions today,
assuming someone remembers. And neither keeps track of what you've already seen,
so tomorrow the same viral post gets flagged all over again.

## What we built

A daily timer nudges the same long-lived agent **session** awake again, instead
of starting from nothing. On each run it searches news, social platforms and
forums for new brand mentions, compares them with a ledger of mentions it has
already reported, and judges the sentiment of anything fresh. Then it posts a
roundup to Slack: a one-line tally for the routine mentions, and a full write-up
with a draft reply for anything important or negative. It never posts, replies
or comments anywhere else. The Slack roundup is all it produces.

## How it works

### Wake the same session every day

A **cron trigger** (a timer) runs the project once a day, and it reopens the
same **session** each time rather than spinning up a blank one. Since the
session carries over, the agent remembers what it reported yesterday and shows
you only what's new today.

### Tell the agent what to listen for

The brand name, its aliases, product names and the usual misspellings are kept
in **skills** and **memory**, the playbook the agent keeps and improves. The
running ledger of every mention it has already seen lives there too. When a new
product line launches or people start using a new nickname, you update the watch
list the same way.

### Let it search and read the open web

These are public pages, so the agent uses the sandbox's **built-in web search
and fetch**: no connector, no login, no credential. A narrow **Slack connector**
handles the roundup. With that, the agent can:

- **Search news, social sites and forums**: for the terms on the watch list,
for this run only.
- **Open each likely mention in full**: enough to judge sentiment and reach,
rather than relying on a search snippet.
- **Post in Slack**: a single roundup each run, in the marketing channel.

### Keep replies in human hands

The agent searches and reads public pages and writes to a single Slack channel,
nothing more. It never replies, comments or publishes anywhere on the open web.
For anything flagged as important, it writes a suggested response and labels it
clearly as a draft waiting for a person's approval. Any credential it needs is
stored encrypted in the **Secrets Manager** and only handed to the agents you
grant them to.

### Read one roundup a day

Every run finishes with a single Slack message: how many new mentions turned
up, a split by sentiment, and, for anything negative or important, the source,
the quote, the reason it was flagged and a draft reply. Routine mentions get a
one-line tally instead of the full treatment. Your team reads one message and
decides whether to say anything back.

> **The pattern**
> A daily **cron** wakes one reusable **session**. It searches the web for brand
> mentions, skips anything already in its **memory** ledger, judges sentiment
> and posts a Slack roundup. Important mentions come with a suggested reply that
> is drafted and never sent.

## Guardrails

This agent listens to public talk about your brand, so it can only search and
read, and it has just one small way out:

- **Isolation.** Each run happens in its own sandbox, and the only thing that
  leaves it is the Slack roundup it is explicitly allowed to send.
- **Scoped secrets.** Any credential the agent uses is stored encrypted in the
  Secrets Manager, delivered into the sandbox when the run starts, and only
  handed to the agents you grant them to.
- **Draft, never post.** One Slack roundup per run is the agent's only action
  outside the sandbox. It never replies, comments or posts on the site where the
  mention appeared. A suggested response is a draft that a person reviews and
  sends themselves.
- **Everything is code.** The brand terms, what to watch and the rules for
  sentiment and importance are files in your repo. They're versioned, and you
  change them through a reviewed **change request**, not a dashboard toggle.

## The outcome

- **Every day:** Fresh mentions caught, no reminder needed
- **Dedupe by design:** A mention already reported never comes back
- **Draft only:** Suggested replies only; the agent sends none

Your team stops learning about bad press from someone else, and nobody reads
yesterday's viral post twice because it got flagged again. The channel gets one
roundup a day, quiet when things are quiet and pointed when a reply is needed.
Every response that goes out is one a person decided to send.
