Ask a head of reinsurance what worries them about automation on the ceded side and it is rarely the arithmetic. It is the email to a reinsurer that should not have gone, the chaser in the wrong tone to a lead who is already annoyed, the statement issued for a period that was not finished. Those are the acts that reach the panel, and they are the ones that cannot be taken back by a correcting entry.

So the design starts from the act, not from the model. Every agent in InsightCede prepares: it reads the ledger, writes a decision record with its evidence and a proposal, and stops. A person answers it. How much an agent may do without waiting for that answer is a setting per agent, per action and per line of business, and it moves only when the answers say it should.

Four levels, and the lowest one wins

Every action an agent can take sits at one of four levels. The level that actually applies to a given run is not the one somebody set on the agent; it is the lowest of three things: the level the checkpoint itself allows, the level set for that agent on that action and that line, and the tenant ceiling, which is an environment setting (CEDE_AGENTS_MAX_LEVEL) and defaults to L2. An agent whose kill switch is off drafts only, on every action and every line, at once.

flowchart TD
    R["An agent has prepared
a decision"] --> K{"Kill switch"} K -->|"off"| D1["L1 Draft on every
action and line"] K -->|"on"| M["Lowest of: the checkpoint rule,
the agent's level for this action and line,
the tenant ceiling (default L2)"] M -->|"L1 or L2"| Q["Waits in the queue
any send stays held"] M -->|"L3"| W["Owner told; released when
the pull-back window closes"] M -->|"L4"| A["Released at once"] Q --> P["A person answers:
Accept, Change, Reject or Ask"] W -->|"pulled back"| Q style D1 fill:#fdecec,stroke:#eab6b6 style Q fill:#fff4e6,stroke:#f0cb9a style P fill:#e6f7f2,stroke:#9fd8c9
How the level for one run is decided. The ceiling sits above everything else, so raising an agent on the Autonomy page never lifts it past what the carrier has allowed.
LevelWhat the agent doesWho is toldHow it is undoneUsed in Cede on day one
L1 · DraftPrepares a draft. Accepting it records agreement; nothing is applied unless the person asks the agent to act.The queueNothing to undoProposals: programme gaps, renewal packs, slips, anomalies, exhaustion, reconciliation, credit, Schedule F, escalation
L2 · Ask firstPrepares the decision. Accepting applies it: a held send is released, a strike generates the bordereaux.The queueReject cancels the held sendEverything that reaches the panel, and the cession explanations
L3 · Act and tellActs, inside a pull-back window (60 minutes by default).The owner, at oncePull back inside the window: the send is cancelled and the decision reopens at L2Nothing — above the default ceiling
L4 · ActReleases at once.—Not by a windowNothing

Day one is deliberately conservative: L1 for anything that proposes, L2 for anything that would reach a reinsurer. Nothing in the catalogue starts at L3. Those defaults are the product's behaviour before anyone has answered anything, so turning the dial on does not change what happens until a person changes it.

Admin · Agents
The Autonomy page: a hero reading 15 agents, no promotions waiting, tenant ceiling L2 Ask first; the ceiling band naming CEDE_AGENTS_MAX_LEVEL; and a card per agent with a four-step dial per action and line, its answers in 30 days and an on/off switch
Read the ceiling band under the heading first. It names the tenant ceiling and the setting behind it, and L3 and L4 carry a lock; every dial below stops there however far the evidence would move the agent. In the demo each card reads “No one has answered this agent here in the last 30 days”.

What “held” means

Anything an agent would send — a large-loss notice, a cash call, a reinstatement premium notice, a statement, a chaser — is written to the communications outbox with the status held. The outbox worker only picks up pending or failed rows, so a held message cannot leave from any server by accident. There is exactly one way out, a release, and it happens in two places: when a person accepts the decision, or when an L3 pull-back window closes without anyone pulling it back. A reject or a pull-back cancels the message.

stateDiagram-v2
    [*] --> Held: the agent writes the message
    Held --> Released: accepted, or the L3 window closed
    Held --> Cancelled: rejected, or pulled back in the window
    Released --> Delivered: production only
    Released --> DryRun: outside production
    Delivered --> [*]
    DryRun --> [*]
    Cancelled --> [*]
One message, every state it can be in. Outside production a released message is recorded by the dry-run provider and goes nowhere; that is the default, not a setting someone has to remember.

Outside production nothing is delivered at all. The process switches the dry-run flag on unless the environment says production or someone opts in with CEDE_COMMS_LIVE=1. The send account an agent uses on a new install is a dry-run account created for it, until an administrator adds a real one.

Grounded or blank: what a missing contact does

In the demo ledger the collections agent has prepared a chaser to Munich Reinsurance America for $15,730,529 across four recoverables, thirteen days late. Its evidence includes the line “rated A+, collateral $0, contact none on file”, and the proposal's recipients list is empty. With no addressee there is nothing to hold, so no outbox row was written at all. The agent did not guess an address from the reinsurer's name. The fix is to record the contact on the reinsurer; the next run prepares the chaser again and supersedes the old one because the proposal changed.

One flow, end to end

The chaser is the clearest example, because it is the agent with the most answers on a busy desk and the one carriers most often want to let run.

Use case detailsCollections chaser
TriggerThe scheduled settlement run finds a reinsurer with recoverables past their due date
Actor(s)The collections agent; the ceded analyst who answers; a manager for an escalation
Agentcollections_agent
Grounded incede_recoverable (billed, outstanding, due), cede_reinsurer (contact, rating, collateral), Pulse news signals
PreparesA chaser per reinsurer with its tone and the money by item; an escalation proposal where a reminder is not enough
Checkpoint & default levelchaser_send at L2 Ask first; collection_escalate at L1 Draft
What a person decidesAccept (released), Change (edited, then released), Reject (cancelled), or Ask (a question back, no feedback)
What is recordedThe decision row, the held message, the person's answer and any change, feedback against the agent and action, and the run row with model, prompt version and cost
Decision record
The demo's collections decision for Munich Reinsurance America: the recommendation with $15,730,529, four recoverables 13 days late, the counterparty line reading contact none on file, and the drafted chaser marked no recipient on file
Find the badge beside the draft: “no recipient on file”. It is the callout above, on screen. The evidence is grouped by the table it came from, with a link into the ledger for each recoverable.

The evidence that moves the dial

A person's answer to a prepared decision is feedback, attributed to the agent and action behind the checkpoint and to the line the decision was about. Every fifteen minutes the housekeeping job rolls up the last thirty days of answers and does one of three things for each agent, action and line.

RuleThresholdMinimum answersWhat happens
Promotion≥ 90% agreement≥ 50 in 30 daysRecommended, one level up. A manager accepts it; nothing moves by itself. Above the ceiling, the recommendation says so and waits.
Demotion< 70% agreement≥ 20 in 30 daysApplied at once, one level down, audited, managers notified. Not repeated automatically for 7 days.
Kill switch——L1 on every action and line, at once, with a reason recorded
Neitheranything between—A sentence saying where the agent stands and how many more agreed answers it needs

Two details in how agreement is counted matter more than the thresholds. Agreement is accepts divided by accepts, changes and rejects — so a Change counts against the agent, even when the person only softened a sentence. And an Ask records nothing, because a question is not an answer. The effect is a dial that is slow to rise and quick to fall, which is the right shape for acts that reach a counterparty.

Promotion is a recommendation a manager accepts. Demotion is immediate. The asymmetry is the point.

Nothing in that sequence required anyone to trust the model. It required fifty answers, a manager's acceptance and a ceiling the carrier controls, and it unwound by itself when the answers stopped agreeing.

Where the demo stands today

15agents in the catalogue, all switched on
L2tenant ceiling: nothing acts alone
26prepared decisions waiting in the demo queue
0answers recorded in the last 30 days

Those figures are the demo programme's, read from the live API: a demo US property-casualty carrier, not a customer. The metrics endpoint reports 36 decisions prepared in the window and none accepted yet, so agreement reads as a dash rather than a number. No agent has evidence to move on, and none has ever been promoted.

Agent activity
The agent activity page: tiles for running now, waiting on a person, completed today and acted today, then a list of runs each with an outcome, level and trigger
The second tile is the one to watch. “Waiting on a person” counts open prepared decisions. “Acted today” is zero in the demo, as it should be at an L2 ceiling.

What it does not do

  • Agreement is not correctness. The dial measures whether the people answering agreed with the agent, not whether the agent was right. A desk that accepts everything will promote an agent that is wrong in ways nobody checks. Counting a Change against the agent makes that harder, not impossible; the review of what the agent proposes is still a person's job.
  • The thresholds are not set on the page. 90% over 50, 70% over 20, a 30-day window and a 7-day cooldown are the platform's defaults, and Cede uses them as they are. A carrier that wants a stricter bar for one action changes configuration in code today, not a field on the Autonomy page.
  • One window length for every send. The pull-back window is a single setting (CEDE_PULLBACK_MINUTES, 60 by default) for notices, cash calls, reinstatement notices, statements and chasers alike.
  • Nothing has run above L2. Every level above Ask first is built and tested; none has been used at a carrier, and in the demo every released message is a dry run.

Why InsightCede →

← All posts   Request a demo