Internal briefing · 30 July 2026 · Organic Intel

We stopped guessing.
Now we act on data.

A pipeline that reads what the market searches for, what the press writes, where we rank, and — as of today — what Google actually showed people and whether they clicked.

Nine workflows deployed. Search Console access landed this morning and immediately changed what we thought we knew. This page covers what we hold, what the first-party data says, and how a number becomes a decision.

9
workflows deployed
498
days of our own history unlocked
3,999
keywords tracked, still unread
848
keywords answered by AI, not links
0.77%
our click rate at position 2
6
days since the engine last ran

01 — The operating principle

Every action traces back to a number

The rule we build to: nothing reaches the opportunity board because someone had a hunch. Each row carries the source, the measurement, and the score that put it there — so a decision can be argued with, and a bad decision can be traced.

1 · Ingest
Each source becomes signals on a schedule. No manual export, no copy-paste.
2 · Normalize
Every source collapses into one 12-field shape, tagged to 9 topic categories and matched against our brand and competitor registry.
3 · Score
A fixed formula scores 0–70 on relevance, brand presence, engagement and recency. AI only nudges −15…+30, and must explain why.
4 · Decide
Score ≥40 lands on the board with an SLA. ≥60 goes to the digest. Below that, stored not shown.
5 · Verify
Published work is re-checked against search results weeks later. What underperforms comes back as a Refresh task.
Why the score is deterministic

An AI-only score drifted between runs — the same article scored 72 one day and 62 the next, so "movement" was noise. The formula now produces the same number for the same input every time, which means week-over-week trends are real. The AI is kept for the judgement code can't make, and it's capped.

02 — Coverage

What data we actually have

Honest status per source. "Live" means it runs unattended and writes to the board. Nothing here is aspirational, and the last row is uncomfortable.

SourceAnswers the questionStatusNote
Google NewsWhat is being said about our market and our competitors, today?liveDaily 07:00, free
SEMrush — search demandWhat is the market actively searching for, and is that demand rising or dying?live12 keywords + Monday discovery of new ones
Trend engineWhich topics are accelerating vs fading, across all sources?liveMondays 08:00, no AI cost
Outcome loopDid what we published actually win visibility?liveWaiting on our first real publication to start a cycle
Google Search ConsoleWhat did Google actually show people, and did anyone click?access granted todayRead live on 30 Jul — see §05. Daily feed still to build
SEMrush — position trackingWhere do we rank on 3,999 keywords, and what moved this week?found, unusedAlready configured and paid for — see §04
SEMrush — AI OverviewWhich of our keywords now show an AI answer instead of links?found, unused848 keywords affected today
RedditWhat do practitioners and buyers say unprompted?workaround readyNo official API access; two verified routes in without it
Sales win/lossWhy do we actually win and lose deals?not startedNeeds a source agreed with sales leadership
The engine hostIs any of this running right now?paused 6 daysLocal install; last run 24 Jul — see §07
Why Reddit is harder than it looks — and how we get it anyway

Reddit closed its free public data endpoints, and its commercial tier requires approval and a substantial minimum spend. We tested this directly: the old endpoints return an access-denied page.

Two routes were verified working instead. One: Reddit still publishes standard subscription feeds per community — free, no login, usable today. Two: SEMrush can show us which Reddit discussions rank in Google for our commercial terms, with monthly search volume attached.

Route two produced an uncomfortable finding: the communities we had planned to monitor were the wrong ones. The discussions with real buying intent — platform comparisons, pricing threads, "Genesys vs Talkdesk" — sit in IT and software-buyer communities, not in customer-service communities. We were about to listen in the wrong room.

03 — The machine

Nine workflows, one spine

Adding a data source does not mean building a new system. Every source plugs into the same normalize step and the same scoring spine — so source number ten costs a fraction of source number one.

WorkflowWhat it does for the businessStatus
Signal spineThe daily run. Collects, scores, clusters into opportunities, writes the board, sends the digest.deployed
Ops error alertIf anything breaks, it's recorded and announced instead of failing silently.deployed
Normalize signalThe universal adapter — every source becomes the same 12 fields.deployed
Content brief agentTurns a board row into a writable brief.deployed
Search toolReusable web-search capability the brief agent calls.deployed
Trend reportTrending vs dying per topic, weekly, with zero AI cost.deployed
Outcome loopPublish → verify in search → send back for refresh. This is what closes the loop.deployed
SEMrush ingestionSearch-demand signals + weekly discovery of keywords we aren't tracking.deployed
Plug-in demoThe copy-me template that proves a new source is a day of work.deployed
Reddit ingestionBuilt and validated; needs the access route swapped (§02).staged
Search Console ingestionFirst-party clicks, impressions and position per query and page.not built
How much work is a new data source, really?

One small ingest workflow — typically five to eight steps — that ends by handing its output to the shared normalizer. It inherits scoring, clustering, deduplication, the board, the digest, error alerting and trend history for free.

Concretely: SEMrush went from nothing to live in a single working day, and it reuses every downstream component the news source already proved.

