Safe Merge Documentation

Complete guide to snapshot protection, 3-stage duplicate detection, safe merging with one-click undo, and Emergency Unmerge for HubSpot CRM.

Getting Started

Safe Merge installs in under 2 minutes via HubSpot's standard OAuth flow. No credit card required for the free tier.

Prerequisites

Quick Install

1
Install Safe Merge: Click "Install Free" from safemerge.app. This opens HubSpot's OAuth authorization screen.
2
Authorize scopes: HubSpot will display the permissions Safe Merge needs (read/write access to contacts, companies, deals, and their schemas). If you have multiple portals, select the one you want to protect. See OAuth Scopes for full details.
3
Click "Connect app" in HubSpot's dialog. You will be redirected back to Safe Merge.
4
Log in to your Account Portal: Go to safemerge.app/account and log in with HubSpot.

Free tier available immediately. The Free plan includes 2,000 records, 3 unmerges/month, and 7-day snapshot retention. Upgrade anytime from your account dashboard.

Setup Guide: Install to First Snapshot

This is a comprehensive step-by-step walkthrough from installing Safe Merge to your first automated snapshot and duplicate detection run.

Step 1: Install Safe Merge

Visit safemerge.app and click "Install Free." HubSpot will ask you to authorize the required OAuth scopes. Select the portal you want to protect and click "Connect app."

Step 2: Log in to the Account Portal

After installation, go to safemerge.app/account. Click "Log in with HubSpot" to authenticate. This is your central dashboard for all Safe Merge settings, duplicate review, and billing.

Step 3: Configure Snapshot Protection

On the Account Portal, find the Snapshot Protection card. Here you will:

  1. Choose object types: Select which CRM objects to protect: contacts, companies, deals, or any combination.
  2. Limit to specific segments (optional): Click "Limit to specific segments" to pick specific HubSpot lists for each object type. Only records in those lists will be snapshotted. This helps you stay under your plan's record limit by focusing protection on your most important data. Leave empty to snapshot all records of that type.
  3. Choose your timezone: Select your timezone from the dropdown (e.g., "America/New_York").
  4. Choose your snapshot time: Pick the time you want your nightly snapshot to run (e.g., 2:00 AM). We recommend choosing a time when your team is not actively working in HubSpot.

Step 4: Enable Snapshot Protection

Click "Enable Snapshot Protection" to opt in. Snapshot protection is not automatic on install. You must explicitly enable it. Once enabled, Safe Merge will run your first snapshot at the next occurrence of your chosen time.

Snapshot protection is opt-in. Nothing runs until you explicitly click "Enable Snapshot Protection." You are in full control of when and what gets snapshotted.

Safe Merge snapshot configuration showing enrolled object types, schedule, and segment filters

Configure snapshot schedule, enrolled objects, and segment filters from the web portal

Step 5: First Snapshot Runs

At your chosen snapshot time, Safe Merge will:

  1. Snapshot all records of your selected object types
  2. Automatically run duplicate detection on the snapshotted records
  3. Display any detected duplicates in your Account Portal dedup dashboard

Step 6: Review Duplicates

After your first snapshot completes, visit the dedup dashboard in your Account Portal. You will see any detected duplicate pairs with match scores and reasoning. From there you can Safe Merge (with snapshot protection), dismiss false positives, or view the match reasoning.

Step 7: Ongoing Protection

From this point forward, Safe Merge runs automatically at your chosen time based on your plan's scan frequency. Each snapshot also triggers a fresh duplicate detection run, so new duplicates are surfaced continuously.

How Snapshots Work

Snapshots are the foundation of Safe Merge. They capture a complete, compressed JSON snapshot of every record's properties and associations, so any merge can be fully reversed.

Nightly Cron at Your Chosen Time

Safe Merge runs an automated snapshot job at the time you configure in the Snapshot Protection settings. You choose both your timezone and your preferred snapshot time. The job checks each portal's scan schedule and runs snapshots for portals that are due:

PlanScan Frequency
FreeMonthly (every 30 days)
StarterWeekly (every 7 days)
GrowthWeekly (every 7 days)
ProDaily
EnterpriseDaily

Automatic Duplicate Detection

During each snapshot run, duplicate detection runs automatically on the snapshotted records. This means you do not need to manually trigger scans. Duplicates are surfaced in the dedup dashboard after each snapshot cycle.

Incremental Snapshots

After the initial full snapshot, subsequent runs are incremental: only records modified since the last snapshot are re-captured. This keeps processing fast and efficient, even for large portals.

Where Snapshots Are Stored

Snapshot Retention

Snapshots are retained based on your plan tier. Older snapshots are automatically pruned:

PlanRetention
Free7 days
Starter30 days
Growth90 days
Pro180 days
Enterprise365 days

