Skip to content

An AI claims adjudicator, a blind cross-check, and a human at every gate

Nine Make scenarios take a guest damage claim from intake to the last gate before the owner's letter: Claude recommends, a second model checks it blind, and people decide, bill and sign off.

AI & decision supportFlow2026

Where this applies

Any business that settles claims against a policy, waiver or guarantee: rentals, equipment hire, warranties, small insurers.

independent AI reads, the second blind
2
scenarios, intake to the final send gate
9
errors in all, on two days, all fixed
8

The problem

Any business that settles claims against a policy, a waiver or a guarantee needs the rules applied the same way every time, and the arithmetic to reconcile to the cent. A language model is good at reading a claim and a poor thing to trust with money on its own: it can misread a rule, round differently on a second pass, or be fluent and wrong, and a person reviewing hundreds of its answers soon stops reading them closely.

And a decision is only the start: someone has to be told what to bill, a receipt has to be found, and a letter has to be sent, each easy to send twice or too early. The build has to make the model useful without making it the decision-maker, and make its failures loud rather than plausible.

What we built

01

Reason first, transcribe second

The first model call writes worked reasoning in plain text: causation per item, category, lifespan, depreciation, the repair-or-replace test, exclusions and the final status. A second call transcribes that reasoning into a schema-constrained record with fixed enums (twenty item categories, and closed sets of bases, confidences and statuses) and is told not to re-adjudicate. The thinking and the structured copy are stored separately, so the structured output cannot round a figure differently from the reasoning it came from.

02

Controls and arithmetic the model cannot talk past

Before the model, each claim is checked for a duplicate invoice by hashing vendor, invoice number and amount, and against a rate band (advisory, and flagged only on the high side) and prior approved claims at the same property over 183 days are fetched, with a guard so a blank property key never matches everything. After it, a deterministic layer works in integer cents: contents plus dwelling must equal the total, line items must equal the total, allocation buckets must equal the total within a cent, a per-reservation cap applies, and no money may attach to an item the model has low confidence caused. A claim that fails the maths is zeroed and set to an error state with no automatic retry; one that trips a cap or a confidence rule is forced to escalate, with the proposed figures kept separately so a person sees what the model wanted.

03

A second opinion that never sees the first

Once a decision has passed the maths, a larger Claude model reads the same claim payload from scratch, without the first answer. Only then are the two compared on judgment fields alone: status, and per item the category, age, basis and causation confidence. Money amounts are deliberately not compared, because the first layer's arithmetic covers them and a rounding difference is not a disagreement. A mismatch holds the claim and blocks payment at the ledger gate.

04

Failures that cannot look like successes

Each fragile step has its own handler. The first failure leaves the claim to be retried on the next poll; the second becomes a hold, because an unverified decision must never look verified. A run counter incremented on pickup caps first-pass attempts at two, so a crash cannot loop. Every notifier (the team feed, the review card, the approval announcer and the billing and receipt steps below) ticks a stamp on the record after it sends and excludes stamped records from its own watch, so nothing posts twice.

05

From approval to the owner's letter, one gate at a time

Once the approver decides, four more scenarios carry the claim forward. A billing notice emails the full record (requested, authorised ceiling and charged amounts, how it was paid, who is owed what) and posts a one-line pointer in the finance channel; it warns that an approval is a ceiling, not a payment, until a receipt exists. When the company itself buys the replacement, a receipt request goes to the regional manager in their market's channel, with a fallback channel for anything unmapped. The owner's letter then passes two gates: the draft is posted for the approver and the operations lead to approve in the thread, marked DRAFT NOT SENT, and a final gate asks the approver alone for the green light, only once a readiness formula in Airtable says everything else is in place.

06

Designing against the mail scanner

The approver's email originally carried one-click approve and deny links. A mail scanner followed them and decided claims on its own, so the links were removed and replaced with a link to a queue where a person sets the status. The announcer also holds back an approval until the payout recipient is settled, and the owner-letter gate warns loudly if it is not, so no message about money can be ambiguous about who is owed what.

The outcome

  • Across the nine scenarios: 9,586 runs and 11,037 operations, with eight errors in all (five on 18 September in notifier templates and trigger formulas, three on 19 September from a blueprint validation fault), each fixed the day it appeared.

  • Most runs are empty one-operation polls. A real claim costs roughly 23 to 67 operations and one to three and a half minutes in the first pass; a cross-check batch of five takes eight or nine minutes.

  • Both model reads and every arithmetic check are stored on the claim, so a reviewer sees what was proposed even when the system forced an escalation.

  • None of the scenarios can approve a claim or move money. They recommend, hold, announce and ask; a person decides at every gate.

Where it stops

The photos and invoice PDFs attached to a claim are not yet passed to the models, so the reading is of the written claim and its line items. The rate-band check is advisory and looks only at prices above the band. The build stops at the final send gate: capturing the green light, sending the letter and chasing the approver are handled outside these scenarios. Claim volume so far is modest, so the run counts describe reliability more than throughput. State lives in Airtable stamps rather than a data store, which keeps it visible but means a stamp failing after a send can cause that message to repeat.

Built with

  • Make.com
  • Airtable
  • Anthropic Claude
  • Slack
  • Gmail
  • JSON-schema output

Patterns used

  • Reason then transcribe
  • Blind cross-check
  • Stamp-after-send idempotency
  • Integer-cent validation

Page copy drafted with AI assistance. Skofi is accountable for it. Editorial policy

Start here

Have something shaped like this?

If any part of the above resembles a problem you are living with, a short call is the fastest way to find out whether it is the same problem underneath.

Book a 15-minute callsaveez@skofi.tech

What happens on the call

  • 15 minutes, no deck
  • We map the process on the call
  • A written scope, or an honest no
Book a call