How to Set Up Press Mention Monitor → Slack Alert + HubSpot + Escalation in n8n

Your competitor gets slammed in a TechCrunch piece and their comms team is on it within the hour. You find out three days later from a customer asking why you "didn't respond." The difference isn't he

How to Set Up Press Mention Monitor → Slack Alert + HubSpot + Escalation in n8n

Your competitor gets slammed in a TechCrunch piece and their comms team is on it within the hour. You find out three days later from a customer asking why you "didn't respond." The difference isn't headcount — it's monitoring. Most founders track brand mentions by refreshing Google News and hoping a customer tags them on Twitter. That doesn't scale, it doesn't sleep, and it guarantees you learn about negative press after it has already spread. This guide shows you how to build an automated press monitor in n8n that checks for mentions every 6 hours, scores sentiment, logs contacts to HubSpot, and escalates negative coverage to Slack before it becomes a fire.

The Problem: Manual Monitoring Fails at the Worst Possible Moment

Press coverage is asymmetric. A neutral mention is worth logging. A glowing feature is worth amplifying. But a negative story is worth everything — because the cost of a slow response compounds by the hour. The problem with manual monitoring is that it fails precisely when speed matters most: weekends, nights, and during the launches when you're too busy to check.

The typical stack of Google Alerts plus a shared inbox has three fatal gaps. First, latency — Google Alerts batches and delays, so "instant" is often 12+ hours. Second, no routing — an alert lands in an inbox nobody owns at 2 a.m. Third, no memory — you never build a record of who wrote about you, so relationship-building with journalists never happens. You react to each mention as a one-off instead of treating press as a pipeline. For a technical team, this is exactly the kind of repetitive, rules-based work that should never touch a human until a decision is required.

The Solution: A Scored, Routed, Escalating Pipeline

The workflow replaces "someone should check the news" with a deterministic pipeline that runs on a schedule. Every 6 hours it pulls fresh mentions, deduplicates against what it has already seen, runs sentiment scoring on each new item, and then branches: positive and neutral mentions get logged quietly, while negative mentions trigger an immediate Slack alert with an @-mention and a HubSpot record so the relationship is tracked from the first touch.

The design principle is quiet by default, loud on risk. You don't want a ping for every mention — that trains the team to ignore alerts. You want silence until sentiment crosses a threshold, then an unmissable escalation. n8n is ideal for this because the entire branching logic lives in one visual canvas you can audit, and it runs on infrastructure you already control. No SaaS media-monitoring subscription at $400/month for features you'll use 5% of.

Step-by-Step Setup in n8n

Here's the node-by-node build. The whole thing is roughly a dozen nodes and can be running in an afternoon.

1. Schedule Trigger. Add a Schedule Trigger node set to a cron expression of 0 */6 * * * — every six hours on the hour. Six hours is the sweet spot: frequent enough to catch a story while it's breaking, infrequent enough to stay well within any news API's free tier.

2. Fetch mentions. Use an HTTP Request node pointed at a news API such as NewsAPI, GNews, or Bing News Search. Configure it as a GET request with your query as the search term (your brand name, plus common misspellings joined with OR), sortBy=publishedAt, and a from parameter set to an expression like {{ $now.minus({ hours: 6 }).toISO() }} so you only pull the last window. Store the API key in n8n Credentials, never inline.

3. Split and deduplicate. Add an Item Lists (Split Out) node to break the articles array into individual items. Then dedupe: the cleanest approach is n8n's built-in Remove Duplicates node keyed on the article URL, or a Code node that checks each URL against a small persisted store (a Google Sheet, Postgres table, or the n8n static data via $getWorkflowStaticData). Skipping this step means you'll re-alert on the same story every 6 hours — the fastest way to get your Slack channel muted.