Snapshot before merge: When Safe Merge performs a duplicate merge, it always captures a fresh snapshot of both records immediately before merging, regardless of your scan schedule. This ensures 100% fidelity for undo.

Duplicate Detection

Safe Merge uses a 3-stage pipeline to find duplicates across your contacts, companies, and deals. Each stage adds increasing sophistication, filtering candidates down to high-confidence pairs. Duplicate detection runs automatically during each snapshot cycle.

Stage 1: Exact Matching

The first pass applies fast, exact-match rules to identify obvious duplicates:

These pairs are flagged with high confidence (0.95+) and do not require further evaluation.

Stage 2: Fuzzy Matching

For records that do not match exactly, Safe Merge applies probabilistic record linkage based on the Fellegi-Sunter model:

Pairs scoring above 0.70 advance to the next stage. Pairs scoring 0.95+ from Stage 2 are treated as confirmed duplicates.

Stage 3: Advanced Matching with Web Verification (Growth+ Plans)

For ambiguous pairs in the 0.70 to 0.95 score range, Safe Merge sends the pair to Anthropic's advanced pattern matching service for contextual evaluation:

For Growth, Pro, and Enterprise plans, this stage also adds web search verification for company duplicates:

Privacy note: Only company-level data (name, domain) is sent for web search verification. No contact PII is ever sent to external search services.

Safe Merge duplicate detection dashboard showing 1,114 duplicates with confidence scores and merge actions

The dedup dashboard shows all detected pairs with match scores, verdicts, and one-click merge or dismiss actions

Dedup Dashboard

The dedup dashboard is your central hub for reviewing and acting on detected duplicates. Access it from your Account Portal.

Reviewing Duplicates

After each snapshot and duplicate detection run, detected pairs appear in the dedup dashboard. For each pair you can see:

Actions

For each detected duplicate pair, you have three options:

  1. Safe Merge: Merge the records with full snapshot protection. A pre-merge snapshot is captured automatically, so you can undo the merge with one click if needed.
  2. Dismiss: Mark the pair as not a duplicate. Dismissed pairs will not appear again in future scans.
  3. View Reasoning: See the detailed match analysis, including which fields matched and the confidence breakdown.
Safe Merge duplicate pair detail showing side-by-side comparison with match score bars

Review each pair with side-by-side property comparison and per-field match confidence scores

Unmerging from the Dashboard

If you merged a pair from the dedup dashboard and need to reverse it, merged pairs appear in your operations history. Click "Unmerge" to restore both records to their pre-merge state with 100% fidelity from the snapshot.

Safe Merge unmerge complete showing 100% fidelity restoration with record comparison

After unmerge, review the surviving and recreated records with 100% snapshot fidelity confirmation

Safe Merge with Undo

When Safe Merge identifies duplicates, you can merge them directly from the dashboard or CRM card with full undo capability.

How It Works

  1. Pre-merge snapshot: Before any merge, Safe Merge captures a complete snapshot of both records (all properties + all associations)
  2. Merge via HubSpot API: The merge is executed through HubSpot's native merge API, ensuring full compatibility with HubSpot's merge behavior
  3. Undo available immediately: After the merge completes, a one-click "Undo" button appears in the CRM card and on your account dashboard

One-Click Undo

If a merge needs to be reversed:

  1. Navigate to the merged record in HubSpot, or find the merge in your account dashboard
  2. Click "Undo Merge"
  3. Confirm in the dialog
  4. Processing takes 5 to 30 seconds
  5. Links to the restored records appear when complete

What Gets Restored

Safe Merge supports undo for contacts, companies, and deals.

Chain Merges

If a record was merged multiple times, Safe Merge handles it automatically with timestamp-aware snapshot matching. All abolished records are shown in the sidebar card and can be individually restored.

Time-sensitive: Undo relies on the pre-merge snapshot. The sooner you undo, the better. Associations or properties changed after the merge but before the undo are not captured in the original snapshot.

Account Dashboard

The web portal at safemerge.app/account is your central hub for managing Safe Merge.

Dashboard Sections

Safe Merge bulk snapshot unmerge scan complete with review results

Bulk operations let you scan and unmerge multiple records from a HubSpot list or CSV upload

Cancellation

No refunds. All payments and credit purchases are final. We do not refund partial periods or unused credits. If you have a service issue, contact joshua@thirdspaced.com. We can offer service credits or complimentary time.

HubSpot CRM Cards

Safe Merge installs two CRM cards on every contact, company, and deal record in your HubSpot portal.

SafeMergeCard (Sidebar Card)

The sidebar card appears in the right panel of every record and shows:

StateMeaningAction
ProtectedSnapshot exists, no merge detectedNone needed
Merge DetectedRecord was merged and a pre-merge snapshot existsOne-click Undo Merge
Merged (No Snapshot)Merged before Safe Merge was installedEmergency Unmerge
No Snapshot YetWaiting for first snapshot cycleWait for next scheduled run

