# Policy Check Assistant

Agent blueprint, validated with 8 team members · Task: Check issued policies against the proposal · Commercial Lines Service · readiness 84/100 · AI assist (a person acts)

When a new or renewal policy arrives through IVANS, the agent compares the issued declarations with the bound proposal in Applied Epic and drafts a discrepancy list. It also pre-fills the Excel checklist. The account manager confirms the result, and any carrier correction request goes out only after approval.

**Trigger:** A new or renewal policy lands in Applied Epic from the IVANS download.

**Inputs:** Issued policy record and declarations PDF (from the IVANS download in Applied Epic); Bound proposal details in Applied Epic (limits, deductibles, forms, named insureds, locations, premium); Policy checklist (Excel) template and the account's existing row, if any; Carrier contact for corrections (not yet known; see open questions)

**Done when:** The checklist is complete and any discrepancies have been sent to the carrier for correction.

## Steps

1. Detect newly downloaded new or renewal policy and open a check case (Applied Epic, api): Power Automate polls Epic for policies delivered by the IVANS download that have no completed check.
2. Pull the bound proposal details for the account (Applied Epic, api): Limits, deductibles, forms, named insureds, locations and premium as bound.
3. Retrieve the declarations PDF attached to the policy (Applied Epic, api): The file is read directly. The agent does not drive Adobe Acrobat screens. Assumes the PDF is attached in Epic.
4. Extract limits, deductibles, forms, named insureds, locations and premium from the PDF (Adobe Acrobat, ai): The model reads the policy PDF content. It records the page for each value and marks low-confidence fields.
5. Compare issued values with bound values and list every difference (Applied Epic, ai): Check limits, forms, named insureds and locations. Flag a missing additional insured or waiver endorsement as a discrepancy.
6. Show the comparison with page references and a proposed Checking result (Microsoft 365 Copilot, ai): Presented to the account manager as a side-by-side list with a link to the PDF.
7. Review the list, correct it, and confirm the Checking result (Applied Epic, person): Licensed staff decide whether each difference is a real error. They confirm 'No discrepancies' or 'Discrepancy found'.
8. Write the extracted values and confirmed result into the policy checklist (Excel, connector): Runs only after the person's confirmation. Replaces the hand retyping from Epic.
9. Draft the correction request to the carrier listing each discrepancy (Outlook, ai): Only when the result is 'Discrepancy found'. Saved as a draft, not sent.
10. Approve or edit the carrier correction request before it is sent (Outlook, person): The account manager reviews the draft and the contact.
11. Send the approved correction request to the carrier (Outlook, connector)
12. Log the check and any carrier request as an activity on the account (Applied Epic, api): Runs after approval. The activity text is the confirmed result and the discrepancy list.

## Approvals

- Account manager confirms the Checking result before the checklist is written
- Account manager approves the carrier correction email before it is sent
- Account manager approves the Epic activity entry, as part of the same confirmation

## Prerequisites

- Service account with Applied Epic API access to read policies, proposals and attachments and to write activities
- Confirm the IVANS-downloaded declarations PDF is available as an attachment through the Epic API
- Power Automate and Microsoft 365 Copilot / Copilot Studio licenses for the builder and reviewers
- Policy checklist stored in a location the Excel connector can reach, with a fixed column layout
- A shared mailbox or approved sender for Outlook carrier emails
- A test set of past policies from Travelers, The Hartford and Liberty Mutual with known outcomes, including known discrepancies

## Risks

- Carrier PDFs are formatted differently, so extraction may miss or misread values; every flagged result still needs human verification
- Reviewers may over-trust the comparison and skip the PDF, so errors still slip through; show page references and mark low-confidence fields
- Quality depends on the bound proposal data in Epic being complete and current
- Scanned or image-only PDFs may not extract reliably
- The policy-check rule excludes coverage advice. The agent must only list differences, not advise on coverage, since only licensed staff do that

