Deals don't die in the pipeline. They die at the handoff.
A lead changes hands four times before anyone signs anything, and every
one of those seams is where a real deal quietly stops moving.
Throughline makes each handoff an enforced contract: timed, gated on
evidence, audited on both sides.
Live: volume entering the funnel, and what each stage gate removes.
The leak
Your system of record is a filing cabinet that argues with itself.
Most customer relationship management software is a database with forms
on top. It is very good at recording what already happened, and
completely indifferent to whether the right thing happens next. So a
Marketing Qualified Lead sits untouched for three days. A Sales
Development Representative throws a half-researched name over the wall
and it comes back rejected with no reason anybody can learn from. A
Solution Consultant is pulled into a demonstration for a deal that was
never actually qualified.
None of that shows up as a number. It shows up eight weeks later as a
quarter that missed, and nobody can point at the hour it went wrong.
01
The silent clock
A lead goes cold while everyone assumes somebody else has it.
02
The unaccountable reject
Work is bounced back with a shrug instead of a reason that compounds.
03
The premature pull
Scarce technical people burned on deals that were never qualified.
04
The disagreeing report
Two screens, one metric, two different answers, one long argument.
Every handoff is a contract, not a courtesy.
That single idea is the whole product. Everything below is what it costs
to actually mean it.
The gates
Nothing crosses a boundary on trust alone.
A stage change is not a dropdown. It is a check against what the next
person actually needs in order to do their job, refused at the server
when it is not there.
Marketing to Inside Sales60 minutes
A Marketing Qualified Lead lands with a named owner and a running
clock. First touch inside the hour, or it escalates. Not a reminder
email. An escalation with a name on it.
Inside Sales to the Account ExecutiveEvidence required
The Sales Accepted Lead is refused unless it carries discovery notes,
budget, authority, need and timeline, a fit and intent score, a named
Account Executive and a booked meeting. You cannot submit an empty
shell and call it a handoff.
The Account Executive decidesOne business day
Accept or reject inside a business day. A rejection needs a reason
code and notes, so the fifteen ways a lead can be wrong become data
that Inside Sales can actually learn from, instead of a shrug.
Into qualificationScored, not asserted
An opportunity does not walk past Sales Qualified Lead until its
qualification evidence clears a threshold you set. Metrics, economic
buyer, decision criteria, decision process, identified pain, champion.
Situation, pain, impact, critical event, decision.
Pulling in PresalesStructurally blocked
Inside Sales cannot raise a presales request at all. Not discouraged
in training. Refused in code. Only an Account Executive holding a
qualified opportunity can spend a Solution Consultant's week.
Out the doorReviewed and signed off
A proposal passes an evidence-backed quality review before a customer
sees it, and pricing above threshold clears two levels of approval
with remarks recorded at each step.
Seven service level agreements ship configured on day one. Breaches land
in a table, not in somebody's inbox where they go to die.
The intelligence
Eleven places the model helps. Not one where it decides.
Artificial intelligence in a revenue system is trivial to demonstrate
and genuinely hard to trust. Every surface below runs through a single
chat helper, so the provider, the timeout and the failure message are
decided in exactly one place, and every answer comes back in a shape our
own code validates before anyone sees it.
Proposal quality assurance engine
A full review of the document before a customer ever opens it. Six
passes, each one producing findings tagged observed, derived or
predicted, so a prediction is never dressed up as a fact. Document
text is fenced as untrusted data, which means an instruction hidden
inside a customer file is read as data and never as a command. Money
is scaled whole numbers, never binary floating point.
Extraction
Solution fit
Legal terms
Bill of quantities
Value-add coverage
Adjudication and challenge
proposalQa.service.ts
Natural-language query
Ask in plain language. The model never writes the query: it returns a
structured filter validated against a schema catalogue, which our code
compiles into parameterised Structured Query Language.
intelligence.service.ts
MEDDIC scoring and the advance gate
Metrics, economic buyer, decision criteria, decision process,
identified pain, champion, scored zero to one hundred with the reasons
attached. Below the threshold an opportunity does not advance.
ai.service.ts
SPICED scoring and the advance gate
Situation, pain, impact, critical event, decision, each scored zero to
three. A disqualify verdict always blocks advancement, whatever the
total says.
ai.service.ts
Opportunity insight
A short written read on where a deal actually stands, generated from
the fields on the record rather than from the mood of the last call
report.
ai.service.ts
Account enrichment and lead qualification
A legal name and a domain hint come back as a structured company
profile, and an inbound lead arrives pre-read against your ideal
customer profile.
ai.service.ts
Natural-language assistant
Deterministic rules answer first and the model is only consulted when
no rule matches with confidence. Cheaper, faster, and predictable on
the questions people actually repeat.
assistant.service.ts
Activity-note authenticity check
Logged activity is read before it is saved. A note that says nothing
does not count as a touch, so the activity record stays worth
reporting on.
activityValidator.ts
Executive ask
The model picks a key performance indicator code and a period from a
fixed list. It does not compute and it does not invent values. Our
resolvers compute, and the answer quotes them back verbatim.
execAsk.ts
Proposal evaluation and deal value
A second, lighter read of the proposal that recovers the commercial
value of the deal from the document itself, so the review knows how
aggressive it needs to be.
proposalEval.service.ts
Scanned-document text recovery
A proposal that arrives as images instead of text is read by optical
character recognition so the review still runs. If that is not
available it reports no extractable text rather than guessing.
ocr.ts
Your model, your tenancy, your region
All eleven surfaces sit behind one helper, so switching providers is a
block of environment variables rather than a migration. Mistral out of
the box, with an administrator holding the key. Point the endpoint at
Azure OpenAI and every surface follows, with no database change and no
redeploy of the application code.
The model produces evidence. It never produces authority.
Three rules make every one of those surfaces checkable by a human who is
about to stake a quarter on the answer.
It does not write the query
The model translates a question into a structured filter validated
against a known schema, and our code compiles that into a
parameterised query. It never touches the database and never invents a
column. When it is unsure it asks a clarifying question instead of
guessing confidently.
Every claim is labelled
Each finding is marked observed, derived or predicted. Something read
from a document is never dressed up as something calculated, and a
forecast is never presented as a fact. When the reference data is too
thin it says so and asks for a human rather than filling the gap with
a fluent sentence.
Price cannot see budget
The price estimator takes no budget input. Not ignored at runtime:
structurally unable to receive it, with a test that smuggles a budget
in at three different magnitudes and asserts the output is identical
down to the byte. A price that is suspiciously low is reported as a
risk, never as a win.
The numbers
One definition. Every screen. No exceptions.
The quickest way to lose a room is to have the forecast page and the
board deck disagree about the word "commit". It happens because the
arithmetic gets reimplemented in four places by four people over two
years.
Here there is one semantic layer. Every key performance indicator is
one function with one definition. The executive dashboard, the
forecast page, the Monday digest, the weekly Sales Performance review
and the natural-language question all call the same code. The
calculation never reaches the browser, so it cannot drift.
Every number comes back carrying where it came from, when it was last
computed, and how much data stands behind it. Enough to defend it in a
quarterly business review without a spreadsheet archaeology dig.
weighted_pipeline
value
4,820,000
currency
United States Dollars
formula
metrics/weighted.v3
computed
02:14 today
sample
184 open deals
The provenance travels with the number. Always.
The platform
Built to be handed to somebody else.
Your name on it, not ours
Product name, logo, tagline, accent colour, legal entity. All of it is
configuration an administrator edits, live, with no rebuild and no
fork. The entire colour system derives from one value.
Read wide, write home
An executive with access across several business units reads across
all of them. Writes never widen: everyone creates records only in the
unit they belong to, enforced in the query layer rather than
remembered by a developer.
Roles are a boundary
Nine roles, each guarded on the server and again in the browser, with
the navigation composed per person. Not a preference that hides menu
items from someone who can still reach the endpoint.
It explains itself
Scores come back with the reasons that produced them. Deal health is a
set of weighted factors you can argue with, not an opaque number
between one and a hundred.
If your funnel leaks at the seams, the seams are the product.
Throughline is a working platform, not a prototype. Bring a real funnel
and a real quarter, and we will walk it end to end with you.