The card also displays any detected duplicate pairs for the current record, with match scores and a direct link to review/merge them.

Safe Merge sidebar card on a HubSpot company record showing merge detected status and insurance badge

The sidebar card and tab card appear on every contact, company, and deal record in HubSpot

SafeMergeTabCard (Unmerge Workflow)

The tab card provides the full unmerge workflow when a merge is detected:

Safe Merge tab card showing merge detected alert with snapshot details and unmerge options

When a merge is detected, the tab card shows full details and lets you preview snapshots or execute an unmerge

Pricing & Plans

FeatureFreeStarterGrowthProEnterprise
Price$0$29/mo$79/mo$179/mo$349/mo
Record Limit2,00010,00050,000250,0001,000,000
Unmerges / Month3UnlimitedUnlimitedUnlimitedUnlimited
Snapshot Retention7 days30 days90 days180 days365 days
Scan FrequencyMonthlyWeeklyWeeklyDailyDaily
Duplicate DetectionExact + FuzzyExact + Fuzzy+ Web Search (250 pairs/scan)+ Web Search (500 pairs/scan)+ Web Search (1,000 pairs/scan)
EU Operations/mo0 (credits required)10 included25 included50 includedUnlimited
SupportCommunityEmailPriority emailDedicatedDedicated

Annual billing saves up to 29%. All prices are in US dollars and exclude applicable taxes.

Every paid plan includes Emergency Unmerge operations. Starter (10/mo), Growth (25/mo), Pro (50/mo), Enterprise (unlimited). Additional operations beyond the monthly allowance use standard credits.

Emergency Unmerge Integration

Emergency Unmerge is a separate product by Third Space that reconstructs records merged before Safe Merge was installed, when no pre-merge snapshot exists.

How It Works

  1. Deep scan: Reads all properties, associations, and engagement history on the merged record (30 to 120 seconds)
  2. Reconstruction: Anthropic's advanced pattern matching service analyzes property history, timestamps, association patterns, and email domain forensics to reconstruct the probable pre-merge state
  3. Human review: You review the proposed reconstruction side-by-side, with confidence scores for every property. Edit any field before executing.
  4. Execution: Only after your explicit approval are new records created in HubSpot

Cross-Product Benefit

Any paid Safe Merge subscription includes a monthly allowance of Emergency Unmerge operations:

Operations within the monthly allowance require no credits. Operations beyond the allowance use standard credit rates ($0.05/credit for Starter, $0.04/credit for Growth and above). Allowances reset on the first of each month and do not roll over.

Free plan users can use Emergency Unmerge by purchasing credits. See the Emergency Unmerge documentation for complete details on credits and pricing.

Emergency Unmerge is probabilistic. Reconstructions are a best guess based on available data. Always review carefully before executing. See Terms of Service.

Emergency Unmerge Credits (Free Plan)

PackageCreditsPricePer Credit
Per-Credit (under 250)100 to 249$0.05 x qty$0.05
Per-Credit (250+)250+$0.04 x qty$0.04
Emergency100$4.99$0.05
Emergency 250250$9.99$0.04
Emergency Plus500$19.99$0.04

Credit Cost by Record Complexity

Complexity (total items)Credits Used
0 to 25 items10
26 to 100 items22
101 to 500 items50
501 to 2,000 items125
2,001 to 5,000 items250
5,001 to 10,000 items500
10,000+ items850

OAuth Scopes Explained

Required Scopes

ScopeWhy We Need It
crm.objects.contacts.readRead contact properties for snapshots, merge detection, and duplicate scanning
crm.objects.contacts.writeCreate new contact records during unmerge; write snapshot indicator properties
crm.objects.companies.readRead company properties for snapshots, merge detection, and duplicate scanning
crm.objects.companies.writeCreate new company records during unmerge; write snapshot indicator properties
crm.objects.deals.readRead deal properties for snapshots and merge detection
crm.objects.deals.writeCreate new deal records during unmerge; write snapshot indicator properties
crm.schemas.contacts.readRead contact property definitions to know which fields to snapshot
crm.schemas.contacts.writeCreate Safe Merge custom properties on contacts
crm.schemas.companies.readRead company property definitions
crm.schemas.companies.writeCreate Safe Merge custom properties on companies
crm.schemas.deals.readRead deal property definitions
crm.schemas.deals.writeCreate Safe Merge custom properties on deals
oauthRequired for OAuth token refresh

Optional Scopes

ScopeWhy
ticketsRead ticket associations during Emergency Unmerge (if present)
e-commerceRead e-commerce associations during Emergency Unmerge

Optional scopes are only used during Emergency Unmerge to provide richer data for reconstruction analysis. You can decline them and still use all core features.

Shared Data Flow

Data flows bi-directionally for contacts, companies, and deals:

Data Handling & Security

