Preflight stages every import and migration — a field-level diff of creates, updates, blocked rows, and skips — before anything touches HubSpot or Salesforce. Built for agencies running client CRMs.
| Contact | Field | Current | Incoming | |
|---|---|---|---|---|
| jane@acme.co | company | Acme Inc | Acme Corp | |
| tom@globex.io | jobtitle | Sales Rep | Account Executive | |
| lisa@initech.com | phone | 555-0100 | 555-0199 | |
| mark@wayne.co | company | empty | Wayne Enterprises |
4 of 234 updates
Two CRMs, one safety layer
Preflight isn't a HubSpot tool with Salesforce bolted on. Every capability — staging, mapping, validation, push, undo — runs through the same engine on both platforms, and migrations move data between them in either direction.
| Capability | HubSpot | Salesforce |
|---|---|---|
| Objects | Contacts, Companies, Deals, Tickets | Contacts, Accounts, Opportunities, Cases, Leads |
| Staged field-level preview | ||
| Create / update / skip / block classification | ||
| Custom field mapping | All writable properties | All createable fields |
| Picklist validation & translation | Enumeration properties | Restricted picklists, incl. State & Country |
| Batched push via official APIs | Batch API | Composite API |
| One-click undo | ||
| Migrate to / from the other CRM | ||
| Association preservation | Contacts ↔ Companies | Contacts ↔ Accounts |
The staging layer
Every incoming row gets a verdict: Create, Update, Skip, or Block. For every update, you see the exact field that will change — the current CRM value vs. the incoming value. Nothing is written until you approve it.
Not just 'this record will be updated.' You see which fields change: company 'Acme Inc' → 'Acme Corp'. Job title 'Sales Rep' → 'Account Executive'. Every field, every row.
If your source has a blank value but the CRM has data, Preflight will not overwrite it. This prevents the most common import disaster — silently blanking out good data.
Blocked rows aren't hidden — you see exactly why each one was stopped. Missing email. Invalid format. Duplicate in file. A value the destination picklist won't accept. Download, fix, and re-import.
Rows where every field already matches the destination are marked as skipped. No unnecessary writes. No wasted API calls.
How it works
Drag in a CSV — or pull records straight from HubSpot or Salesforce for a migration. Preflight maps fields, validates values, and catches duplicates before touching the CRM.
Every row is classified: create, update, skip, or block. For updates, you see the exact field-level changes — current CRM value vs. incoming.
Approve and push with live progress and pause/resume. If something's wrong, one click rolls everything back. No damage.
Features
We didn't build a feature list — we built solutions to the things that actually go wrong when bulk data meets a production CRM.
See every change before it happens. Creates, updates, skips, blocks — classified and displayed with full field-level detail.
Blank values in your source never overwrite existing CRM data. The #1 complaint about bulk imports, completely solved — in both CRMs.
Migrate accounts, contacts, deals, and cases between CRMs with auto-detected schema mapping, a 25-record test run, and associations preserved.
Columns auto-map to the right destination field — standard and custom. Override anything, translate picklist values, and save the mapping per client.
Records push via each CRM's official APIs with retries, live progress, and pause/resume. Exact counts of what succeeded and what didn't.
Pushed something wrong? One click reverts everything — updated records restored, created records deleted. Works across all object types.
Each client gets an isolated workspace — its own CRM connections, saved mappings, usage metering, audit trail, and role-based access.
Duplicates within your source are blocked with a clear reason before they reach the CRM. First occurrence processes normally.
Every upload, staging result, push, and rollback — stored permanently. 'Who imported what and when?' always has an answer.
Every Monday, Preflight scans each connected CRM — HubSpot and Salesforce — and emails you duplicates, missing fields, and stale records.
Pricing
Every plan includes unlimited seats, staged previews, one-click undo, and the full audit trail. Row volume is the only meter.
For agencies just getting going.
$499/mo
For scaling agencies running many clients.
$1,499/mo
For high-volume partners.
$2,999/mo
Annual billing saves 20%. Need a one-off import? The Lite pass is $25 for 24 hours of CSV/Excel imports into HubSpot or Salesforce.
HubSpot's import tool and Salesforce's Data Import Wizard preview column mapping, but neither shows you which existing fields will be overwritten, classifies rows as creates vs. updates vs. skips, lets you review and approve before writing, or offers an undo. Preflight adds a full staging layer with field-level diffs, classification, approval, and one-click rollback — on both platforms.
Yes, in either direction. The migration wizard connects both CRMs, auto-detects the field mapping (Accounts → Companies, Opportunities → Deals, and so on), validates picklist values, and lets you run a 25-record test before the full migration. Contact-to-company relationships are preserved, and every migration is staged and undoable like any import.
No. You can sign up, connect your CRMs, upload CSVs, and preview full staging reports — all free, no card required. A plan (with 14-day free trial) or a $25 Lite pass is only needed when you want to push changes.
Never. Preflight only reads your existing data for comparison during the staging phase. Absolutely nothing is written to HubSpot or Salesforce until you explicitly review the staging report and click the push button.
Empty values are never treated as changes. If a field is blank in your source but has a value in the CRM, Preflight will not overwrite it. This is one of the most important safety features.
Click the undo button on any completed import. Preflight snapshots the destination data before every push, so it can restore updated records to their original values and delete any records that were created — in HubSpot or Salesforce.
HubSpot: Contacts, Companies, Deals, and Tickets. Salesforce: Contacts, Accounts, Opportunities, Cases, and Leads. On both platforms the mapping step exposes every writable field — standard and custom — with auto-detection you can override, and picklist values are validated against the destination before anything pushes.
No. Both connect via standard OAuth — a few clicks and you're authorized. HubSpot needs no marketplace installation, and Salesforce connects without any package install (sandbox orgs are supported too).
Preflight supports up to 100,000 rows per run, processed in chunks so large files stage reliably. For larger datasets, split into multiple runs — each one gets its own staging report and audit record.
Yes. Cancel from your billing settings at any time. You'll keep access through the end of your current billing period. No cancellation fees.
HubSpot and Salesforce partners run more imports and migrations than anyone. Preflight gives you a professional-grade staging layer with per-client workspaces — show clients exactly what will change before you touch their data.
Interested in a partner arrangement? Get in touchYou decide.
Start previewing for freePreview for free. Pay when you're ready to push.