Client Intelligence Consoleagency workspace · demo
18 accounts
DC
Demo build — fictional client, fictional numbers, nothing connected. Shown to illustrate shape, not results.
B2B · long sales cycle · 18-account book
Agency workspace

A book of B2B accounts on long cycles — $10.4K typical contract value, 9-month median, LinkedIn-led. Three views of one engine, drilling down: the whole book ranked by what needs a person, then a single account up close, then the portal your client actually sees — with your hands on everything in between.

Book value
$2.41M
annualised · 18 accounts
Revenue at risk
$418K
3 accounts flagged
Expansion signal
$286K
5 accounts
Review load
4.2h
this week, across the book
Accounts — ranked by what needs a human first renewal-weighted · updated 06:00 daily
The ranking isn't performance — it's the gap between how an account looks on paper and how it's behaving. Two of the three flagged accounts below are hitting every number in their contract. Open any row to see what moved, and what you can do about it.
Why an account gets flagged

Churn almost never shows up in campaign performance first. It shows up in behaviour — who joins a call, how fast approvals come back, how long the replies are, what stopped being asked. That lives in your calendar, your project tool and your call recordings, not in an ads platform.

New stakeholder on a callApproval latency Reply length & speedRepeated questions Contact title changeScope questions Invoice queryFunding round overdue Competitor named on a call
Read from ClickUp Fathom calendar email metadata HubSpot — none of it from an ads API
What the engine will not do

It will not message a client about a health flag, ever. A retention signal is a judgement about people, and the cost of getting it wrong in front of the client is far higher than the cost of missing it. Everything on this screen is internal, and every intervention is a person choosing to act.

What it will do is put the right draft in front of the right person at the right time, with the evidence attached — and then learn from what you actually did instead.

Pipeline influenced
$1.84M
142 open opportunities
Closed won · TTM
$487K
47 deals · $10.4K ACV
Blended CAC
$3,180
from $3,940 prior year
First touch → close
271d
median · 6.2 touches
Engine confidence per account · set by you
50 · hands off75100 · review everything

A new account starts high — the engine has no history with it, so nearly everything is held and every correction you make becomes training data. As the golden data set fills out, drop the dial and it handles routine work unattended. Move it back up for one sensitive account without touching the others.

At 90% this week
3
held for your review
11
sent automatically
Roughly 39 minutes of review time this week.
Outbound queue — intercept before it sends 3 waiting
Every edit is training data. Rewrite a draft and the engine keeps both versions — what it proposed and what you actually sent. That pair goes into this account's golden data set. Correct the same thing three or four times and it stops getting it wrong.
Monthly performance summary → Priya Raghavan, VP Marketing
72% · held
Drawn from LinkedIn Ads GA4 Search Console Peak HubSpot · tone matched to 14 prior sends from this account lead
Budget reallocation recommendation → Priya Raghavan + Marcus Bell, CFO
61% · held
Held because it touches budget and copies a finance stakeholder — this account carries finance-in-thread, which caps auto-send at 95% regardless of the dial
Creative refresh flag → Priya Raghavan
88% · held
Drawn from Meta Ads LinkedIn Ads · matched against 41 prior fatigue events across the book
Multi-touch attribution 271-day cycle · 6.2 touches
Reach
418K
in-market
MQL
1,247
$198 each
SQL
312
25.0% accept
Opportunity
142
45.5% progress
Closed won
47
33.1% win
ChannelWeighted contributionInfluencedFirst touchClosing touch
LinkedIn AdsFacilities Director + IT Ops
$754K61%12%
Organic searchcomparison + pricing intent
$442K19%17%
Google Adsbrand defence + high-intent non-brand
$331K7%44%
GEO / AI searchLLM citations · Reddit, comparison pages
$202K11%3%
Email nurturemid-cycle re-engagement
$111K2%24%
Why this matters at renewal. Google Ads closes 44% of deals and would take the credit under last-click — but it starts only 7% of them. LinkedIn starts 61% and would look expensive and ineffective on a last-click report. The renewal conversation is a different conversation when you can show the whole path.
Internal insights not client-visible
Quantitative data alone won't produce these. The engine reads your team's own context too — meeting notes, call recordings, project tasks — because the reason a campaign underperformed is usually written down somewhere no dashboard looks.
LinkedIn AdsGoogle AdsMeta GA4Search ConsolePeak HubSpotClickUpFathom AM notes

Kestrel may be heading for a budget freeze — 5 weeks before renewal

64%

Three signals moved together: the CFO joined the last two calls having never attended before, creative approval latency went from 2 days to 11, and a Series B described as "closing in Q3" back in March still hasn't been announced. The pattern matches four prior accounts, three of which cut spend at renewal.

Suggested move: bring a cost-per-opportunity story to the next QBR rather than a spend-growth story.

From Fathom · 3 calls ClickUp approval timestamps HubSpot · funding signal unverified

Facilities Director beating IT Ops by 2.3× on cost per opportunity

93% · acted

$1,840 per opportunity against $4,210. Added in April as a test, now quietly the strongest thing in the account. Budget shift already drafted and sitting in the queue above.

From LinkedIn Ads HubSpot · 142 opportunities

Account-lead fit warning — client tone has cooled since the May handover

57% · internal only

Replies have got shorter and slower since the account changed hands, and two requests were repeated having already been answered. Low confidence and a judgement call about people, so it is surfaced to you and never drafted to the client.

From email sentiment Fathom · classified internal-only
You are looking at the client's portal. Everything the engine generated is editable in place, and you can add your own. Nothing here is visible to Kestrel until you publish.
Edit mode
Kestrel Access — July performance
Prepared by Llama · draft, not yet published · generated 1 Aug
MQLs
34
+21% vs June
Cost per MQL
$214
−18% vs June
Opportunities
12
$124K value
Pipeline influenced
$1.84M
rolling
The month in words — AI generated

Summary

AI · 84%
From LinkedIn Ads GA4 HubSpot Peak
Recommendations — AI generated

Shift $8,000 from Google Search to LinkedIn

AI · 79%
From LinkedIn Ads Google Ads HubSpot

Rotate the "Badge or Phone?" creative set

AI · 88%
From Meta Ads LinkedIn Ads

Competitors gaining ground in AI answers

AI · 81% · flagged for review
From Peak Search Console · flagged because it names competitor movement
Your own additions
4 AI blocks · 0 of yours · nothing published yet
What this view is for

The client portal is the part of the system your clients judge you on, so it is the part you should have the most control over. Every generated block here can be approved, rewritten, or pulled entirely — and you can add a block the engine could never have produced, because it happened in a room. Your edits are stored as training pairs against this account, so the next draft starts closer to how your team actually writes.