Where Your Data Lives

DataLocationRetention
CRM snapshotsPostgreSQL on Render (Oregon, US) + lightweight indicator on HubSpot recordPer plan tier (7 to 365 days)
Duplicate detection resultsPostgreSQL on RenderUntil dismissed or merged
OAuth tokens (encrypted)PostgreSQL on RenderDuration of integration
Billing recordsStripe7 years (legal)
Emergency Unmerge scan dataPostgreSQL on RenderAuto-deleted after 30 days
Advanced matching processing (Anthropic)Anthropic serversDeleted within 30 days

Security Measures

For complete details, see our Privacy Policy, Data Processing Agreement, and Security pages.

Troubleshooting

"No Snapshot Yet" on the Sidebar Card

This means the record has not been captured in a snapshot cycle yet. Snapshots run on a schedule based on your plan tier (monthly for Free, weekly for Starter/Growth, daily for Pro/Enterprise). The record will be picked up in the next scheduled cycle automatically. If you just installed Safe Merge, make sure you have enabled Snapshot Protection in the Account Portal and the first snapshot will run at your chosen time.

"Token Expired" or Authorization Errors

If Safe Merge loses access to your HubSpot portal, the CRM card may show an authorization error. To resolve:

  1. Go to HubSpot Settings → Integrations → Connected Apps
  2. Find Safe Merge and disconnect it
  3. Reinstall from safemerge.app
  4. Your account data (plan, history, credits) will be automatically reconnected

"Scan Running": Duplicate Scan Already in Progress

Safe Merge processes one duplicate scan at a time per object type. If a scan is already running for contacts, you cannot start another contact scan until it completes. Scans typically complete within a few minutes for most portals. Large portals (100k+ records) may take longer.

Unmerge Button Is Disabled

Possible causes:

Unmerge Completed but Some Associations Are Missing

Possible reasons:

Properties Show as "Read-Only Mirror"

Certain HubSpot properties (e.g., createdate, hs_analytics_source) are system-managed and cannot be written by any integration. Safe Merge stores these values in safe_merge_readonly_values so you have a reference.

Sidebar Card Shows an Error

Try refreshing the page. If the issue persists, it may be a temporary API issue. Contact joshua@thirdspaced.com with your portal ID and the record URL.

Frequently Asked Questions

Does Safe Merge work with HubSpot Free CRM?

Yes. Safe Merge works with all HubSpot tiers, including the free CRM.

Do snapshots start automatically when I install?

No. After installing, you need to go to safemerge.app/account, configure your object types, timezone, and snapshot time, then click "Enable Snapshot Protection." Nothing runs until you opt in.

Can I unmerge records that were merged before I installed Safe Merge?

Yes, that is what Emergency Unmerge is for. It uses advanced reconstruction to determine the probable pre-merge state, even without a snapshot. Paid Safe Merge subscribers get Emergency Unmerge for free.

Is my data safe?

Snapshots are stored in our encrypted PostgreSQL database, with a lightweight indicator property written to your HubSpot records. OAuth tokens are encrypted at rest. Our infrastructure is SOC 2 Type II certified. Your data is never used to train models. See our Privacy Policy and Security page.

What happens if I uninstall Safe Merge?

Your CRM data is unaffected. Custom properties remain on your records (you can delete them manually in HubSpot Settings → Properties). Our stored data (tokens, snapshots, logs) is deleted within 30 days.

Does Safe Merge work with custom objects?

Currently, Safe Merge supports contacts, companies, and deals. Custom object support is on our roadmap.

How is this different from a CRM backup tool?

Backup tools export your entire CRM to an external location. Safe Merge is purpose-built for merge protection and duplicate management: it captures pre-merge state, detects duplicates with a 3-stage pipeline, safely merges them with full undo capability, and can surgically reverse merges with one click. It is not a general backup. It is a complete merge safety net.

How does duplicate detection differ from HubSpot's built-in tool?

HubSpot's built-in duplicate tool uses basic matching. Safe Merge adds Fellegi-Sunter probabilistic scoring, advanced matching for ambiguous pairs, and web search verification for companies. Most importantly, Safe Merge lets you merge duplicates with a full undo guarantee, something HubSpot's native merge does not offer.

Can I get a refund?

No. All subscription payments and credit purchases are final and non-refundable. If you experience a genuine service issue, contact support and we can provide service credits or complimentary time as appropriate. See Terms of Service, Section 3.6.

Support

PlanSupport LevelChannel
FreeCommunitySupport form
StarterEmail (business hours)joshua@thirdspaced.com
GrowthPriority emailjoshua@thirdspaced.com
ProDedicatedjoshua@thirdspaced.com
EnterpriseDedicatedjoshua@thirdspaced.com

When contacting support, include:

Third Space, LLC
Email: joshua@thirdspaced.com
Website: https://safemerge.app