
Implementation Guide: Analyze client book for coverage gaps, cross-sell opportunities, and retention risk
Step-by-step implementation guide for deploying AI to analyze client book for coverage gaps, cross-sell opportunities, and retention risk for Insurance Agencies clients.
Hardware Procurement
Business Workstation (Producer/CSR Desktops)
Business Workstation (Producer/CSR Desktops)
$850 per unit MSP cost / $1,150 suggested resale
Standard workstations for producers and CSRs who will access browser-based analytics dashboards alongside their AMS. Minimum spec for smooth multi-tab browser sessions with dashboard visualizations. Only procure if client workstations are older than 4 years or have less than 8GB RAM.
Dual Monitor Kit
Dual Monitor Kit
$220 per unit MSP cost / $300 suggested resale
Second monitor for each producer workstation, enabling side-by-side view of AMS client record and analytics dashboard. Critical for workflow adoption—producers need to see cross-sell recommendations while servicing accounts.
Next-Generation Firewall
Next-Generation Firewall
$400 MSP cost / $650 suggested resale (appliance); FortiGuard Bundle 1-year $350 MSP / $525 resale
Network perimeter security required for NAIC Model Law #668 compliance. Supports TLS 1.3 inspection, application-layer filtering, and VPN for remote staff. Replaces consumer-grade routers. If agency has 25+ employees, upgrade to FortiGate 60F ($750/$1,100).
Managed Network Switch
$400 MSP cost / $600 suggested resale
Managed switch for VLAN segmentation between agency operations and guest networks. Required for compliance posture—PII-handling systems must be on segmented network.
Wireless Access Point
$150 per unit MSP cost / $225 suggested resale
Enterprise-grade Wi-Fi 6 access points for reliable cloud SaaS connectivity throughout the office. Supports WPA3 encryption required for compliance.
Software Procurement
InsuredMine CRM & Analytics Platform
$69/user/month (estimated; custom quote required). Typical 10-user agency: $690/month. MSP referral margin 10-20%.
Primary AI analytics and CRM platform. Provides AI-powered cross-sell predictions, coverage gap identification, retention risk scoring, producer pipeline dashboards, and automated marketing workflows. AMS-agnostic—integrates with Applied Epic, HawkSoft, EZLynx, AMS360, and NowCerts via API. Core engine for all three project objectives (coverage gaps, cross-sell, retention).
Microsoft 365 Business Premium
$22/user/month via CSP. MSP margin 15-20%. Typical 10-user agency: $220/month.
Identity provider (Entra ID) with Conditional Access and MFA for SSO into InsuredMine and AMS. Includes Microsoft Defender for Business (EDR), Intune endpoint management, and Exchange Online. Required for NAIC Model Law compliance (MFA mandate). Also provides Power BI Pro license pathway.
Microsoft Power BI Pro
$10/user/month (included in M365 E5; add-on for Business Premium). Only needed for 2-3 management users: $20-$30/month.
Custom executive dashboards combining InsuredMine analytics exports with AMS financial data. Provides agency principal and sales managers with consolidated views of book performance, coverage gap closure rates, cross-sell conversion tracking, and retention KPIs beyond what InsuredMine provides natively.
SentinelOne Singularity Control
$4-$6/endpoint/month MSP cost via PAX8 or similar distributor. Typical 15-endpoint agency: $60-$90/month. Resale at $8-$12/endpoint.
AI-powered EDR/XDR endpoint protection for all agency workstations and servers. Required for NAIC Model Law #668 compliance (real-time monitoring for attacks and intrusions). Protects PII data flowing between AMS and analytics platforms.
Duo Security MFA
$3/user/month (Duo Essentials). Typical 10-user agency: $30/month. Can be replaced by Microsoft Entra MFA included in M365 Business Premium.
Multi-factor authentication for AMS access and any systems not covered by Microsoft Entra Conditional Access. NAIC Model Law #668 explicitly requires MFA. Only needed if AMS vendor does not support Entra ID SSO directly.
Datto SIRIS or Axcient x360Recover
$300-$600/month for a small agency. MSP margin 30-50%.
Business continuity and disaster recovery. Protects AMS data, analytics configurations, and compliance documentation. Required for comprehensive data security program under NAIC Model Law.
Zapier (Professional Plan)
$49.99/month (Professional, 2,000 tasks/month). Upgrade to Team at $69.50/month if multiple editors needed.
Integration middleware for automating data flows between AMS, InsuredMine, Power BI, and email/marketing platforms. Used for custom workflows such as pushing retention risk alerts to Microsoft Teams channels or triggering email campaigns from coverage gap detections.
FortiGuard Unified Threat Protection Bundle
$350/year MSP cost / $525 suggested resale
Threat intelligence, IPS, web filtering, and antimalware subscription for FortiGate firewall. Required for ongoing network-level compliance monitoring.
Prerequisites
- Agency must have an active Agency Management System (AMS) with at least 12 months of policy data. Supported AMS platforms: Applied Epic, HawkSoft, AMS360, EZLynx, NowCerts. Confirm AMS version supports API access or data export.
- AMS data must include minimum fields: client name, address, phone, email, policy type/LOB, effective date, expiration date, premium amount, carrier name, and policy status. Missing fields must be populated during data preparation phase.
- Business-class internet service: minimum 50 Mbps download / 10 Mbps upload with <50ms latency. Verify with speed tests at multiple times of day. Cable or fiber preferred; no satellite or hotspot-only connections.
- Agency principal must designate a project champion (typically operations manager or senior CSR) with authority to make workflow decisions and allocate staff time for data cleanup and training.
- Current email system must be Microsoft 365 or Google Workspace (for SSO/MFA). If using on-premises Exchange or POP3/IMAP, migrate to M365 first (separate project).
- All workstations must run Windows 10 22H2+ or Windows 11 with current updates, minimum 8GB RAM, SSD storage, and Chrome or Edge (Chromium) browser installed. macOS 13+ acceptable for Mac shops.
- Agency must have a documented privacy/data security policy or be willing to create one as part of this project (required for NAIC Model Law #668 compliance).
- Document the agency's current state insurance licenses and confirm which states they write business in—this determines which state-specific data security and AI regulations apply.
- Obtain written authorization from agency principal to access, export, and process client PII data for analytics purposes. Use the data processing agreement template provided in the project documentation kit.
- If agency uses Applied Epic: confirm Applied Exchange access and obtain API credentials from Applied Systems support. If HawkSoft: confirm Partner API V3.0 is enabled and obtain API key. If EZLynx: confirm API partnership tier. If NowCerts: confirm open API access is active.
Installation Steps
Step 1: Discovery and Environment Assessment
Conduct a comprehensive on-site or remote assessment of the agency's current technology environment, AMS platform, data quality, workflows, and compliance posture. This is the most critical phase—it determines the entire project scope and identifies risks early. Schedule a 2-3 hour discovery session with the agency principal, operations manager, and a senior producer.
Use a standardized discovery questionnaire. Document everything in a project charter document. If the agency has fewer than 200 active clients, the ROI of this project may be marginal—recommend minimum 500+ active client households for meaningful AI analysis. Average independent agency has 1,500-3,000 client households.
Step 2: AMS Data Quality Audit
Before deploying any analytics platform, assess the quality of data in the AMS. Export a sample dataset (100-200 client records) and evaluate completeness, accuracy, and consistency. This audit determines the scope of the data cleanup phase. Key fields to audit: client contact info (email, phone), policy type coding, coverage limits, effective/expiration dates, producer assignment, and household/business linking.
curl -X GET 'https://api.hawksoft.com/v3/clients?limit=200' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-o hawksoft_sample_export.jsoncurl -X GET 'https://api.nowcerts.com/api/clients?top=200' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-o nowcerts_sample_export.jsonimport pandas as pd
df = pd.read_csv('ams_export.csv')
print('Total records:', len(df))
print('\nMissing email:', df['Email'].isna().sum(), f"({df['Email'].isna().mean()*100:.1f}%)")
print('Missing phone:', df['Phone'].isna().sum(), f"({df['Phone'].isna().mean()*100:.1f}%)")
print('Missing LOB:', df['LOB'].isna().sum(), f"({df['LOB'].isna().mean()*100:.1f}%)")
print('Duplicate names:', df.duplicated(subset=['Name','Address']).sum())
print('\nData Quality Score:', round((1 - df.isna().mean().mean()) * 100, 1), '%')Target a minimum 80% data quality score before proceeding to platform deployment. If below 60%, budget an additional 2-4 weeks and $2,500-$5,000 for a dedicated data cleanup project. Common issues: missing email addresses (40-60% of records in older agencies), inconsistent LOB coding, duplicate client records for same household, and incomplete coverage limit fields.
Step 3: Network and Security Infrastructure Deployment
Deploy or upgrade the agency's network and security infrastructure to meet NAIC Model Law #668 compliance requirements before connecting any cloud analytics platforms. This includes firewall replacement, VLAN segmentation, endpoint protection, MFA enforcement, and backup configuration.
FortiGate 40F Initial Configuration
config system interface
edit port1
set ip 10.0.1.1/24
set allowaccess ping https ssh
next
endconfig system interface
edit vlan10-agency
set vdom root
set ip 10.0.10.1/24
set interface port2
set vlanid 10
set description 'Agency Operations - AMS and Analytics'
next
edit vlan20-guest
set vdom root
set ip 10.0.20.1/24
set interface port2
set vlanid 20
set description 'Guest WiFi'
next
endconfig firewall ssl-ssh-profile
edit deep-inspection-agency
config https
set ports 443
set status deep-inspection
end
next
endconfig dnsfilter profile
edit agency-dns-filter
config ftgd-dns
config filters
edit 1
set category 2
set action block
next
end
end
next
endMicrosoft 365 Business Premium Setup
SentinelOne Deployment
SentinelOneInstaller_windows_64bit_v23_x_x.exe /SITE_TOKEN=YOUR_TOKEN /quietSentinelCtl.exe statusDo not proceed to analytics platform deployment until MFA is enforced on all user accounts and endpoint protection is active on all workstations. This is a compliance gate. Document the security configuration in the agency's Information Security Program document—template provided in project kit. If the agency already has adequate security infrastructure (e.g., existing MSP-managed firewall, EDR, M365 with MFA), skip hardware procurement and validate existing configuration meets NAIC requirements.
Step 4: AMS Data Preparation and Cleanup
Execute the data cleanup plan identified in the audit phase. This involves deduplicating client records, normalizing policy type/LOB coding, populating missing contact information, linking household members, and ensuring coverage details are accurate. This phase requires significant agency staff involvement—CSRs and the operations manager are the subject matter experts on their book of business.
import pandas as pd
lob_mapping = {
'HO': 'Homeowners', 'HOME': 'Homeowners', 'Homeowner': 'Homeowners',
'AUTO': 'Personal Auto', 'PA': 'Personal Auto', 'Car': 'Personal Auto',
'COMM': 'Commercial Package', 'BOP': 'Commercial Package', 'BIZ': 'Commercial Package',
'GL': 'General Liability', 'CGL': 'General Liability',
'WC': 'Workers Compensation', 'WORK COMP': 'Workers Compensation',
'UMBRELLA': 'Umbrella/Excess', 'UMB': 'Umbrella/Excess', 'EXCESS': 'Umbrella/Excess',
'LIFE': 'Life Insurance', 'TERM': 'Life Insurance', 'WHOLE': 'Life Insurance',
'FLOOD': 'Flood', 'NFIP': 'Flood',
'MOTO': 'Motorcycle/ATV', 'BOAT': 'Watercraft', 'RV': 'Recreational Vehicle'
}
# Apply mapping to exported data for validation before import
df['LOB_Standardized'] = df['LOB_Raw'].map(lob_mapping).fillna(df['LOB_Raw'])
print(df['LOB_Standardized'].value_counts())
# --- Household Linking ---
# Identify clients at same address who should be linked as household:
df['address_key'] = df['Address'].str.lower().str.strip()
household_groups = df.groupby('address_key').filter(lambda x: len(x) > 1)
print(f'Potential household links: {len(household_groups)} records in {household_groups["address_key"].nunique()} households')Data cleanup is the single most important factor in analytics accuracy. Budget 2-4 weeks minimum. Assign a dedicated CSR 2-4 hours per day to work through dedup lists and verify records. The agency operations manager should approve LOB mapping and household linking rules. Target: 90%+ email population, zero duplicate client records, consistent LOB coding across all policies, and household linking for all family groups at same address. Document the data quality baseline and post-cleanup metrics for the project report.
Step 5: InsuredMine Platform Provisioning and SSO Configuration
Create the InsuredMine account, configure SSO via Microsoft Entra ID, set up user roles, and establish the organizational hierarchy (teams, producers, CSRs). Configure InsuredMine to match the agency's organizational structure so dashboards and permissions align with how the agency operates.
InsuredMine Account Setup
Microsoft Entra ID SSO Configuration
# SAML Settings
Identifier (Entity ID): https://app.insuredmine.com/saml/{tenant_id}
Reply URL (ACS): https://app.insuredmine.com/saml/callback
Sign-on URL: https://app.insuredmine.com
Name ID Format: emailAddress# Attribute Mapping
user.mail → email
user.givenname → firstName
user.surname → lastName
user.department → role (optional)InsuredMine User Roles
Configure in InsuredMine > Settings > Team Management:
- Agency Principal: Admin role (full access, all reports)
- Sales Manager: Manager role (team dashboards, producer performance)
- Producers: Agent role (own book only, cross-sell and gap lists)
- CSRs: Support role (service tasks, renewal worklists)
- MSP Admin: Admin role (for ongoing management)
InsuredMine pricing is quote-based and typically starts around $69/user/month. Negotiate volume pricing for agencies with 10+ users. Ensure the MSP admin account uses a service account email (e.g., msp-admin@yourmsp.com) so access persists regardless of client staff changes. Enable audit logging from day one for compliance documentation.
Step 6: AMS-to-InsuredMine Integration and Initial Data Sync
Connect the agency's AMS to InsuredMine via the appropriate integration method. Configure bidirectional data sync for client records, policies, and activity data. Run the initial full sync and validate data accuracy by spot-checking 50+ records across different LOBs and client types.
Applied Epic Integration Setup
HawkSoft Integration Setup
EZLynx Integration Setup
NowCerts Integration Setup
Data Validation After Initial Sync
Spot-Check Validation (Manual)
Initial full sync can take 2-24 hours depending on book size (1,000 clients ≈ 2 hours; 10,000 clients ≈ 8-12 hours). Schedule for after business hours. Common sync issues: (1) Inactive/cancelled policies syncing as active—configure sync filter to exclude cancelled policies older than 90 days, (2) Household linking not transferring—may need manual household setup in InsuredMine, (3) Custom fields not mapping—document any agency-specific custom fields that need manual mapping. Keep the AMS as system of record; InsuredMine is the analytics/action layer.
Step 7: Configure Coverage Gap Analysis Engine
Set up InsuredMine's AI-powered coverage gap detection rules. Configure the system to identify clients who are missing common coverage types based on their profile. For example: homeowners without umbrella policies, business owners without cyber liability, auto-only clients without renters insurance, families without life insurance. Customize gap rules to match the agency's product offerings and carrier appetite.
Configure Standard Personal Lines Gaps
Configure Standard Commercial Lines Gaps
Custom Gap Rules (Agency-Specific)
InsuredMine's gap analysis can be supplemented with custom rules based on the agency's specific market and carrier appointments. Start with 5-8 high-value gap rules in the first phase—do not overwhelm producers with too many gap types initially. Prioritize gaps by estimated premium opportunity (umbrella and commercial lines gaps typically have highest revenue per conversion). Review and refine gap rules monthly during the first 90 days based on producer feedback and conversion rates.
Step 8: Configure Cross-Sell Opportunity Scoring
Set up InsuredMine's AI cross-sell prediction engine and configure opportunity scoring to prioritize the highest-value, most-likely-to-convert cross-sell targets. The AI uses policy data, client demographics, behavioral signals, and industry benchmarks to score opportunities.
Enable AI Cross-Sell Predictions
Configure Scoring Weights
Adjust the following scoring weights based on agency priorities:
- Client tenure (longer = higher score): Weight 20%
- Number of existing policies (more = higher trust): Weight 15%
- Premium volume (higher = more invested): Weight 15%
- Recent interactions (engaged clients more likely to buy): Weight 20%
- Life event signals (new home, new car, marriage): Weight 15%
- Policy gap severity (critical gaps score higher): Weight 15%
Configure Cross-Sell Opportunity Views by Role
- Producers see: Their assigned clients only, sorted by score
- Sales Manager sees: All producers' opportunities, team leaderboard
- Agency Principal sees: Aggregate pipeline value, conversion rates
Set Up Producer Worklists
Configure Opportunity Pipeline Stages
- Stage 1: Identified (auto-populated by AI)
- Stage 2: Contacted (producer marks after outreach)
- Stage 3: Quoted (producer marks after providing quote)
- Stage 4: Bound (auto-updates when policy added in AMS)
- Stage 5: Lost (producer marks with reason code)
The cross-sell scoring model improves over time as more conversion data accumulates. Initial scores are based on industry benchmarks and will self-calibrate after 60-90 days of agency-specific conversion data. Coach producers to update opportunity stages consistently—this data feeds back into the AI model. Typical cross-sell conversion rates for AI-identified opportunities: 8-15% (vs. 2-5% for manual prospecting).
Step 9: Configure Retention Risk Scoring and Alerts
Enable InsuredMine's retention risk prediction engine and configure alert thresholds to proactively identify clients at risk of non-renewal. Set up automated workflows to route at-risk clients to the appropriate producer or CSR with recommended retention actions.
Retention risk scoring is most accurate after 12+ months of historical data. Expect the model to flag 15-25% of the book as medium or high risk initially—this will calibrate as the system learns which signals actually predict non-renewal for this specific agency's book. The most impactful metric: premium-weighted retention rate. A 2% improvement in retention on a $5M book = $100K in preserved revenue. Track both policy count retention and premium retention separately.
Step 10: Build Power BI Executive Dashboard
Create a consolidated Power BI dashboard for agency management that combines InsuredMine analytics with AMS financial data. This dashboard provides the executive overview that agency principals and sales managers need to track the ROI of the AI analytics investment and overall book performance.
Power BI Setup
Build Dashboard Pages
Page 1: Book Overview
- Total clients, total policies, total premium (KPI cards)
- Policies per client ratio (gauge chart, target: 2.5+)
- Premium by LOB (donut chart)
- New business vs. lost business trend (line chart, 12 months)
- Client acquisition/attrition waterfall chart
Page 2: Coverage Gap Analysis
- Total coverage gaps identified (KPI card)
- Gaps by type (stacked bar chart)
- Estimated untapped premium (KPI card with trend)
- Gap closure rate (% of identified gaps that resulted in new policies)
- Top 10 highest-value gap opportunities (table)
Page 3: Cross-Sell Pipeline
- Active opportunities by stage (funnel chart)
- Pipeline value ($) by producer (bar chart)
- Conversion rate by LOB (bar chart)
- Average time from identification to bind (KPI card)
- Producer leaderboard (table with rank, opps, conversions, revenue)
Page 4: Retention Risk
- Retention rate trend (line chart, 12 months, target: 92%+)
- Clients at risk by tier (donut chart: low/medium/high)
- Premium at risk by month (bar chart, next 6 months)
- Retention save rate (% of high-risk flagged that were retained)
- Lost clients analysis (reasons, premium lost, by producer)
Publish and Distribute
Power BI Pro license ($10/user/month) is required for publishing and sharing. Only 2-3 management users typically need this. For agencies that don't want Power BI, InsuredMine's native dashboards may be sufficient for the first phase—evaluate during discovery. The Power BI layer adds value by combining InsuredMine insights with AMS financial data that InsuredMine may not capture (commissions, carrier bonuses, agency P&L metrics).
Step 11: Configure Automated Workflows and Campaign Triggers
Set up automated workflows in InsuredMine and Zapier that connect AI-identified opportunities to concrete actions: email campaigns, task assignments, calendar reminders, and Microsoft Teams notifications. These workflows ensure that AI insights translate into producer and CSR actions without requiring manual dashboard monitoring.
InsuredMine Native Workflows
Workflow 1: Coverage Gap Email Campaign
- Navigate to: InsuredMine > Campaigns > Create Campaign
- Trigger: Coverage gap identified AND client has email on file
- Delay: 7 days after gap identification (gives producer time for personal outreach first)
- Email template: 'Did you know you might have a coverage gap?'
- Include: Client first name, gap type, brief educational content
- CTA: 'Schedule a free coverage review with [Producer Name]'
- Track: Open rate, click rate, appointments booked
Workflow 2: Renewal Review Automation
- Navigate to: InsuredMine > Workflows > Create Automation
- Trigger: Policy renewal date within 60 days
Workflow 3: New Client Welcome + Rounding
- Trigger: New client added to AMS (synced to InsuredMine)
- Delay: 14 days after first policy effective date
Zapier Integration Workflows
Zapier Workflow 1: High-Risk Alert to Microsoft Teams
- Trigger: InsuredMine webhook → retention risk score > 60
- Action: Post message to Teams channel '#retention-alerts'
🚨 High Risk: {ClientName} ({TotalPremium}) renewing on {RenewalDate}. Risk Score: {RiskScore}. Assigned to: {ProducerName}Zapier Workflow 2: Weekly Cross-Sell Summary Email
- Trigger: Schedule (every Monday at 8 AM)
Zapier Workflow 3: Closed Opportunity → AMS Activity Log
- Trigger: InsuredMine opportunity status changed to 'Bound' or 'Lost'
- Action: Create activity/note in AMS via API
Cross-sell opportunity {LOB}: {Status} on {Date}. Premium: {Amount}Start with 3-5 workflows in Phase 1. Do not over-automate initially—producers may feel overwhelmed. Get buy-in from the sales manager on email templates before activating client-facing campaigns. All automated emails must include agency branding, producer contact info, and unsubscribe option (CAN-SPAM compliance). Review email campaign performance monthly and A/B test subject lines for gap-related emails. Zapier Professional plan includes 2,000 tasks/month—monitor usage and upgrade if needed.
Step 12: User Training and Phased Rollout
Conduct structured training sessions for each user role, then execute a phased rollout starting with a pilot group of 2-3 producers before expanding to the full agency. Training should be hands-on, using real agency data, and focused on the specific workflows each role will perform daily.
Training Schedule
Session 1: Agency Leadership (2 hours)
- Attendees: Agency principal, operations manager, sales manager
- Executive dashboard walkthrough (Power BI)
- Understanding coverage gap analysis outputs
- Cross-sell pipeline management and producer accountability
- Retention risk dashboard and intervention workflows
- ROI tracking: how to measure success
- Compliance considerations for AI-driven recommendations
Session 2: Producers (2 hours)
- Attendees: All producers (start with pilot group of 2-3)
- Logging into InsuredMine via SSO
- Using daily cross-sell worklist
- Reviewing coverage gap details for a specific client
- Understanding retention risk scores and recommended actions
- Updating opportunity stages (Contacted → Quoted → Bound/Lost)
- Mobile app access for InsuredMine (if available)
- Practice exercise: walk through 5 real client opportunities
Session 3: CSRs (1.5 hours)
- Attendees: All CSRs
- Understanding the CSR role in analytics-driven workflows
- Reviewing renewal worklists and retention tasks
- Processing re-engagement campaign responses
- Data entry best practices (maintaining data quality for AI accuracy)
- Escalating identified opportunities to producers
Rollout Phases
Record all training sessions (with permission) and provide recordings to the agency for onboarding future hires. Create a 1-page quick reference card for each role (Producer Cheat Sheet, CSR Cheat Sheet, Manager Cheat Sheet). The most common adoption failure point is producers not updating opportunity stages—build this into the sales meeting cadence so there is peer accountability. Schedule a 30-day post-launch check-in to assess adoption and address issues.
Step 13: Compliance Documentation and Security Audit
Complete all compliance documentation required for NAIC Model Law #668 and state-specific regulations. This includes the written information security program, incident response plan, vendor risk assessment for InsuredMine and any other third-party platforms, and data processing agreements.
1. Written Information Security Program (WISP)
Template sections:
- Scope and objectives
- Risk assessment methodology
- Access control policies (MFA, role-based access)
- Data classification (PII, PHI, financial data)
- Encryption standards (TLS 1.2+ in transit, AES-256 at rest)
- Network security (firewall, VLAN, IDS/IPS)
- Endpoint security (EDR, patching, device management)
- Vendor management program
- Employee training requirements
- Incident response procedures
- Annual review and update schedule
2. Vendor Risk Assessment — InsuredMine
Request the following from InsuredMine:
- SOC 2 Type II audit report
- Data processing agreement (DPA)
- Data residency information (where data is stored)
- Encryption at rest and in transit specifications
- Incident notification procedures and timelines
- Data retention and deletion policies
- Subprocessor list
3. Incident Response Plan (IRP)
Key elements:
- Incident classification levels (1–4 severity)
- Response team roles (MSP, agency principal, legal, insurance)
- Notification timelines (state-specific; typically 72 hours to commissioner)
- Communication templates (client notification, regulatory notification)
- Evidence preservation procedures
- Post-incident review process
4. Data Processing Agreement
Between agency and MSP — required sections:
- Scope of data access
- Permitted processing activities
- Data security obligations
- Breach notification requirements
- Data return/deletion upon termination
5. AI Governance Documentation (Emerging Best Practice)
- Description of AI systems in use
- Data inputs and outputs
- Human oversight procedures
- Bias monitoring approach (if applicable to underwriting decisions)
- Documentation that AI recommendations are advisory, not decisional
Document Storage Location
SharePoint > Agency Compliance > [Agency Name] > AI Analytics ProjectNAIC Model Law #668 has been adopted by 24+ states as of 2025. Check which states the agency is licensed in and verify adoption status. Even in non-adopting states, documenting compliance proactively demonstrates best practices and reduces E&O exposure. The AI governance documentation is not yet legally required for agencies in most states (the NAIC AI bulletin targets carriers), but proactive documentation positions the agency ahead of regulatory trends and demonstrates responsible AI use. Review and update all documentation annually.
Custom AI Components
Coverage Gap Detection Rules Engine
Type: workflow A configurable rules engine that analyzes each client's policy portfolio against expected coverage profiles based on their demographic, geographic, and financial characteristics. It identifies missing lines of business, inadequate coverage limits, and unaddressed exposures. This component runs within InsuredMine's opportunity management module and is supplemented by custom logic for agency-specific gap rules.
Implementation
Standard Gap Rule Definitions (configure in InsuredMine)
Personal Lines Gap Rules
Rule PL-001: Missing Umbrella
Condition: HAS(Homeowners OR Condo) AND HAS(Personal Auto) AND NOT HAS(Personal Umbrella)
Priority: HIGH
Est. Premium Opportunity: $300-$500/year
Recommended Action: 'Client has home and auto—strong candidate for umbrella policy. Review total asset value.'Rule PL-002: Missing Flood (High Risk Zone)
Condition: HAS(Homeowners) AND ZIP_IN(FEMA_Zones_A_V_AE_AH) AND NOT HAS(Flood)
Priority: CRITICAL
Est. Premium Opportunity: $700-$2,500/year
Data Source: FEMA NFIP flood zone lookup by zip code
Recommended Action: 'Client is in a high-risk flood zone without flood coverage. E&O risk—document recommendation.'Rule PL-003: Missing Flood (Moderate Risk Zone)
Condition: HAS(Homeowners) AND ZIP_IN(FEMA_Zones_B_C_X) AND NOT HAS(Flood)
Priority: MEDIUM
Est. Premium Opportunity: $400-$800/year
Recommended Action: 'Client may benefit from Preferred Risk Policy flood coverage.'Rule PL-004: Missing Renters Insurance
Condition: HAS(Personal Auto) AND NOT HAS(Homeowners) AND NOT HAS(Renters) AND AGE BETWEEN 18 AND 40
Priority: MEDIUM
Est. Premium Opportunity: $150-$300/year
Recommended Action: 'Auto-only client likely renting. Offer renters policy for multi-policy discount.'Rule PL-005: Missing Life Insurance
Condition: POLICY_COUNT > 1 AND AGE BETWEEN 25 AND 65 AND NOT HAS(Life)
Priority: MEDIUM
Est. Premium Opportunity: $500-$2,000/year
Recommended Action: 'Multi-policy client without life insurance. Review family situation.'Rule PL-006: Missing Valuable Articles
Condition: HAS(Homeowners) AND HOMEOWNER_PREMIUM > $2,500 AND NOT HAS(Inland Marine/Scheduled Articles)
Priority: LOW
Est. Premium Opportunity: $200-$800/year
Recommended Action: 'Higher-value home likely has jewelry, art, or collectibles needing scheduled coverage.'Rule PL-007: Inadequate Auto Limits
Condition: HAS(Personal Auto) AND AUTO_BI_LIMIT < '100/300' AND HAS(Homeowners)
Priority: HIGH
Est. Premium Opportunity: $100-$300/year (limit increase)
Recommended Action: 'Homeowner with low auto limits—increase to 100/300 minimum for umbrella eligibility.'Rule PL-008: Missing Watercraft/RV/Motorcycle
Condition: HAS(Homeowners) AND PREMIUM_TIER = 'HIGH' AND NOT HAS(Watercraft OR RV OR Motorcycle)
Priority: LOW
Est. Premium Opportunity: $200-$600/year
Recommended Action: 'Affluent client—ask about recreational vehicles during next service interaction.'Commercial Lines Gap Rules
Rule CL-001: Missing Cyber Liability
Condition: HAS(Commercial Package OR BOP OR GL) AND NOT HAS(Cyber Liability)
Priority: CRITICAL
Est. Premium Opportunity: $750-$3,000/year
Recommended Action: 'All commercial clients need cyber coverage discussion. High close rate.'Rule CL-002: Missing EPLI
Condition: HAS(Commercial Package) AND EMPLOYEE_COUNT > 5 AND NOT HAS(EPLI)
Priority: HIGH
Est. Premium Opportunity: $1,000-$5,000/year
Recommended Action: 'Business with employees needs EPLI. Review hiring/termination practices.'Rule CL-003: Missing Commercial Umbrella
Condition: (HAS(Commercial Auto) OR HAS(GL)) AND NOT HAS(Commercial Umbrella)
Priority: HIGH
Est. Premium Opportunity: $1,500-$5,000/year
Recommended Action: 'Commercial client without umbrella—significant liability exposure.'Rule CL-004: Missing Workers Compensation
Condition: HAS(Commercial Package) AND EMPLOYEE_COUNT > 0 AND NOT HAS(Workers Comp)
Priority: CRITICAL
Est. Premium Opportunity: $2,000-$10,000+/year
Recommended Action: 'COMPLIANCE ISSUE: Business with employees likely requires WC. Verify state requirements.'Rule CL-005: Missing Commercial Auto
Condition: HAS(Commercial Package) AND SIC_CODE IN (construction, delivery, transportation, contracting) AND NOT HAS(Commercial Auto)
Priority: HIGH
Est. Premium Opportunity: $2,000-$8,000/year
Recommended Action: 'Business type likely uses vehicles for operations. Verify fleet/vehicle needs.'Rule CL-006: Missing D&O / Professional Liability
Condition: HAS(Commercial Package) AND SIC_CODE IN (professional_services, consulting, healthcare, legal, accounting, technology) AND NOT HAS(Professional Liability OR D&O)
Priority: HIGH
Est. Premium Opportunity: $1,000-$5,000/year
Recommended Action: 'Professional services firm without E&O/professional liability—critical coverage need.'Supplementary Zapier Logic for Custom Gap Detection
For agencies wanting FEMA flood zone lookup automation, configure a Zapier Zap: AMS New Client → FEMA API Lookup → InsuredMine Tag using the following steps:
const address = inputData.address;
const response = await fetch(`https://hazards.fema.gov/gis/nfhl/rest/services/public/NFHL/MapServer/28/query?where=1%3D1&geometry=${encodeURIComponent(address)}&geometryType=esriGeometryPoint&outFields=FLD_ZONE&f=json`);
const data = await response.json();
const floodZone = data.features[0]?.attributes?.FLD_ZONE || 'Unknown';
return { floodZone };Retention Risk Scoring Model
Type: agent An AI-driven retention risk scoring agent that continuously evaluates each client's likelihood of non-renewal based on multiple behavioral, financial, and relationship signals. The agent runs within InsuredMine's retention module and assigns a 0-100 risk score to every client, updated at each data sync cycle. Scores are used to trigger proactive retention workflows.
Implementation:
Risk Signal Definitions and Weights
Signal Category 1: Premium & Pricing Signals (30% total weight)
- Signal P1: Renewal Premium Increase (Weight: 15%) Calculation: (New_Premium - Current_Premium) / Current_Premium * 100 Scoring: Increase >25%: +30 pts | Increase 15–25%: +20 pts | Increase 5–15%: +10 pts | Decrease or <5% increase: +0 pts
- Signal P2: Premium vs. Market Benchmark (Weight: 10%) Calculation: Compare client premium to InsuredMine/industry benchmarks for similar profile Scoring: Premium >120% of benchmark: +25 pts | Premium 110–120% of benchmark: +15 pts | Premium <110% of benchmark: +0 pts
- Signal P3: Payment Issues (Weight: 5%) Calculation: Count of late payments, NSF, or cancellation notices in last 12 months Scoring: 3+ payment issues: +30 pts | 1–2 payment issues: +15 pts | 0 payment issues: +0 pts
Signal Category 2: Engagement Signals (25% total weight)
- Signal E1: Agency Contact Recency (Weight: 10%) Calculation: Days since last meaningful contact (call, email, meeting—not automated) Scoring: >365 days: +30 pts | 180–365 days: +20 pts | 90–180 days: +10 pts | <90 days: +0 pts
- Signal E2: Email Engagement (Weight: 5%) Calculation: Open rate on last 5 agency emails Scoring: 0% open rate: +20 pts | <20% open rate: +10 pts | >20% open rate: +0 pts
- Signal E3: Portal/App Usage (Weight: 5%) Calculation: Client login frequency to agency portal (if applicable) Scoring: Never logged in: +10 pts | Inactive >6 months: +5 pts | Active: +0 pts
- Signal E4: NPS/Satisfaction Score (Weight: 5%) Calculation: Most recent NPS survey response Scoring: Detractor (0–6): +25 pts | Passive (7–8): +10 pts | Promoter (9–10): +0 pts | No survey response: +5 pts
Signal Category 3: Policy Relationship Signals (25% total weight)
- Signal R1: Mono-line Client (Weight: 15%) Calculation: Number of policies with agency Scoring: 1 policy: +25 pts | 2 policies: +10 pts | 3+ policies: +0 pts (protective)
- Signal R2: Coverage Reduction History (Weight: 5%) Calculation: Client reduced coverage or increased deductibles at last renewal Scoring: Reduced coverage: +20 pts | No change: +0 pts | Increased coverage: -5 pts (protective)
- Signal R3: Client Tenure (Weight: 5%) Calculation: Years as agency client Scoring: <1 year: +15 pts | 1–3 years: +10 pts | 3–5 years: +5 pts | >5 years: +0 pts
Signal Category 4: Claims & Service Signals (20% total weight)
- Signal C1: Recent Claims Experience (Weight: 10%) Calculation: Claims filed in last 12 months Scoring: 2+ claims: +20 pts | 1 claim with poor resolution: +25 pts | 1 claim with good resolution: +5 pts | 0 claims: +0 pts
- Signal C2: Service Complaints (Weight: 5%) Calculation: Documented complaints or negative interactions in last 12 months Scoring: 2+ complaints: +25 pts | 1 complaint: +15 pts | 0 complaints: +0 pts
- Signal C3: Request for Dec Pages/Policy Copies (Weight: 5%) Calculation: Requests for policy documentation outside of normal cycle Scoring: Requested dec pages/policy copies: +15 pts (may be shopping) | No unusual document requests: +0 pts
Final Score Calculation
Risk_Score = SUM(all signal risk points * signal weight)
Normalize to 0-100 scaleTier Classification
- 0–30: LOW RISK (Green) — Standard renewal process
- 31–60: MEDIUM RISK (Yellow) — Proactive outreach 60 days before renewal
- 61–80: HIGH RISK (Orange) — Producer personal call 90 days before renewal
- 81–100: CRITICAL RISK (Red) — Immediate producer engagement + management review
Recommended Retention Actions by Tier
Cross-Sell Opportunity Prioritization Prompt
Type: prompt A structured prompt template for use with Azure OpenAI GPT-5.4 (or similar LLM) to generate personalized cross-sell talking points for producers. This prompt is invoked via Zapier or a custom API call when a producer clicks 'Generate Talking Points' on a cross-sell opportunity in InsuredMine, providing context-aware sales guidance based on the specific client's profile and identified gaps.
Implementation
## System Prompt:
You are an expert insurance sales coach helping independent insurance agency producers prepare for cross-sell conversations with existing clients. You generate concise, personalized talking points based on the client's profile and identified coverage gaps.
Rules:
1. Never provide specific policy quotes or premium amounts - only the producer can do this after running actual quotes.
2. Focus on risk education and value, not price.
3. Use conversational, consultative language - not salesy scripts.
4. Reference the client's specific situation to make recommendations feel personalized.
5. Include one opening question, 2-3 key talking points, and a natural close.
6. Keep total output under 300 words.
7. Flag any E&O considerations (situations where failing to recommend coverage could create agency liability).
## User Prompt Template:
Generate cross-sell talking points for the following client opportunity:
**Client Profile:**
- Name: {client_name}
- Client Since: {client_since_date}
- Age: {client_age}
- Location: {city}, {state} {zip}
- Occupation: {occupation}
- Annual Household Income (estimated): {income_range}
**Current Policies:**
{for each policy:}
- {policy_type}: {carrier}, Premium ${premium}/year, Limits: {limits}, Deductible: ${deductible}
{end for}
**Identified Coverage Gap:**
- Gap Type: {gap_type} (e.g., 'Missing Personal Umbrella')
- Gap Priority: {priority} (Critical/High/Medium/Low)
- Estimated Premium Range: ${est_low} - ${est_high}/year
**Recent Interactions:**
- Last Contact: {last_contact_date} ({contact_type})
- Last Claim: {last_claim_date} ({claim_type}, {claim_outcome})
- Satisfaction: {nps_score or 'Unknown'}
**Additional Context:**
- Retention Risk Score: {risk_score}/100
- Total Policies: {policy_count}
- Total Premium: ${total_premium}/year
- Renewal Date (earliest): {next_renewal}
Please generate:
1. A natural opening question to bring up the topic
2. 2-3 key talking points explaining why this coverage matters for THIS specific client
3. A response to the most likely objection
4. A natural close/next step
5. Any E&O flags for the producer# Invocation: Zapier webhook from InsuredMine → Azure OpenAI API →
# Email/Teams to producer
import openai
import json
client = openai.AzureOpenAI(
api_key=os.environ['AZURE_OPENAI_KEY'],
api_version='2024-06-01',
azure_endpoint=os.environ['AZURE_OPENAI_ENDPOINT']
)
def generate_talking_points(client_data, gap_data):
system_prompt = """You are an expert insurance sales coach...[full system prompt above]"""
user_prompt = f"""Generate cross-sell talking points for the following client opportunity:
Client Profile:
- Name: {client_data['name']}
- Client Since: {client_data['since_date']}
...[full template populated with data]
"""
response = client.chat.completions.create(
model='gpt-5.4',
messages=[
{'role': 'system', 'content': system_prompt},
{'role': 'user', 'content': user_prompt}
],
max_tokens=500,
temperature=0.7
)
return response.choices[0].message.contentCost Estimate: - Average prompt: ~800 input tokens, ~400 output tokens - GPT-5.4 pricing: $2.50/1M input, $10/1M output - Cost per call: ~$0.006 - 100 calls/month: ~$0.60/month - This is negligible cost for significant producer enablement value
Weekly Book Intelligence Digest
Type: workflow
An automated weekly workflow that compiles the most important AI-generated insights from the past week into a single executive email digest for the agency principal and sales manager. Summarizes new coverage gaps found, top cross-sell opportunities, retention risk changes, and key metrics. Replaces the need for daily dashboard monitoring by pushing the most actionable information proactively.
Implementation
Platform: Zapier + InsuredMine API + SendGrid/Outlook Schedule: Every Monday at 7:00 AM local time
Zapier Workflow Configuration
GET https://api.insuredmine.com/v1/analytics/weekly-summary
Authorization: Bearer {insuredmine_api_key}
Query Parameters:
start_date: {{zap_meta_human_now_minus_7_days}}
end_date: {{zap_meta_human_now}}GET https://api.insuredmine.com/v1/opportunities?sort=-score&limit=10&status=identified
Authorization: Bearer {insuredmine_api_key}GET https://api.insuredmine.com/v1/retention/at-risk?risk_level=high&renewal_within_days=30
Authorization: Bearer {insuredmine_api_key}const metrics = JSON.parse(inputData.weekly_metrics);
const opportunities = JSON.parse(inputData.top_opportunities);
const atRisk = JSON.parse(inputData.high_risk);
const emailHtml = `
<div style='font-family: Arial, sans-serif; max-width: 650px; margin: 0 auto;'>
<h1 style='color: #1a5276; border-bottom: 3px solid #2e86c1; padding-bottom: 10px;'>
📊 Weekly Book Intelligence Digest
</h1>
<p style='color: #666;'>Week of ${new Date().toLocaleDateString()} | ${metrics.agency_name}</p>
<h2 style='color: #1a5276;'>📈 Key Metrics This Week</h2>
<table style='width: 100%; border-collapse: collapse;'>
<tr style='background: #eaf2f8;'>
<td style='padding: 10px; border: 1px solid #d4e6f1;'><strong>New Gaps Identified</strong></td>
<td style='padding: 10px; border: 1px solid #d4e6f1; text-align: right;'>${metrics.new_gaps_count}</td>
</tr>
<tr>
<td style='padding: 10px; border: 1px solid #d4e6f1;'><strong>Cross-Sell Opportunities Created</strong></td>
<td style='padding: 10px; border: 1px solid #d4e6f1; text-align: right;'>${metrics.new_opportunities}</td>
</tr>
<tr style='background: #eaf2f8;'>
<td style='padding: 10px; border: 1px solid #d4e6f1;'><strong>Policies Bound from Recommendations</strong></td>
<td style='padding: 10px; border: 1px solid #d4e6f1; text-align: right;'>${metrics.policies_bound}</td>
</tr>
<tr>
<td style='padding: 10px; border: 1px solid #d4e6f1;'><strong>Est. New Premium Generated</strong></td>
<td style='padding: 10px; border: 1px solid #d4e6f1; text-align: right;'>$${metrics.premium_generated?.toLocaleString()}</td>
</tr>
<tr style='background: #eaf2f8;'>
<td style='padding: 10px; border: 1px solid #d4e6f1;'><strong>High-Risk Clients Retained</strong></td>
<td style='padding: 10px; border: 1px solid #d4e6f1; text-align: right;'>${metrics.retained_count} of ${metrics.at_risk_count}</td>
</tr>
<tr>
<td style='padding: 10px; border: 1px solid #d4e6f1;'><strong>Current Retention Rate (Rolling 12mo)</strong></td>
<td style='padding: 10px; border: 1px solid #d4e6f1; text-align: right;'>${metrics.retention_rate}%</td>
</tr>
</table>
<h2 style='color: #e74c3c;'>🚨 Urgent: High-Risk Renewals (Next 30 Days)</h2>
<table style='width: 100%; border-collapse: collapse;'>
<tr style='background: #fdedec;'>
<th style='padding: 8px; text-align: left;'>Client</th>
<th style='padding: 8px; text-align: right;'>Premium</th>
<th style='padding: 8px; text-align: center;'>Risk Score</th>
<th style='padding: 8px; text-align: left;'>Producer</th>
</tr>
${atRisk.slice(0,5).map(c => `
<tr>
<td style='padding: 8px; border-bottom: 1px solid #eee;'>${c.client_name}</td>
<td style='padding: 8px; border-bottom: 1px solid #eee; text-align: right;'>$${c.total_premium?.toLocaleString()}</td>
<td style='padding: 8px; border-bottom: 1px solid #eee; text-align: center;'><span style='color: red; font-weight: bold;'>${c.risk_score}</span></td>
<td style='padding: 8px; border-bottom: 1px solid #eee;'>${c.producer_name}</td>
</tr>`).join('')}
</table>
<h2 style='color: #27ae60;'>💰 Top Cross-Sell Opportunities</h2>
<table style='width: 100%; border-collapse: collapse;'>
<tr style='background: #eafaf1;'>
<th style='padding: 8px; text-align: left;'>Client</th>
<th style='padding: 8px; text-align: left;'>Gap Type</th>
<th style='padding: 8px; text-align: right;'>Est. Premium</th>
<th style='padding: 8px; text-align: left;'>Producer</th>
</tr>
${opportunities.slice(0,10).map(o => `
<tr>
<td style='padding: 8px; border-bottom: 1px solid #eee;'>${o.client_name}</td>
<td style='padding: 8px; border-bottom: 1px solid #eee;'>${o.gap_type}</td>
<td style='padding: 8px; border-bottom: 1px solid #eee; text-align: right;'>$${o.est_premium?.toLocaleString()}</td>
<td style='padding: 8px; border-bottom: 1px solid #eee;'>${o.producer_name}</td>
</tr>`).join('')}
</table>
<p style='color: #666; font-size: 12px; margin-top: 20px; border-top: 1px solid #eee; padding-top: 10px;'>
This digest is generated automatically by your AI Book Analytics system.
<a href='https://app.insuredmine.com'>Log in to InsuredMine</a> for full details.
Managed by [MSP Name] | support@yourmsp.com
</p>
</div>
`;
output = { emailHtml, subject: `📊 Weekly Book Intelligence: ${metrics.new_opportunities} New Opportunities | ${atRisk.length} At-Risk Renewals` };- To: agency_principal@agency.com, sales_manager@agency.com
- CC: msp_account_manager@yourmsp.com
- Subject: {{step5.subject}}
- Body: {{step5.emailHtml}} (HTML format)
- From Name: Book Intelligence - [Agency Name]
AMS Data Quality Monitor
Type: integration
An automated data quality monitoring integration that runs daily checks on the AMS data flowing into InsuredMine, flagging records with missing critical fields, detecting new duplicates, and generating a monthly data quality report card. Poor data quality is the #1 cause of inaccurate AI recommendations—this component ensures ongoing data hygiene without manual effort.
Implementation:
AMS Data Quality Monitor — Platform: Zapier + Python Code Steps + InsuredMine API — Schedule: Daily at 11:00 PM (after business hours)
GET https://api.insuredmine.com/v1/contacts?limit=5000&fields=id,name,email,phone,address,policies# runs inside Zapier Code Step
import json
from datetime import datetime
contacts = json.loads(input_data['contacts'])
results = {
'total_contacts': len(contacts),
'missing_email': 0,
'missing_phone': 0,
'missing_address': 0,
'no_policies': 0,
'single_policy': 0,
'potential_duplicates': [],
'issues': []
}
name_index = {}
for contact in contacts:
# Check missing fields
if not contact.get('email'):
results['missing_email'] += 1
if not contact.get('phone'):
results['missing_phone'] += 1
if not contact.get('address') or not contact['address'].get('street'):
results['missing_address'] += 1
policy_count = len(contact.get('policies', []))
if policy_count == 0:
results['no_policies'] += 1
results['issues'].append(f"Contact {contact['name']} (ID: {contact['id']}) has no policies")
elif policy_count == 1:
results['single_policy'] += 1
# Duplicate detection (simple name+address matching)
name_key = contact.get('name', '').lower().strip()
addr_key = contact.get('address', {}).get('street', '').lower().strip()
composite_key = f"{name_key}|{addr_key}"
if composite_key in name_index and composite_key != '|':
results['potential_duplicates'].append({
'contact1': name_index[composite_key],
'contact2': contact['id'],
'name': contact['name']
})
else:
name_index[composite_key] = contact['id']
# Calculate quality scores
results['email_coverage'] = round((1 - results['missing_email'] / max(results['total_contacts'], 1)) * 100, 1)
results['phone_coverage'] = round((1 - results['missing_phone'] / max(results['total_contacts'], 1)) * 100, 1)
results['address_coverage'] = round((1 - results['missing_address'] / max(results['total_contacts'], 1)) * 100, 1)
results['overall_quality_score'] = round((results['email_coverage'] + results['phone_coverage'] + results['address_coverage']) / 3, 1)
results['duplicate_count'] = len(results['potential_duplicates'])
results['run_date'] = datetime.now().isoformat()
# Alert threshold
results['alert'] = results['overall_quality_score'] < 80 or results['duplicate_count'] > 10
output = json.dumps(results)Testing & Validation
Client Handoff
The client handoff should be conducted as a formal 90-minute meeting with the agency principal, operations manager, sales manager, and optionally a senior producer. Cover the following:
1. Solution Overview and Architecture (15 min)
Walk through how data flows from their AMS through InsuredMine to produce coverage gap analysis, cross-sell opportunities, and retention risk scores. Explain what the AI does and doesn't do—it recommends, humans decide.
2. Dashboard and Reporting Tour (20 min)
Live walkthrough of InsuredMine dashboards and Power BI executive reports. Show how to read retention risk scores, interpret coverage gap lists, manage the cross-sell pipeline, and track producer performance.
3. Daily Workflow Review (15 min)
Demonstrate the producer daily workflow: log in, review worklist, act on top opportunities, update statuses. Show CSR workflow: review renewal tasks, process retention alerts, maintain data quality.
4. Success Metrics and KPIs (10 min)
Define and agree on success criteria:
5. Documentation Handoff (10 min)
Provide the client documentation package:
6. Support and Maintenance Plan (10 min)
Review the ongoing MSP support agreement: what's included in monthly managed services, response time SLAs, quarterly business review schedule, how to request changes to gap rules or dashboard configurations.
7. 30/60/90 Day Milestones (10 min)
Set calendar appointments for 30-day adoption check-in, 60-day optimization review, and 90-day QBR. At each checkpoint: review adoption metrics, refine AI rules based on feedback, address any workflow friction, and celebrate wins (policies bound, revenue generated from AI recommendations).
Maintenance
Ongoing MSP Maintenance Responsibilities:
Daily (Automated)
- Data quality monitor runs automatically at 11 PM and logs results. MSP reviews alerts only if quality score drops below 80% or duplicate count exceeds threshold. Estimated time: 5 minutes/day (alert review only).
- Data sync health check: Verify InsuredMine data sync completed successfully via platform health dashboard. Set up uptime monitoring (e.g., UptimeRobot or Datadog) on InsuredMine API endpoints.
Weekly
- Review weekly intelligence digest email for accuracy and delivery. Verify metrics are populating correctly. 15 minutes.
- Check Zapier workflow execution logs for any failed zaps. Re-run or troubleshoot failures. 15 minutes.
- Review SentinelOne console for any endpoint security alerts. Investigate and remediate threats. 15-30 minutes.
Monthly
- AMS-InsuredMine data reconciliation: Full record count comparison and 10-record spot check. 1 hour.
- Coverage gap rule review: Meet with agency operations manager to review gap detection accuracy, add/modify rules based on producer feedback and conversion data. 1 hour.
- Retention model performance review: Compare predicted risk scores against actual renewal outcomes. Identify false positives/negatives and adjust signal weights. 1 hour.
- Security patching: Apply Windows updates, firmware updates for FortiGate, browser updates, and SentinelOne agent updates. 1-2 hours.
- Backup verification: Test restore from Datto/Axcient backup. Verify all critical configurations can be recovered. 30 minutes.
- Power BI dashboard refresh: Verify scheduled data refresh is running, update any broken queries, add new visualizations if requested. 30 minutes.
Quarterly (QBR - Quarterly Business Review)
- Comprehensive analytics ROI review with agency leadership. Present: coverage gaps closed and premium generated, cross-sell pipeline performance, retention rate trends, producer adoption metrics, data quality trends. 2-hour meeting + 2 hours preparation.
- Compliance documentation review and update. Verify WISP is current, review any regulatory changes in states where agency operates, update vendor risk assessments if InsuredMine has new SOC 2 report. 2 hours.
- Platform feature review: Check InsuredMine release notes for new features, evaluate and enable relevant new capabilities. 1 hour.
- AI model recalibration: Based on 3 months of conversion and retention data, refine scoring weights, gap rules, and alert thresholds. 2 hours.
Annually
- Full security assessment and penetration test. Verify compliance with NAIC Model Law #668. Update WISP and incident response plan. 4-8 hours.
- Insurance AI regulatory review: Check for new state-level AI regulations affecting agency operations. Update AI governance documentation. 2 hours.
- Technology refresh assessment: Evaluate whether current platform stack is still optimal, review competitor products, assess upgrade paths. 2 hours.
- Contract and licensing renewal: Renew InsuredMine, Microsoft 365, SentinelOne, FortiGuard, and backup service agreements. Negotiate volume pricing improvements. 2 hours.
Escalation Path
SLA Considerations
- Platform availability: InsuredMine SLA (typically 99.9% uptime). MSP monitors and reports.
- Data freshness: AMS-to-InsuredMine sync should complete within 30 minutes of AMS changes during business hours.
- Alert delivery: Retention risk and coverage gap alerts should reach producers within 1 hour of trigger event.
- Support response: MSP should offer 4-hour response for critical issues (data sync down, security incident), 8-hour for high (workflow broken), next business day for normal requests.
Alternatives
Applied Book Builder (Native Applied Epic Solution)
For agencies already running Applied Epic as their AMS, Applied Book Builder is a native AI-powered analytics tool built directly into the Epic platform. It enriches client accounts with data from thousands of public sources, identifies coverage gaps and cross-sell opportunities at the account level, and provides risk intelligence without requiring a separate CRM overlay. No separate platform to manage or integrate—it lives inside the AMS the agency already uses daily.
AgencyIQ (SIAA / DONNA.ai) — AMS-Agnostic Analytics
AgencyIQ (formerly DONNA.ai, acquired by SIAA in March 2025) is a purpose-built insurance analytics platform that is both carrier and AMS-agnostic. It features a proprietary SentiMeter retention risk score, cross-sell identification, and real-time customer experience measurement. It integrates with Applied, HawkSoft, Vertafore products, and others. For SIAA member agencies (5,200+ agencies writing $17B+ premium), it may be included as a membership benefit.
EZLynx All-in-One (Budget Option for Small Agencies)
For startup or growth-stage agencies (1-10 employees, <2,000 clients), EZLynx provides an all-in-one AMS with built-in retention analytics, automated renewal management, and cross-sell identification at a starting price of $350/month. No separate analytics platform needed—retention tools and client management are native to the AMS.
Custom Build with Power BI + Azure OpenAI (Enterprise Custom Solution)
For large agencies (50+ employees, $10M+ premium book) with unique requirements, a fully custom solution using Microsoft Power BI for visualization, Azure SQL Database for data warehousing, Azure OpenAI Service (GPT-5.4) for intelligent analysis, and custom Python/Node.js ETL scripts for AMS data extraction. Provides complete control over data models, scoring algorithms, and UI design.
Zywave AI Agents (Commercial Lines Focus)
Zywave's suite of insurance-specialized AI agents connects to an agency's book of business to identify risk exposures using proprietary benchmarking analytics, recommend appropriate coverage, and tap into 1,000+ real-time carrier APIs for automated quoting. Particularly strong for commercial lines agencies with its coverage-gap analysis, contract comparisons, and access to exposure data on tens of millions of businesses.
Want early access to the full toolkit?