04 — SEMrush

We were using two of seventeen capabilities

A full audit of our SEMrush licence tested every available report against our production key. The cost of that audit was 0.1% of our monthly quota. The result changes what we can promise.

The find

A nice.com rank-tracking campaign is already configured, already paid for, updating daily — and nothing reads it. It covers 3,999 keywords curated by the SEO team, with position movement over 1, 7 and 30 days already calculated, and flags which keywords Google now answers with AI instead of links.

29.7%
search visibility
−2.07
visibility change
3.36%
share of voice, rising
909
keywords improved
1,299
keywords declined
2,272
keywords in top 10

That 1,299 declined vs 909 improved split is the kind of fact this pipeline exists to surface early. Today nobody sees it until someone opens a dashboard and looks.

What the licence covers, by business question

Question a manager asksAvailableUsing it?
What is the market searching for, and is it growing?Search volume + 12-month trend per keywordyes
What should we write next?Real questions people ask; who currently owns each result page; how hard each keyword is to winno
Where are we winning and losing, this week?3,999 keywords, daily, with movement precalculatedno
Is AI eating our search traffic?AI Overview presence per keyword — 848 affectedno
What do competitors rank for that we don't?Automatic competitor discovery + keyword gap analysisno
Is our site technically healthy?1.4M backlinks monitored, plus site audits on nine competitor domainsno
Technical detail — verified access, endpoints and limits

All seventeen Analytics report types and all five backlink report types returned live data. The rank-tracking campaign is reachable through the Projects API; note that it is addressed by campaign identifier, not project identifier — a detail that costs an hour to discover.

