Skip to main content
Back to all posts

How to Get Alerted the Moment AI Changes What It Says About You

5 min readJonathan Geiger
ai visibilityalertsmonitoringtutorial

Your standing in AI answers moves without telling you. One week ChatGPT names your brand for "best CRM for enterprise sales teams." The next week it quietly swaps you for a competitor, and you have no idea until a prospect mentions it on a call.

The usual fix is to open a dashboard every morning and re-read the same results, hoping to spot what changed. That does not work. Nothing looks different until it suddenly does, and by then you have missed the exact moment worth reacting to.

There's a better shape for this. Instead of watching everything all the time, you watch for CHANGE. Trackee does the watching on a schedule, diffs each run against the last, and turns any meaningful shift into an alert. You just poll one endpoint for the feed and pipe it wherever your team already looks.

Brands and their tracking workspace in the Trackee dashboard
Brands and their tracking workspace in the Trackee dashboard

How alerts actually get created

Alerts don't come from nothing. They come from trackers.

A tracker is a saved scan: a brand, a set of prompts, and the AI engines you care about, set to run on a cadence. Every time it runs, it compares the new result to the previous one. When something meaningful moves, that diff becomes an alert.

The changes it catches:

  • Your brand gets dropped from a prompt, or newly added to one
  • A competitor newly appears next to you
  • Your position moves up or down
  • Sentiment flips between positive, neutral, and negative

So the setup is: create a tracker, let it run, and alerts start collecting on their own. You never write a single rule. If you want to eyeball your brand's current standing before committing to trackers, the free AI Visibility Checker runs a one-off scan in the browser with no code.

The flow, start to finish

  1. Set up a tracker for a brand and its important prompts.
  2. It runs on a cadence and diffs each result against the last run.
  3. Any real change becomes an alert in your feed.
  4. You GET /v1/alerts, read what moved, and route it to Slack or email.

Steps 1 through 3 happen without you. Step 4 is the only code you write, and it's the fun part.

Reading the alerts feed

The alerts endpoint is a plain GET. It's FREE to read, because you already paid for the tracker runs that produced the alerts. Reading them again never costs credits.

Here's a request filtered to just new-competitor alerts. Swap in your own key.

curl https://api.trackee.dev/v1/alerts?type=competitor_new \
  -H "x-access-key: YOUR_API_KEY"

The response is a change feed:

{
  "success": true,
  "data": {
    "total": 3,
    "limit": 50,
    "offset": 0,
    "alerts": [
      {
        "type": "competitor_new",
        "brand": "Salesforce",
        "prompt": "best CRM for enterprise sales teams",
        "engine": "chatgpt",
        "message": "Competitor HubSpot now appears for \"best CRM for enterprise sales teams\" on chatgpt.",
        "createdAt": "2026-08-27T17:00:00.000Z"
      }
    ]
  }
}

What each field gives you:

  • type is the kind of change. Filter on it with the query param, like type=mention_lost to see only the prompts you fell off of.
  • brand is which brand the alert is about, so a multi-brand poll stays sorted.
  • prompt is the exact question a user might ask an AI.
  • engine is where it happened, like chatgpt, so you know which model changed its mind.
  • message is a plain-English line you can drop straight into a notification. No formatting needed.
  • createdAt is the timestamp of the run that detected the change.

total, limit, and offset handle paging. Read the newest alerts, remember the latest createdAt you've seen, and next poll you skip everything older.

Wire it into Slack or email

Because message is already human-readable, routing it is short. Poll the endpoint on a timer, then forward anything new.

curl -s "https://api.trackee.dev/v1/alerts?type=mention_lost" \
  -H "x-access-key: YOUR_API_KEY" \
  | jq -r '.data.alerts[].message' \
  | while read -r line; do
      curl -s -X POST "$SLACK_WEBHOOK_URL" \
        -H "Content-Type: application/json" \
        -d "{\"text\": \"$line\"}"
    done

Run that on a cron every hour and your team hears about a lost mention the same day it happens, not the next time someone remembers to check.

The engine ID tells you where to look next. If ChatGPT drops you but Gemini still names you, that's a specific problem on one model, and you can go fix the content behind it instead of guessing.

If you'd rather not touch code

Not everyone on the team wants to write cron jobs. The same alerts show up in the dashboard, where you can watch a brand's feed without any of this. This is how agencies run it: dozens of client brands, each with its own trackers, all surfacing changes in one place so nobody has to remember to look.

And if your workflow lives inside an AI assistant, Trackee has an MCP server so an agent can pull your alerts in plain language. "Anything change for our brand on ChatGPT this week?" hits the same endpoint under the hood.

What's next

You now have the full loop: trackers watch on a schedule, changes become alerts, and one free GET hands you the feed to route anywhere.

A few next steps:

If you're already tracking AI visibility, the natural pairing is our post on how to track AI search visibility. Set up the trackers there, then come back here to catch the moment any of it shifts.

You might also like