Portico · Customer experience

It asks when it doesn’t know.

Five emails this morning the classifier couldn’t read. They didn’t get filed under “general inquiry” and forgotten — they’re in a queue called Name it, marked unclassifiable, waiting for you to say what they are. Then it remembers.

EVERY OTHER CLASSIFIERComplaint / claim4Load status2Quote request0General inquiry5the five it couldn't read, filed as if it couldTHIS ONENAME IT5the classifier could not read these —say what they areGate code for the Laredo yardPallet exchange programme questioncounted, labelled unclassifiable, and asked aboutAND IT REMEMBERS WHAT YOU TOLD ITTaught sendersthe next email from that address arrives already understoodA default category is where a classifier hides what it got wrong.
3consistent edits before it claims a pattern
1rejection, and a pattern never comes back
4triage buckets, each plainly defined
0patterns applied without you pressing the button
17surfaces, from SLA to knowledge base
12modules on one platform

These are things Portico does — not results a customer measured.

01

Triage

Four piles, and each says what it is.

Things it couldn’t read, and needs you to name. Things it read fine that belong on somebody else’s desk. Things that are yours with a customer waiting. And things that are asleep, waiting on them, or done.

No status codes to learn. The bucket names are the instructions — and when something routes out, it tells you where it’s going rather than just leaving.

NAME ITthe classifier could not read these — say what they are5ROUTE OUTclassified, and they belong on another desk2WORKyours, and the customer is waiting on us4WAITINGasleep, waiting on them, or closed3

02

Learning

Three edits, or it’s not a pattern.

It watches what your team actually changes about the replies it drafts. One edit is a mood. Two could be coincidence. Three in the same direction is a pattern — and evidence that contradicts itself is thrown away as noise rather than quietly averaged into something in the middle.

Even then it does nothing. The pattern sits there until you press use this, and only then does it write to that customer the way you do.

WHAT YOUR TEAM CHANGEDcut the closing pleasantrycut the closing pleasantrycut the closing pleasantryPATTERNadded detail / removed detailNOISEEvidence that disagrees with itself isn't averaged into a compromise. It's discarded.And a detected pattern still changes nothing until you press the button.

03

No means no

Ignore a pattern once and it’s gone.

Not snoozed. Not suppressed for ninety days. Not resurrected when the evidence gets stronger. You looked at a suggestion about how you write to customers, decided it was wrong, and it will not be raised with you again.

Every learning system you’ve used treats a dismissal as a data point to be overruled later by volume. This one treats it as an instruction — which is the only reason it’s safe to leave it watching.

A SUGGESTED PATTERN“write shorter to this customer”you ignore itGONEAND THEN, LATERsix more edits in the same directionthe evidence gets stronger every weekstill gone“Ignoring one is permanent: more evidence will not put it back.” — the product's own words.

04

Scope

It knows what isn’t its job.

Portico holds what arrives without a load attached to it. Anything tied to a load belongs on that load, with the people already working it. And when two threads drift onto the wrong desk, the screen says so and offers to move them.

A shared inbox that accumulates everything becomes the place answers go to get lost. This one has a boundary and audits itself against it.

PORTICO KEEPSwhat has no load anchorclaims, quotes, questions, complaintsTHE LOAD KEEPSanything tied to a loadwith the people already working itBOUNDARY2 load-status conversations still living here — open each one and attach it.It counts its own violations of its own rule, on the screen, without being asked.

Why this instead of what you have

AI in support has one real problem: it bluffs.

Not maliciously. It’s built to always produce an answer, so it always produces one — a category for the email it didn’t understand, a draft in a voice nobody approved, a suggestion you turned down last month wearing a new hat.

The default category is where things die.

Everything the classifier couldn’t read went to “general inquiry”, so the folder nobody trusts is also the one with the claim in it.

The drafts never sounded like you.

Your team edited every one the same way for three months, and the model went on producing the same thing, because nobody was counting the edits.

You said no. It asked again.

And again, with more confidence each time, until somebody clicked yes to make it stop.

A desk that admits what it couldn’t read, needs three consistent edits before it claims to have learned anything, and treats one rejection as final.

05

Five reasons it wins

Every one of these is the product declining to overreach.

01

Unclassifiable is a real answer.

A queue, a count, and a label — not a quiet demotion into the general folder. You name it once and the sender is taught for next time.

02

Three in the same direction, or nothing.

One edit is a mood, two is coincidence. And evidence that contradicts itself gets thrown away rather than averaged into a compromise nobody asked for.

03

Nothing is applied without a press.

A detected pattern sits and waits. It reaches the drafting prompt when you say so, for the customer you said it about, and not before.

04

A rejection is permanent.

Ignore a pattern and it doesn’t come back — not snoozed, not resurfaced when the evidence gets stronger. Which is exactly why you can leave it watching.

05

It polices its own boundary.

Threads tied to a load belong on the load. When two drift onto this desk anyway, the screen counts them and offers to put them back where the people working that load will see them.

06

What’s in it

Six areas, one module.

The desk

6
  • Four buckets, each defined in plain words
  • One recommended next thread, worst of all
  • Claim, reply, note, classify, link, resolve
  • Take the next five and work them through
  • Route out, with the destination named
  • Customers and internal kept apart

Classifying

5
  • Unclassifiable is a state, not a default
  • Load status, complaint, claim, quote, inquiry
  • Name it once, and the sender is taught
  • Taught senders kept as a record
  • Threads linked to the load they concern

Learning

6
  • What your team actually edits, mined
  • Three same-direction edits, or nothing
  • Self-contradicting evidence discarded
  • Patterns are per customer, not global
  • Applied only when you press the button
  • Ignore one and it never returns

Timing

4
  • Breach and actual response in one column
  • Held, unanswered and breached counted apart
  • SLA monitoring on its own surface
  • Coverage and escalation on their own surface

Scope

4
  • Only what arrives without a load anchor
  • Load-tied threads live on the load
  • Violations of that rule counted on screen
  • Attach a misfiled thread in one action

The rest of it

6
  • Macro library and knowledge base
  • Automation rules
  • Dispute manager
  • Customer health
  • Reply quality and topic reporting
  • Response analytics across the desk

Thirty-one of them. There are more, but these are the ones that decide whether the team trusts the queue.

Next step

See it on your inbox.

Ninety minutes on your customer desk: what actually arrives, which of it belongs on a load, how your team edits a draft, and which patterns you’d adopt first. You keep the configuration.

Portico is the ELYON customer experience module. The desk and the way it learns from your edits were walked in the live product; the other surfaces named here are built and in it. No figure on this page is a customer outcome.