Skip to main content
This guide builds, with synthetic examples, what a health plan operator turns on in Niadra for an agent that quotes plans and hands the closing to a human broker. In health, the quote is a function of the data of whoever asks, the data is sensitive, and the person asking often buys for someone else. Each part below is a feature of the space, turned on by itself.

What the sector asks for

  • A quote depends on the city, the ages and the product type: when one of those changes, the quote expires right away, not when the deadline passes.
  • One of the sources reports the enrollment fee wrong, and the operator knows it: the right value comes from another source.
  • The agent quotes for a dependent, for the parents, for a group: each beneficiary’s signals stay apart, and health data never becomes affinity.
  • The closing belongs to a human broker; the agent hands the conversation over with the package and gets the outcome back.

1. The type: the derived quote

The quote is a customer type with nature: derived: a function of the inputs it names, and Niadra expires it when one of them changes.
The quote API reports the enrollment fee wrong, and the type declares it: the field is a known_defect for that source, and the read serves the value of the budget document; while no source reported it, enrollment_fee is unobserved, and that blocks decide:close, a task of the operator the agent’s code honors. A decide read of a quote expired by an input carries the structured refusal stale_quote with the action requote, beside the values: the operator’s tool answers “the quote expired, quote again”, and Niadra never decides for it. The lead is a customer type with city, state, ages and household, marked sensitivity: health where it applies.

2. The agent’s turn

“For my parents” is a beneficiary: the stated ages go to beneficiary:parents, and the signals of that quote never become an attribute of the person asking; the constraints block of a turn for the parents carries their entries. Health data never becomes affinity: from an interaction with a sensitive object Niadra keeps only the type and a count. verify_claim says whether the price may be stated now; a quote expired by an input (the city changed on the next turn) answers claim_safe: false, and the agent quotes again instead of repeating the value. In TypeScript, the interactions travel as batch items (Signals).

3. The claim contract

“The monthly fee comes to R$ 511.06” is checked against the quote’s price_full in the turn, within the type’s claim age; a price the model said with no quote in the turn is blocked. “It covers physiotherapy” without a check_coverage call is a coverage promise with no lookup, marked in the chat and blocked in a proposal, which is immutable: the whole proposal goes to a person. “Can I quote for 2 dependents?” and “the waiting period varies by procedure” never trigger. See Claims.

4. The handoff to the broker

The closing belongs to a human broker. The agent creates a handoff with the package compiled at the broker’s verification level, and the person is held at the transfer_pending level until the outcome, so the operator’s retention agent does not contact them in between.
The outcome (closed_won, closed_lost, no_answer, the vocabulary the coordination document declares) ends the hold, enters the memory as the broker’s handoff.outcome action on the handoff object (the next agent sees “closed by the broker”) and feeds the suppressions the space maps: a closed_lost on price may suppress retention for 90 days. A handoff without an outcome by expected_by reads as expired. Outcome measurement attributes the signed proposal to the agent that quoted through the assisted_handoff method, probable, with the band said beside it.

5. Privacy

The lead, the quote and the beneficiaries’ signals are health data: the space’s policy releases them only for the sales purpose of the sales agents, at V1 when it is the person themselves who states them (the mirror rule), and never to an analysis source. The inferences about the person live in the reviewable profile, and a request to review an automated decision (a refused quote, for instance) goes to the operator’s data protection officer with the explanation built from receipts. Erasing the person erases the quote, the signals of every beneficiary and their turns.

What stays off

Everything above starts off. state turns on the derived quote and the structured refusals; signals, the beneficiaries and the block; claims and turns, the contract and the record; coordination, the handoff with its outcome; measurement, the attribution of the closing.

Next steps

Object types and state

derived objects, known defects and the structured refusal.

Signals and constraints

beneficiaries and what never becomes affinity.

Coordination

handoffs, ownership and the outcome that feeds the memory.

Privacy

sensitive data, the mirror rule and the reviewable profile.