
Until now, some rules lived outside the platform: in a Slack message, in the head of someone in operations, or in a ticket for engineering. “With this carrier the message is different.” “On this portal the policy number comes in another field.” “Add this carrier to the quoting tool for me.” Each one was small. Added up, they were the reason the agent got 80% right and the other 20% still went through a person.
This cycle was about bringing those rules inside. You set them up, once, and the agent applies them from that moment on.
Here is what changed

01Collections: every step, with cases
Before: a single collections flow told every client the same thing. If a carrier needed a different message, or a large premium called for a different tone, or a card had already bounced twice, someone handled the exception by hand.
Now: every step of the flow can branch on four axes: carrier, line of business, receipt amount and declined charges.
“If it's GNP, say this. If the card bounced twice, say this instead. Otherwise, the usual message.”
That's all you need to write. The flows you already had configured stay exactly the same: zero changes to existing configurations. Conditions are added on top, not instead.
And one detail that comes from this: declined automatic charges are now tracked over time. A receipt that bounces once is an incident; one that bounces three times is a pattern, and the agent can now react differently to each.
02Payment application against SICAS
Before: every portal records the policy number differently. With hyphens, without hyphens, with a prefix, in the wrong field. Matching paid receipts against SICAS was manual work because nobody had told Handle where to look on each one.
Now: you tell it. Once per portal, not per receipt.
You tell it how to find the policy number on that portal, the rule is saved, and it applies to every receipt that comes in after. One rule per portal. For good, until you change it.
It's a small change in the interface and a big one in where the knowledge lives: before, it was in the person doing the matching; now it's in the platform.
03Quoting: carriers and packages, from the chat
Before: adding a carrier to the quoting tool with its credentials, or building a custom package, went through us. And the comparison table was what it was.
Now: both are done from the chat.
“Add this carrier with these credentials.”
“Build a package from the quote I just ran.”
“Sort the comparison by total premium.”
The comparison table is now in plain language, and it reorders just by asking. El Potosí and General de Seguros came in, Monterrey packages went from one to four, and GMM (major medical) now quotes with dependents.
Underneath that was a week of review: 27 portals checked live, 64 defects found. Every one that affected the price or blocked a quote was fixed or documented.
Status
All three changes are in production. Collections conditions and the SICAS rule are configured from the platform; conversational setup for the quoting tool is live for the brokerages already using it.
What's next
See which rules people configure when nobody asks them to. That tells us where the 20% we weren't seeing was.

General updates
The rest of the week. This time there's a lot, and several of these will get their own post soon.
Handle Desk
Computer use in production
The agent explores the portal once, turns what it did into a deterministic recipe, and replays it the next times without calling the model. Zero model calls on each repeat, and 9 out of 9 fields read correctly from the PDF cover page. It's already running live with a client, there's a macOS build, and it's ready to launch in Brazil.
Quoting without RPA
Computer use experiment
Quoting RPA breaks every time a portal changes. The alternative, an agent that quotes by navigating the portal the way a person would, already works end to end. Three models were tested. This week it's measured against the RPA; next week, real quotes.
Portal status
Last sync, carrier by carrier
Clients had no clear way to know when each carrier was last synced. The first version of the module is out: status and last sync per carrier, readable at a glance. It's being fine-tuned with the team.
Data lake
Seven sources, one history
We couldn't see where receipts fail or how reliable quoting is. Now there are seven sources with history in BigQuery, at one-hour granularity with a daily refresh: receipt failures by owner, quoting reliability, and collections, all in a single view.
Payment + SOR
Eight carriers with receipts in SOR2
Inbursa, General de Seguros, Momento, Insignia Life, Latino Seguros, Redbridge, Best Doctors and Panamerican Life now run receipts in SOR2. Plus a new platform to launch manual syncs: you launch them yourself, without asking on Slack.
Enterprise
Reconciliation and Argentina
In the commission reconciliation project, 84% reconciles on its own. The full data set is already in Handle and closes this week. The remaining 16% isn't a backlog item: it's the next product. In Argentina, three carriers are now integrated into the SOR: RUS, Provincia and Sancor.
Closing
Last week the topic was an agent that didn't give notice. This week it's an agent that didn't know your rules.
The two are more alike than they seem. In both cases the agent did well what it did; the problem was everything left outside it, in a person, in a chat, in a ticket. And what's left outside is what doesn't scale.
If your operation has rules you keep repeating today (to your team, to us, to the agent), reply to this email. That's exactly what this cycle was built to absorb.
See you next week with more updates.