## Measure after launch

- Median handling time per check (baseline 24.5 min; 18.6 min on the main path)
- Team hours per week on policy checking (baseline 21.9 h for about 50 checks)
- Share of checklist values retyped by hand (baseline 94%)
- Share of checks where the PDF is reopened after the result is recorded (baseline 28%) and share found as discrepancies (baseline 24%), compared with errors caught by later review

## Decisions

| Decide | Rule | Source |
| --- | --- | --- |
| Checking result for a policy | Mark 'Discrepancy found' if the issued policy differs in limits, forms, named insureds or locations from what was bound. Otherwise mark 'No discrepancies'. (Agreement: most respondents.) | team |
| Whether a missing additional insured endorsement is a discrepancy | Yes. Record it as a discrepancy and send it to the carrier for correction. | team |
| Which discrepancy type matters most or how to prioritize types | No single rule. The team was split: limits or deductibles lead at 43%, then other types, named insured/address, and premium/billing. Not known yet: ask the team. | unknown |
| Whether a flagged difference is a real error or acceptable | Licensed staff decide. The agent only proposes. The team did not describe any acceptable-difference rules. | unknown |
| Whether a discrepancy goes to the carrier | Discrepancies go to the carrier for correction before the check is closed. | team |
| Who at the carrier receives the correction request | Not known yet: ask the team | unknown |

## Still to answer before building

- Who is contacted at the carrier, how is a discrepancy tracked until corrected, and should the agent track open carrier requests?
- Which items beyond limits, premium and forms are copied from Epic to Excel, and do they vary by policy?
- Where are the checking rules written down, and are there approval or who-can-do-what requirements?
- What counts as a discrepancy in the 'Other' category?
- What is done differently for unusual checks other than missing additional insured endorsements?
- Do any checks wait on carrier responses, and how long do they take? No waits were observed.
- Should each check be logged as an activity in Epic, and in what format? The rule covers client requests only.
- Are differences ever acceptable, such as premium rounding or address formatting, and who decides?

## Exceptions

- When About 28% of checks end with the declarations PDF being reopened after the result is recorded (median 33 min vs 19 min).: The comparison view shows each extracted value with its PDF page, so the person can verify without searching. Confirmation is then logged as normal.
- When The policy is missing an additional insured endorsement (named by the team as the most common problem; frequency of unusual cases is disputed within the team).: Record as a discrepancy and draft the carrier correction request. The team described no other special handling.
- When About 24% of checks find a discrepancy.: Follow the carrier correction path. The check is not closed until the request has been sent.
- When The PDF cannot be read, a field has low extraction confidence, or the carrier layout is not recognized.: Hand to the account manager with the fields found and the unresolved fields marked. The person checks them against the PDF.
- When The bound proposal details are missing or incomplete in Applied Epic, or the PDF is not attached.: Stop and tell the account manager what is missing. Do not guess values.
- When The carrier requires corrections through its portal rather than email.: Hand to a person. The portal has no API, and this design does not include portal automation.

## Build with

- Power Automate: Orchestrates the flow: Epic trigger and API calls, Excel and Outlook connectors, approval requests
- Microsoft 365 Copilot / Copilot Studio: Extracts values from the PDF, compares them with the bound details, drafts the discrepancy list and carrier email
- Applied Epic API: Source of the bound proposal and policy attachment. Destination for the activity log
- Excel connector: Writes the policy checklist rows
- Outlook connector: Holds the drafted carrier request and sends it after approval

## Effort and return

- Size M, about 3-5 weeks (Power Automate, Copilot Studio or prompt design for document extraction, Applied Epic API, Testing against sample policies from several carriers)
- Team time on this task now: 22 h/week; expected back: 3-7 h/week

## Evidence

- 64% of cases follow the same steps
- 22 team hours a week
- data is moved by hand from Applied Epic to Microsoft Excel (94% retyped)