4. Score sentiment. Add an AI/LLM node — the built-in Basic LLM Chain pointed at your model of choice works well. Prompt it to return strict JSON: {"sentiment": "positive|neutral|negative", "score": -1.0 to 1.0, "reason": "..."}. Feed it the article title and description. Ask for JSON only and parse the output so downstream nodes get clean fields. Keep the prompt tight and give it one example of each class — sentiment scoring is where cheap models are perfectly adequate, so don't overspend here.

5. Branch on sentiment. Add an IF node (or a Switch node if you want three paths). Condition: {{ $json.sentiment }} equals negative, or {{ $json.score }} less than -0.3. The true branch is your escalation path; the false branch is the quiet log.

6. Escalate to Slack. On the negative branch, add a Slack node using the "Send Message" operation. Post to a dedicated #press-alerts channel and lead the message with <!here> or a specific user group so it's genuinely unmissable. Include the headline, source, sentiment reason, the direct URL, and the score. Use Slack Block Kit formatting so the alert is scannable in one glance.

7. Log to HubSpot. On the same negative branch (and optionally the positive one for journalist relationship-building), add a HubSpot node. Create or update a contact for the article's author when available, and create an engagement/note recording the mention, sentiment, and link. This turns every alert into a durable CRM record so your comms and PR follow-up has context. Use HubSpot's "Create or Update" behavior keyed on email to avoid duplicate contacts.

8. Quiet log. On the false branch, append positive and neutral mentions to a Google Sheets or database node. This becomes your press archive — searchable, exportable, and the raw material for a monthly coverage report without any extra work.

Benefits: What Changes When This Runs

The obvious win is speed — you learn about negative press in a 6-hour window instead of days, often before it's picked up elsewhere. But the compounding wins are quieter. You get a complete press archive for free, so board-deck coverage slides write themselves. You get a journalist CRM, because every author who writes about you becomes a tracked HubSpot contact you can nurture for the next launch. And you get alert discipline — because the pipeline only escalates real risk, the team trusts the Slack channel and actually acts on it.

There's also a cost angle that matters for lean teams. Commercial media-monitoring tools start in the hundreds of dollars per month and lock you into their sentiment engine and their routing. This workflow runs on your own n8n instance, uses a news API that's free or near-free at this volume, and spends pennies on LLM sentiment calls. You own the logic end to end, so when you want to add a second brand, a product name, or a competitor to watch, it's one line in the query.

Common Pitfalls to Avoid

Skipping deduplication. This is the number-one failure. Without a dedupe step, the same article fires an escalation every 6 hours until it ages out of the search window. Persist seen URLs and check against them before scoring.

Over-alerting. If you route every mention to Slack, the channel becomes noise and negative alerts get buried. Keep the escalation branch strictly for negative sentiment below your threshold. Everything else goes to the quiet log.

Trusting raw LLM output. Models occasionally return prose instead of JSON. Wrap the sentiment node with an output parser or a small Code node that validates the JSON shape and defaults to neutral if parsing fails — you never want a malformed response to crash the run or misroute a story.

Brittle search queries. A bare brand name catches unrelated news if your name is a common word. Use exact-match quoting and exclusion terms in your API query, and review the quiet log for a week to tune false positives before you trust the escalation path.

Ignoring API rate limits and time windows. Match your from parameter to your schedule exactly. If the trigger runs every 6 hours but you query the last 24, you'll pull — and dedupe-check — four times the volume for no benefit. Align the window, store credentials properly, and add a retry-on-fail setting to the HTTP node so a transient API hiccup doesn't skip a cycle.

Build it once and press monitoring becomes a background process that never sleeps, never forgets a journalist, and never lets a negative story get a head start. That's the whole point of automation for a small team: turn the vigilance you can't personally sustain into a workflow that sustains it for you.

Press Mention Monitor → Slack Alert + HubSpot + Escalation
PRONTO PARA USAR

Ja construimos isso pra voce

Nao comece do zero. O Press Mention Monitor → Slack Alert + HubSpot + Escalation e um workflow n8n pronto para instalar — conecta suas ferramentas em minutos, sem codigo.

Instalar por $49 →