Overview
Policy Data is where you turn raw policy spreadsheets into matched, audit-ready records. Upload a CSV or Excel export, let the AI match each policy to one of your appointed agencies, products, and agents, then resolve anything that did not match cleanly. From this single page you launch a matching run, watch it stream live, tune the rules the AI uses, and bulk-action policies that still need attention.
What is Policy Data?
Policy Data is the upstream entity's central workspace for reconciling your book of business against your appointment and licensing data. Drop in a file from your AMS or carrier portal and Turris parses it, normalizes the rows, and links each policy back to the agency that placed it, the product line, and the producing agent.
Who uses it. Compliance managers, licensing leads, and operations teams at carriers, MGAs, and wholesalers who need to reconcile policy production. Typical activities are monthly book reconciliation, onboarding a new downstream agency, and clearing exceptions before producing a compliance report.
What you can do here:
See how many policies are matched, in manual review, awaiting AI, or unmatched, plus how uploads and matches have trended over the last six months
Upload a new spreadsheet without remapping columns every time
Kick off an AI matching run that targets only the buckets you choose, then watch each batch resolve in a live activity log
Answer clarification questions the AI raises mid-run instead of letting the whole job stall
Save free-text instructions and reference files (carrier aliases, abbreviation lists, product mappings) so future runs match more on the first pass
Work each side of matching on its own tab: policy identity, product, agency, and transaction-level agent assignment
Select dozens or hundreds of policies and bulk-assign the same agency, product, or agent in one action
Accessing Policy Data
Open Left sidebar → Tools → Policy Data. The page loads with the Overview tab active and these areas stacked top to bottom.
Area | What it shows |
Toolbar | A bold Policy Data title with an "{count} ingested" caption, plus the Upload split button, the Matching Context button, and the Run Matching button. |
Review Questions banner | A yellow "We need your input" banner that appears only when a run has paused for your answers. |
AI Activity Log | A dark terminal-style panel that streams batch-by-batch progress while a run is active, and stays available afterward so you can scroll the history. |
Manual Review banner | A yellow banner that appears after a run if any policies need a human decision. It names the top agencies and links to the filtered table. |
Policy Overview | A diagnostics card with headline numbers, a match-state bar, four gauges, and a six-month trend chart. Appears once you have at least one policy. |
Workspace panel | The tab bar (Overview, Product, Agencies, Policy Transactions), a filter card, and the policy table. |
Click any row in a tab's table to open the policy detail page, where you can change the matched agency, override the matched product, and assign agents per transaction.
Uploading Policy Data
When you'd do this. You have a new carrier export, AMS extract, or month-end production report and want Turris to ingest it so AI matching can run against the new records.
Click Upload in the toolbar (the cloud icon at the top-right of the page). This opens the upload wizard on a separate screen.
The wizard has four steps along the top: Upload, Column Mapping, Instructions, Review.
On the Upload step, drop your file. Accepted file types are CSV (
.csv) and Excel (.xlsx). Turris parses the headers and row counts, then advances automatically.On the Column Mapping step, map each spreadsheet column to a Turris target field. Four fields are required: Policy Number, Risk State, Policy Transaction Type, and Policy Transaction Date. Use the filter pills above the grid to narrow the view:
Filter | Description |
All | Every column in the upload. |
Required | Columns mapped to fields Turris requires. |
Missing | Required fields you have not yet mapped. Clear this list before continuing. |
Optional | Columns mapped to non-required Turris fields. |
Unmapped | Columns Turris has not auto-matched. Mark them as ignored or pick a target field. |
On the Instructions step, write free-text instructions and attach reference files (PDF, PNG, JPG, WEBP, TXT, or CSV, up to 5 files, max 10 MB each). These become the matching context for every future run that uses this template.
On the Review step, confirm your mappings and instructions, then confirm to ingest. Turris saves the template, imports your rows, and routes you back to this page.
Tip: Once an active template exists, an Edit mappings segment appears next to the Upload button. Use it to adjust column mappings or instructions between runs without re-uploading a file.
Note: If your active template already matches at least 80% of the columns in the file you just uploaded, the wizard skips Column Mapping and Instructions and jumps straight to Review with the existing template pre-applied. You can step back from Review if you want to adjust before ingesting.
Running AI Matching
When you'd do this. New policies were just ingested, or a previous run left some unresolved, and you want the AI to assign each policy to the right agency, product, and agent.
The Run Matching button has three states in the toolbar:
State | When it appears | What it does |
Run Matching | The default. | Opens the bucket selector so you choose which policies to match. |
Run Matching (disabled) | A run is already queued or processing. | The AI Activity Log shows live status while it runs. |
Ingesting policies… | An upload is still being imported. | Disabled until ingestion finishes; the caption reads "matching resumes when upload finishes". |
Clicking Run Matching opens the Run matching selector, where you pick which buckets of policies to process. Buckets are split into two groups:
Group | Buckets | Behavior |
Unresolved (safe to match) | Unprocessed (never run through AI), No Match Found (AI ran but found nothing), Manual Review (AI found a likely agency that needs confirmation) | Always safe. Matching these never disturbs existing matches. |
Matched (protected) | Auto Matched, User Confirmed | Protected. Including either bucket resets those policies to unmatched and re-matches them from scratch. |
A distribution bar at the top of the selector reflects your live selection. Each bucket row shows its policy count; zero-count buckets are disabled. The footer shows how many buckets are selected and how many matched policies stay protected. Click Run matching (the selected policy count appears inside the button) to start.
Open Run Matching in the toolbar.
Select one or more buckets. Choosing a protected bucket draws a red Reset tag on that row.
Click Run matching. If you included a protected bucket, a confirmation appears: "Reset {count} matched policies?" with Reset & re-match and Cancel. Your Unprocessed, No Match Found, and Manual Review selections are unaffected by the reset.
The button shows a loading state, the modal closes, and the AI Activity Log opens below the toolbar.
Note: Matching only the Unresolved buckets is non-destructive. To apply new instructions retroactively to already-matched policies, include the Auto Matched or User Confirmed bucket so they reset and re-match under the current rules.
AI Activity Log
The dark terminal-style panel below the toolbar streams matching progress in real time and keeps the full history after a run finishes.
Element | Description |
Header status | Reads Matching in Progress, Paused: Waiting for Your Input, Matching Complete, Matching Failed, or Activity Log depending on state. |
Progress summary | Percent complete plus "{processed} of {total} policies". When a run is split into waves it also shows "Wave N/T" and the current wave's processed/total counts. |
Live / Paused badge + Stop | A pulsing green dot reads Live during a run, or yellow Paused when waiting on input. Click Stop to cancel the in-flight run; the button shows Stopping... until the worker drains. |
Search | Click the magnifying-glass icon to open a search bar that filters log lines by text, entity name, matched-to name, or your supplied reason. A counter shows "{matched} / {total}". |
Activity entries | Each batch start, per-policy result, group summary, and final summary appears on its own line. Successful matches render green, review items yellow, errors red. |
Streaming text | Between entries the panel streams the AI's reasoning word by word for transparency. When the AI is thinking between streams, the Turris tower-building animation plays. |
Update prompt | A yellow in-log card appears when the AI suggests new rules from what it just saw. Click Update Matching Instructions to open the Matching Context editor, or Continue to dismiss and resume. |
The collapse caret hides the log body while keeping the header visible during a run. Once a run completes, the X button in the top-right closes the panel.
Review Questions (Clarification)
When you'd do this. A run paused and the page shows a yellow We need your input banner with a Paused tag. The AI hit policies it cannot confidently resolve without your help.
Click the banner (the chevron on its right expands it) to open the clarification panel.
The panel steps through each question one at a time. The stepper labels each step Question {n} and shows the source value from your upload plus the candidate matches.
Type the correct value for a question, or click Skip this question to leave it blank and move on.
On the last question, click Submit Answers. Matching resumes automatically with your answers applied, and the AI Activity Log re-opens with the Live indicator pulsing again.
Note: Clarification questions usually come from data-quality issues such as a typo in an agency name, a missing license number, or an unfamiliar abbreviation. Adding the resolved value to the Matching Context as an instruction or reference file usually prevents the same question on future runs.
Matching Context
When you'd do this. A previous run sent too many policies to review, or you want the AI to follow business rules it cannot infer from the spreadsheet alone, for example "treat 'TWG' as Travelers" or "producer codes starting with 'WS' are wholesale".
Click Matching Context in the toolbar to open the editor modal (subtitle: "Rules & reference files that guide AI matching"). Use the expand icon in the header to enlarge the modal.
Update the fields you want to change:
Field | Required | Description |
Instructions | No | Free-text rules the AI applies on every match attempt. Example: |
Reference Files | No | Up to 5 files total. Accepted types: PDF ( |
Rules | No | The AI-generated rules grouped by category (Entity Mapping, Data Format, Abbreviation, Exclusion, Product Mapping, General). You can edit a rule's description and category, delete a rule, or add your own. |
If you entered instructions, click Validate before saving (it appears next to the textarea). Validation flags typos, not-found references, and ambiguous wording, and offers one-click corrections. Saving stays blocked until validation passes when content is present.
Click Save to persist your changes, or Discard to close without saving.
After saving, Turris regenerates the rules in the background from your instructions, unless you hand-edited the rules yourself (manual edits switch off automatic regeneration until you change the instructions text again).
Note: Saving updates the context but does not change existing matches. Your changes take effect on the next matching run. To apply them now, run matching again. To apply them to already-matched policies, include a protected bucket in the Run matching selector so those policies reset and re-match.
Manual Review Banner
After a run, if any policies were sent to manual review, a yellow banner appears under the toolbar. It reads "{count} Policies Need Manual Review" and names the top agencies with their review counts, for example "ABC Insurance Agency (3), XYZ Brokers (2) and 4 more".
Click anywhere on the banner to:
Open the Agencies tab with the Match Status filter set to Manual Review.
Smooth-scroll down to the table so you land on the right rows.
From there, click any row to open the policy detail page and either confirm one of the AI's candidate matches or override it with a different agency.
Policy Overview
The Policy Overview diagnostics card sits above the tabs and summarizes agency-match performance across every policy you have uploaded (the last six months for the trend). It appears once you have at least one policy.
The header shows four headline numbers:
Number | Meaning |
Total Policies | Every policy uploaded for your organization. |
Active | Policies currently in an active lifecycle status, shown over the total. |
Transactions | Total transactions across all policies. |
Match Rate | Matched policies (Auto Matched plus User Confirmed) as a percent of total. |
Below the numbers, a segmented bar and four radial gauges break every policy into four match states:
Matched (green): auto matched or user confirmed to an agency
Manual Review (yellow): the AI found a likely agency that needs a person to confirm
No Match Found (red): the AI ran but could not confidently match the policy
Unprocessed (gray): AI matching has not run on the policy yet
A 6-Month Trend chart at the bottom plots two lines, Uploads and Matched, by month, with end-of-month active counts and peak values called out below it.
The Policy Tabs
The workspace splits into four tabs. Each has its own search, filters, table, row selection, and bulk actions, and each remembers its own state in the URL so you can deep-link to a filtered view.
Overview tab
The policy-identity table. Rows are grouped into:
Policy: Policy Number (a building icon marks policies uploaded by your parent Enterprise, and an "Also in Enterprise" badge appears when both you and the Enterprise have a record), Status, Insured, State, Premium
Coverage: Aggregate, Per Claim
Producer: Name, Code, License, NPN
Details: Effective Date, Expiry Date, Created, Transactions, External Billing ID, Upload Source
Product tab
The product-matching table: Policy Number, Transactions, then a Product group with the source product block (Product / LOB / Carrier), Product Code, Filing Number, SLA Number, the Matched Product, and the product-match Status, plus a Match Reason explaining the match.
Agencies tab
The agency-matching table: Policy Number, Transactions, then an Agency group with the source agency block (Name / NPN / FEIN / License), the Matched Agency (a "Suggested" tag marks an unconfirmed AI suggestion, and a "+N" popover lists additional matched agencies), and the agency-match Status.
Policy Transactions tab
The all-transactions table: a Policy group (Policy Number, Status, State), a Transaction group (Type, Date, Premium), and an Agent group with the source agent block (Name / NPN / License), the editable Assigned Agent(s) picker, and the agent-match Match Status.
Tables default to 25 rows per page and cap at 100. Click a column header to sort. Click anywhere on a row body (not the checkbox) to open the policy detail page.
Filtering and Searching
Each tab has its own filter strip combining a search box, badge toggles, and where relevant a multi-select dropdown. All filters combine with AND, and changing any filter resets pagination to page 1.
Overview tab
Filter | Type | Purpose | Example use |
Search box | Free-text | Matches policy number, insured, and producer. | Looking for one policy? Type its number; partial matches work. |
Status | Multi-select badge | Lifecycle status: Bound, Active, Expired, Cancelled, Non-Renewed. | Year-end cleanup? Pick Expired and Cancelled. |
Upload Source | Multi-select badge | Where the policy came from: Self-Uploaded, Enterprise, Public API. | Reviewing only the records you uploaded? Pick Self-Uploaded. |
State | Multi-select dropdown | Filter by risk state. | A multi-state book filtered to just California. |
Product tab
Filter | Type | Purpose | Example use |
Search box | Free-text | Matches product name, code, filing, and SLA number. | Find every policy on one filing number. |
Product Match | Multi-select badge | Product-match status: Auto Matched, User Confirmed, Needs Clarification, Unmatched. | Pick Unmatched to find products that could not be auto-mapped. |
Line of Business | Multi-select dropdown | Filter by line of business. | Isolate all E&O policies. |
Agencies tab
Filter | Type | Purpose | Example use |
Search box | Free-text | Matches agency name and NPN. | Find every policy for one agency by name. |
Match Status | Multi-select badge | Run-matching bucket: Unprocessed, No Match Found, Manual Review, Auto Matched, User Confirmed. | Pick Manual Review to see only rows awaiting your decision. |
Source agencies | Multi-select dropdown | Filter by the raw agency name parsed from your upload. Type to search; the list loads more as you scroll. | Reconciling one branch's policies? Pick that branch's source-agency string. |
Policy Transactions tab
Filter | Type | Purpose | Example use |
Search box | Free-text | Matches policy number and agent name. | Find every transaction for one agent. |
Agent Match | Multi-select badge | Agent-match status: Auto Matched, User Confirmed, Unmatched. | Pick Unmatched to find transactions still missing an agent. |
Type | Multi-select badge | Transaction type: New, Renewal, Endorsement, Cancellation, Audit, Reinstatement, Bound. | Focus on Cancellation rows during a book review. |
State | Multi-select dropdown | Filter by risk state. | Limit to transactions in Texas. |
Bulk Actions
When you'd do this. You have a group of policies (or transactions) that should all map to the same agency, product, or agent, for example every unmatched policy from one branch, and you want to apply the assignment in one action instead of opening each detail page.
Use the checkbox in the leftmost column to select rows, or the header checkbox to select every visible row on the current page.
When the page is fully selected and more rows match your filters, a banner offers to select all matching rows across every page (not just the visible page). A clear-selection control drops it.
A floating action bar appears at the bottom of the screen with the selection count and the action buttons available on that tab:
Tab | Action | What it does |
Overview | Match Agency & Assign Agents, Match Product | The full set: assign an agency (and optionally agents) or assign a product. |
Agencies | Match Agency & Assign Agents | Step 1: pick one downstream agency. Step 2 (optional): expand policies to assign specific agents per transaction. Apply enables as soon as the agency is picked. |
Product | Match Product | Search and pick one product, then click Apply Product. |
Policy Transactions | Assign agent | Pick an agency, then an agent, and assign that agent to the selected transactions. |
When your selection contains policies that already have a match, a yellow warning banner names how many will be overwritten. The confirmation reads "Overwrite existing matches?" with an Overwrite and apply button.
After you apply, a progress bar appears at the top of the page and follows you as you navigate. Bulk actions run asynchronously through a background job, and an alert fires when the job finishes.
Tip: Narrow the table with the tab's filters first (for example Match Status = No Match Found on the Agencies tab), then select and bulk-assign, so you never overwrite something already correct.
Warning: Overwriting an existing agency, product, or agent assignment cannot be undone. Read the overwrite count in the warning before clicking Overwrite and apply.
Status Indicators
The tables and the diagnostics card use color-coded badges to convey match and policy state.
Agency Match Status (Agencies tab)
Color | Label | Meaning | What to do about it |
Green | Auto Matched | The AI confidently matched the policy to one of your appointed agencies. | Nothing, unless something downstream looks wrong. |
Green | User Confirmed | A person confirmed the agency from the detail page. | Treat as final; protected from automatic re-matching. |
Yellow | Manual Review | The AI found a likely agency but not enough confidence to auto-pick. | Open the policy, confirm a candidate, or override with a different agency. |
Red | No Match Found | The AI ran but could not match the policy to any agency. | Add an instruction or reference file that helps, then re-run, or assign manually on the detail page. |
Gray | Unprocessed | AI matching has not run on this policy yet. | Run matching, including the Unprocessed bucket. |
Product Match Status (Product tab)
Color | Label | Meaning | What to do about it |
Green | Auto Matched | The AI matched the policy to one of your configured products. | Nothing required. |
Green | User Confirmed | A person confirmed the product match. | Treat as final. |
Yellow | Needs Clarification | The AI paused to ask about the product. | Resolve via the Review Questions banner. |
Red | Unmatched | No product was matched. | Add product-mapping rules in Matching Context, or assign on the detail page or via the bulk Match Product action. |
Agent Match Status (Policy Transactions tab)
Color | Label | Meaning | What to do about it |
Green | Auto Matched | An agent was matched confidently by the system. | Nothing required. |
Green | User Confirmed | A person assigned the agent. | Treat as final. |
Red | Unmatched | No agent is assigned to the transaction yet. | Assign an agent inline, on the detail page, or via the bulk Assign agent action. |
Policy Status
Color | Label | Meaning |
Blue | Bound | The policy is bound but coverage has not started yet. |
Green | Active | Coverage is currently in effect. |
Red | Expired | The policy reached its expiration date. |
Red | Cancelled | The policy was cancelled before its term ended. |
Yellow | Non-Renewed | The policy expired without renewal. |
Upload Source
Color | Label | Meaning |
Gray | Self-Uploaded | You uploaded the policy directly through the upload wizard. |
Blue | Enterprise | The policy was uploaded at the Enterprise level and inherited by you. A building icon appears next to the policy number. |
Gray | Public API | The policy was ingested through the Turris Public API integration. |
Frequently Asked Questions
What file types does the upload wizard accept? The upload wizard accepts CSV (.csv) and Excel (.xlsx) files. The Matching Context editor accepts PDF, PNG, JPG, WEBP, TXT, and CSV files as reference attachments, up to 5 files per template at 10 MB each.
Why does the wizard sometimes skip Column Mapping and Instructions? If your active template matches at least 80% of the columns in your uploaded file, the wizard applies the existing template and jumps to Review. Use Edit mappings next to the Upload button if you need to adjust the template.
What is the difference between the buckets in the Run matching selector? The Unresolved group is always safe: Unprocessed (never run through AI), No Match Found (AI ran but found nothing), and Manual Review (AI found a likely agency that needs confirmation). The Matched group, Auto Matched and User Confirmed, is protected; including either resets those policies and re-matches them from scratch, which is how you apply new rules retroactively.
What is the difference between Auto Matched and User Confirmed? Auto Matched means the AI matched the policy without human intervention. User Confirmed means a person reviewed it and explicitly accepted the match. Both count as matched for the Match Rate, and both are protected from automatic re-matching unless you deliberately include their bucket in a run.
What happens when I save Matching Context while a run is in progress? Saving updates the stored context but does not change existing matches or the policies currently processing. Your changes apply on the next run. To apply them now, run matching again; to apply them to already-matched policies, include the Auto Matched or User Confirmed bucket so they reset and re-match.
Why do I have to validate instructions before saving? Validation catches typos, references to agencies or products Turris cannot find, and ambiguous wording before they reach a matching run, and it offers one-click corrections. When you have entered instructions, saving stays disabled until validation passes.
Can I match a single policy without running the AI? Yes. Click any row to open its detail page, where you can change the matched agency, override the matched product, and assign agents per transaction. Those changes are immediate and do not require a matching run.
Why do some policies show "Also in Enterprise" next to the policy number? If your parent Enterprise also uploaded a record for the same policy number, Turris flags the duplicate so both versions can be reconciled. Open either record to compare them.
Why are runs split into "waves" in the activity log? Large matching runs are partitioned into parallel waves for throughput. Each wave processes a slice of the policies independently, and the log shows "Wave N/T" plus the current wave's progress so you can see how the run is being chunked.
Best Practices
Write strong instructions before your first big run. A few sentences describing carrier abbreviations, producer-code conventions, and product naming variations typically lifts first-pass match rate substantially and avoids days of cleanup.
Upload one reference file per rule that is hard to express in prose. A carrier alias PDF, a producer-code legend, or a CSV of historical "X is really Y" mappings gives the AI structured context it can reuse on every run.
Validate instructions every time you edit them. Validation surfaces typos and unresolvable references before they waste a matching run, and the one-click corrections save you a round trip.
Resolve Review Questions promptly. A paused run does not progress until questions are answered, and the longer it sits, the staler your downstream reports become.
Check the Manual Review banner after every run. Clearing these quickly keeps your queue clean and feeds your overrides back into the matching context as signal for future runs.
Reserve the protected buckets for deliberate re-matching. Only include Auto Matched or User Confirmed in a run when you intend to reset and re-match those policies under new rules, never as a routine retry.
Filter before bulk actions. Narrow each tab with its status filters before selecting, so a bulk assignment never overwrites a policy that is already correct.
Leave the bulk progress bar running. Bulk actions execute asynchronously, so you can navigate away and keep working; the progress bar follows you and surfaces an alert when the job is done.
Need Help?
If you have questions about Policy Data or encounter any issues, contact our support team at support@turris.com.