TL;DR: Migrating to a new CRM doesn’t mean starting from scratch. Onyx CRM lets independent insurance agents import up to 12 months of historical policy data via CSV, so your full client history is available from day one — no manual re-entry, no lost context, no dead weight from your old system.
Switching CRMs is one of those decisions agents put off for months. Not because the new platform isn’t better, but because of everything sitting in the old one — spreadsheets, policy notes, contact histories, follow-up dates, renewal timelines. The idea of leaving all that behind (or re-entering it manually) is enough to make any agent stick with a broken system longer than they should.
This guide walks you through exactly how to do a client data backfill in your CRM when moving to Onyx — specifically a 12-month policy import that gets your historical data working for you immediately.
If you’ve got a year’s worth of client records, renewal dates, and policy statuses sitting in a spreadsheet or legacy platform, this is how you bring it all in.
Why a Client Data Backfill in Your CRM Actually Matters
Most agents assume a CRM migration means a fresh start. You export your contacts, import basic name/email/phone data, and rebuild from there. That approach costs you more than you think.
Here’s what you lose when you don’t backfill historical policy data:
Annual review triggers stop working. If Onyx doesn’t know when a policy was written, it can’t fire automated 12-month anniversary outreach. You miss the renewal window entirely.
Re-engagement campaigns target the wrong people. Database reactivation AI needs historical context to identify which leads have gone cold versus which ones are warm. Without it, you’re spraying messages at your entire list with no prioritization.
Speed-to-lead metrics become meaningless. If a client’s last contact date is blank, the system can’t calculate follow-up urgency. According to LIMRA’s 2024 Distribution research, agents who contact leads within the first minute are far more likely to qualify them — but that speed advantage disappears if the system has no history to act on.
Manual follow-up fills the gap. Without historical data, agents end up tracking renewal dates in their heads or back-referencing old spreadsheets. That’s the exact problem Onyx is built to eliminate.
A proper client data backfill in your CRM solves all of this before you write your first new policy in the platform.
What You Need Before You Start
Before you touch the import tool, you need clean data. This is where most migrations go wrong — agents try to import messy exports and end up with duplicate contacts, blank required fields, and broken automations.
Spend 30-60 minutes here. It saves hours of cleanup later.
Required Fields (Minimum Viable Import)
For each contact record, you need:
- First name and last name (separate columns)
- Phone number (US format: 10 digits, no symbols)
- Email address
- Policy type (map to the relevant Onyx Stack: Mortgage Protection, Final Expense, Life Insurance, Medicare, Health/ACA, IULs, or Annuities)
- Policy start date (MM/DD/YYYY format)
- Policy status (Active, Lapsed, Pending, or Not Taken)
Recommended Fields (Unlock Automations)
These fields aren’t required, but without them, you’ll miss out on automated workflows:
- Lead source — maps to the correct nurture pipeline
- Agent assigned — necessary for multi-agent setups
- Last contact date — used by re-engagement sequencing
- Annual premium amount — used for cross-sell segmentation
- Beneficiary name — useful for annual review conversations
- Notes/tags — free-text or comma-separated, maps to Onyx’s 351-tag taxonomy
CSV Formatting Rules
- Save as
.csv(not.xlsx— Excel files cause encoding errors) - UTF-8 encoding
- No merged cells, no color coding, no formulas
- First row = column headers exactly (case-sensitive)
- Phone numbers stripped of dashes, spaces, and parentheses
- Dates in MM/DD/YYYY — not “Jan 5” or “1/5/25”
If you’re pulling from a legacy platform like AgentCRM or a generic GoHighLevel build, export raw CSV and reformat the date and phone columns before importing. This step alone prevents 80% of import errors.
Step-by-Step: How to Import 12 Months of Policy Data into Onyx
Step 1 — Access the Import Tool
Log into your Onyx dashboard. In the left sidebar, navigate to Contacts → Import Contacts. You’ll see the bulk import panel. Select CSV Import.
Step 2 — Upload Your File
Drag and drop your cleaned CSV file, or click Browse to select it. Onyx will parse the file and display a column-mapping preview. This is where you confirm each column in your CSV maps to the correct Onyx field.
Common mappings to double-check:
- Your “Policy Date” column → maps to Custom Field: Policy Start Date
- Your “Product” column → maps to Custom Field: Stack/Product Line
- Your “Status” column → maps to Pipeline Stage (you’ll select which pipeline during import)
If a column doesn’t have an automatic match, you’ll see it flagged in yellow. Map it manually from the dropdown or select Do Not Import for columns you don’t need.
Step 3 — Select the Destination Pipeline
This step is critical for backfill imports specifically. You’re not importing new leads — you’re importing clients with existing policy history. Select the appropriate pipeline for each Stack:
- Mortgage Protection clients → Mortgage Protection Pipeline, stage Active Policy
- Final Expense clients → Final Expense Pipeline, stage matching their status
- Medicare clients → Medicare Pipeline
If you’re importing multiple product lines in one CSV, segment your file first and run separate imports per Stack. Mixing product lines in a single import creates pipeline staging errors.
Step 4 — Set Duplicate Handling Rules
Onyx will flag records that match existing contacts by email or phone. For a fresh migration, you likely want Skip Duplicates — this prevents overwriting any contacts you already added manually during setup.
If you’re doing a full replacement import, select Update Existing — this will overwrite contact fields with your CSV data.
Step 5 — Tag Imported Records
Before you finalize the import, add a batch tag. Create a tag like backfill-2024 or legacy-import-Q1. This lets you filter these records later, audit them as a group, and confirm automation triggering worked correctly.
For managing large batches like this, read our guide on smart list management for consolidating 100+ contacts — it covers filtering and list cleanup after bulk operations.
Step 6 — Run the Import
Click Import. Depending on file size, this takes 2-10 minutes. Onyx will display a progress bar and send a completion email with an import summary — total records processed, records skipped, and any rows that failed validation.
Don’t navigate away from the page during processing.
Step 7 — Verify Data Integrity
Once the import completes:
1. Filter contacts by the backfill-2024 tag you created
2. Spot-check 10-15 records — confirm policy dates populated correctly, pipeline stages are accurate, and custom fields are filled
3. Check the Failed Records report in your email — fix any validation errors and re-import the failed rows as a separate file
4. Confirm that annual review automation is now queued — go to Automations → Annual Review and verify that contacts with 10-11 month-old policies show upcoming trigger dates
For a deeper look at how to avoid messaging errors with bulk-imported data, see our bulk messaging best practices guide before activating any campaigns against your imported list.
What This Unlocks Immediately
Once your 12-month backfill is complete and verified, several Onyx systems activate automatically against your historical data:
Annual review automation fires for any policy in month 10-12. The AI sends personalized outreach to clients approaching their anniversary date, prompting a review conversation that creates cross-sell and retention opportunities. This is one of Onyx’s most powerful retention tools — learn more in our insurance annual review automation guide.
Database reactivation AI can now identify which of your imported contacts haven’t been engaged in 60, 90, or 180 days — and re-engage them automatically with SMS and email sequences. Agents who’ve run this against legacy databases have seen meaningful revenue recovery. Mike T. recovered $18,000 from dead leads after running database reactivation against his imported contact list.
Pipeline reporting now reflects your full book of business, not just leads you’ve added since joining Onyx. Your close rate, conversion funnel, and follow-up metrics are accurate from day one.
Time Savings: What This Looks Like in Practice
Manually re-entering 12 months of client data runs roughly 4-6 minutes per contact for a thorough entry (name, contact details, policy info, notes, tagging). For an agent with 150 active clients — which is conservative — that’s 600-900 minutes of data entry. That’s 10-15 hours of work that produces nothing billable.
The bulk import process described above takes most agents 90-120 minutes end-to-end, including file prep. That’s a 5-10x time reduction, and the data quality is higher because you’re working from a structured source rather than transcribing from memory or PDFs.
That time goes back into prospecting, appointments, and policy reviews — the activities that actually build revenue.
For agents who want to push further on automation after their data is imported, the AI-only vs. AI + VA automation model breakdown covers how to decide which workflows to fully automate versus keep human-assisted.
A Note on Competitor Limitations
Not every CRM handles bulk historical data imports well. AgentCRM and AgentSuite — both GoHighLevel-based platforms targeting insurance agents — offer basic contact import, but neither provides Stack-specific pipeline mapping during import or batch-trigger logic for annual review automations. That means even if you get your data in, the automations won’t fire correctly without manual stage assignment after the fact.
Onyx’s import process maps directly to insurance-specific pipelines and triggers Stack-level automation against historical data immediately. That’s a structural difference, not a UI preference.
For a full comparison, see our top insurance CRMs compared for 2026.
Frequently Asked Questions
Can I import data from multiple insurance product lines in a single CSV file?
Technically yes, but it’s not recommended. Onyx’s import tool maps records to a single pipeline during each import session. If you mix Mortgage Protection clients with Final Expense and Medicare contacts in one file, records will all land in whichever pipeline you select — regardless of their actual product line. The cleaner approach is to segment your CSV by product line first and run separate imports for each Stack. This takes slightly longer upfront but prevents pipeline staging errors and ensures each contact’s automations fire from the correct vertical workflow. Most agents with 150-300 contacts can segment and import three or four product lines in under two hours total.
Will importing historical data trigger mass outreach to all my contacts at once?
No — not automatically. Importing contacts into Onyx does not activate campaigns unless you explicitly enroll them in a workflow after import. The exception is annual review automation, which will queue trigger dates based on policy start dates but won’t send messages until those dates arrive. Before activating any campaigns against your imported list, audit your batch tag to confirm data accuracy. Our bulk messaging best practices guide walks through how to stage campaign activation safely so you don’t hit carrier limits or trigger spam filters on day one.
What happens to records that fail validation during import?
Onyx generates a failed records report sent to your account email after every import. Each failed row includes the reason for failure — typically a missing required field, a malformed phone number, or an unrecognized date format. You can download the failed records as a separate CSV, fix the specific errors flagged, and re-import just those rows. You don’t need to re-process your entire file. Most agents find that 2-8% of records fail on first import, usually due to inconsistent formatting in the source data. Fixing these is straightforward once you know exactly which fields triggered the validation error.
Does Onyx support data imports from specific legacy platforms?
Onyx accepts any properly formatted CSV file, regardless of source. If you’re migrating from a legacy platform, export your contacts as CSV from that system, then reformat the columns to match Onyx’s field names before importing. Common sources agents migrate from include spreadsheets, basic GoHighLevel builds, AgentCRM, and agency management systems. The GoHighLevel complete guide for insurance agents covers specific formatting considerations if you’re migrating from a raw GHL instance.
How long does Onyx store imported historical data?
Historical data imported into Onyx is stored for as long as your account remains active — there’s no time-based data expiration on contact records. Policy dates, custom fields, notes, and tags you import are permanent records in your CRM. This is important for annual review automation, which references policy start dates indefinitely to trigger anniversary outreach year after year. The NAIC’s data retention guidelines recommend agents keep client records for a minimum of five years in most states — Onyx’s indefinite storage supports that requirement for digital records.
Get Your Data Moved Over — the Right Way
If you’ve been putting off a CRM switch because of everything sitting in your old system, the backfill process is the answer. A proper client data backfill in your CRM means you walk into Onyx with your full book of business intact, annual review automation already queued, and re-engagement campaigns ready to run against real historical data.
Onyx’s done-for-you onboarding gets agents live within 48 hours — and the team can help with your data migration as part of that process. Plans start at $99/month for Core, $149/month for Prime (which includes the AI appointment booking and database reactivation that make your imported data most valuable), and $499/month for Elite AI.
See full pricing and book your onboarding call at onyx-crm.com/pricing.