Not available on our key: the Traffic Analytics add-on (separate subscription — it would show how much traffic Reddit sends to our site and competitors'). The SEMrush marketplace app for Reddit trends has no programmatic access at all and refreshes monthly, so it can inform a human decision but cannot feed the pipeline.

Quota: roughly 3.99 million units remaining. A daily rank-tracking read plus enriched content briefs is a low-single-digit percentage of that per month. Cost is not the constraint here — attention is.

Full capability map with every endpoint, cost per call and evidence: 02-ideas/002-semrush-capability-map.md

05 — Search Console new today

Our own data disagrees with our assumptions

Access to www.nice.com was granted on 30 July. Everything below was read directly from Google the same morning and covers the 28 days to 27 July. It is the first source that reports what Google showed rather than what a third party estimates.

The headline nobody expected

Two million impressions on genuinely relevant, on-topic searches produced 1,934 clicks in 28 days. Meanwhile off-topic pages — reverse phone lookup, proxy servers, unknown-caller queries — earn more clicks than every contact-centre term combined.

Our non-brand click rate is 5.04% at position 1 and 0.77% at position 2. A normal curve is roughly 30% and 15%. Ranking well is currently worth very little to us, and no amount of new content fixes that.

Superseded 2026-08-04. Measured against 500 days rather than the initial sample, the figures are 2.4% at position 1 and 0.51% at position 2, and the “we rank, nobody click” framing turned out to be misleading: 88% of our non-brand visibility sits below the top three, so we mostly are not ranking where the volume is. Careers pages earn 4.73% at positions 5–10 while glossary pages earn 0.18% at the same positions — same domain, 26× apart. See 007-search-findings.

Three findings a person can act on this week

FindingThe numberWhat it implies
We rank #2 and get nothing for "seamless customer service"22,029 impressions
0 clicks
Either an AI Overview absorbs the answer, or the title and description are unclickable. One manual look at that result settles which — and that answer redirects the roadmap
The glossary outranks the pages that sell2+ URLs
per term
Our glossary entry and our solutions page compete for "call center software"; two different glossary entries compete for "contact center automation". A consolidation job, not a writing job
The market renamed what we sell"ai call center" +554%
"performance management" −79%
Same product, different words. Our titles and hubs are still largely written in the falling language
Time-critical, and easy to miss

Google keeps roughly 498 days of history — 1.12M clicks and 192M impressions — and drops the oldest day every day. Every other source in this pipeline accumulates history going forward; this one hands us sixteen months on day one and destroys a week of it every week we wait. A one-off backfill is the most time-sensitive item on this page.

Technical detail — what the access actually permits, and one trap

Thirty-six live probes: every query, page, country, device and date dimension works, along with image and news search types. There is no Discover or Google News presence at all — zero rows, which for a company publishing this much thought leadership is itself worth a conversation. URL Inspection works at our permission level, which was not expected.

The trap: Google hides low-volume queries. Summed by query, we see 29,878 of the property's 52,526 clicks — 43% are invisible at that grain. Summed by page, we recover all of them. So any total must be reported by page; query data is for discovery and intent only. Getting this backwards would produce confidently wrong numbers.

Full capability map and the first insight pass: 02-ideas/003-gsc-capability-map.md

06 — Data to action

How a number becomes a decision

Four outputs, each traceable to a measurement rather than an opinion. This is the answer to "so what do we do with all this data".

Predict

what is about to matter
  • Rising demand before it peaks. Twelve-month interest curves flag a keyword climbing while it's still cheap to rank for.
  • Topic acceleration. The trend engine compares this week against last across every source, so "AI agents" being talked about more is a measured fact with a rate.
  • Ranking decay. Position drops across 3,999 keywords surface a losing page weeks before traffic loss shows in a report.
  • AI displacement. Keywords newly answered by AI Overviews tell us which pages are about to stop earning clicks regardless of rank.

Create

what to write, grounded
  • Briefs from evidence, not inference. Real questions people search, who owns the results page, and a difficulty score — so we don't commission a piece we cannot win.
  • Gap-driven topics. Terms competitors rank for and we don't, ranked by search volume.
  • Refresh over rewrite. The outcome loop returns underperforming published work as a specific task instead of quietly forgetting it.
  • Voice of the buyer. The exact wording used in public comparison discussions, attached to how many people search that way.

Decide

where to spend effort
  • Ranked queue, not a firehose. Score ≥40 reaches the board; ≥60 reaches the digest. Everything is stored, so thresholds can be retuned against history.
  • An SLA per row. Immediate, weekly queue, or monitor — so the board is a work plan rather than a reading list.
  • Fix before create. First-party data now says the cheapest wins are a broken click rate and a self-competing glossary, not new articles.
  • Proof of effect. Published work is re-measured, which makes the next prioritisation argument evidence-based.

See the gap new

what we're missing entirely
  • Demand we don't appear for. Put market search volume next to our own impressions: heavy demand plus near-zero impressions means we're missing the trend.
  • Presence without capture. Heavy impressions plus no clicks means we're visible and invisible at once.
  • Blind spots in the watch-list. Cognigy drew 146,824 impressions and never entered the pipeline, because nothing told it to look.
  • Only possible since today — it needs our own data on one side of the comparison. Nothing else we own can produce it.
The honest limit

All of this narrows and ranks the options. It does not decide. A human still picks what ships — the pipeline's job is to make sure that person is choosing from the right shortlist, with the reasoning attached.

07 — What's in the way

Five things, four of them not technical

Ordered by what unlocks the most. Each needs a named person, not more engineering. Search Console access — blocker two on the previous version of this page — was cleared this morning.

BlockerWhat it costs usWhat's neededOwner
1 No permanent home Runs on a local machine, so it stops when that machine does — nothing has run since 24 July. Confirm the digest channel, then move to the company n8n instance. Manager + IT
2 Digest destination The daily digest posts nowhere real, so nobody reads it. It also blocks the move above. Confirm the channel and supply the address. One word. Manager
3 Search Console feed + backfill Today's findings are a one-off snapshot, and 16 months of our own history is expiring a day at a time. Build the daily ingest and run the backfill. Access is done. AP
4 Rank tracking unread 3,999 keywords and 848 AI-Overview flags sit unused in a subscription we already pay for. Connect the existing campaign. No new spend. AP
5 First real publication The outcome loop can't prove effect until something genuine goes through it. One published piece registered in the pipeline. Content
The one that takes two minutes

Blocker 2 is a single word back: Teams, Telegram, or email. It has been open since 9 July, and it is the gate on blocker 1 — the migration is only worth doing once the destination is settled. Everything else on this list is work we can do; this one we cannot.

08 — Questions

Asked and answered

Are we paying for anything new here?

No. Rank tracking, AI Overview data, competitor analysis and backlink monitoring are all inside the SEMrush licence we already hold, and we've used 0.1% of the monthly quota. Search Console is free. The only spend items are AI credits for scoring and briefs.

Is this replacing anyone's judgement?

No — it's replacing the search for what to look at. The pipeline ranks and explains; a person decides. The AI component is deliberately capped so it can adjust a score but never dominate it, and it has to give a reason that lands on the board next to the row.

If it's so good, why hasn't it run in six days?

Fair question, and the honest answer is that July was spent proving each piece works rather than letting the whole thing run unattended. Every component has produced real output; none of it is scheduled anywhere permanent. That's a hosting decision, not a technical failure — and it's blockers 1 and 2 above.

What happens if a data source breaks?

Every failure is written to a durable log first and announced second, so an outage can't disappear quietly. Sources fail independently — a broken source degrades coverage; it doesn't stop the run.

Why not just buy a listening platform?

The enterprise options cost significantly more per year and still wouldn't join search demand, press coverage, our own first-party ranking data and sales outcomes into one scored queue — that joining is the actual product here. If the pipeline proves its value and volume outgrows it, a paid platform becomes a swap of one ingest step, not a rebuild.

How do we know the scores mean anything?

Two ways. The score is reproducible, so the same input always gives the same number and week-to-week movement is real rather than model noise. And the outcome loop re-measures published work against actual search results, which over time tells us whether high-scoring items really did perform — thresholds get tuned from that history, not from intuition.

What's the single next step?

Name the digest channel. It costs one word, it has been open for three weeks, and it releases the move to a permanent home — which is what turns every finding on this page from a report into a daily habit.