Getting Started
CRM Data Backup & Restore installs in under 2 minutes via HubSpot's standard OAuth flow. No credit card required for the free tier.
Prerequisites
- An active HubSpot account: Free CRM or any paid Hub
- Super Admin access or sufficient permissions to install integrations and manage CRM properties
- Authority to connect third-party apps: confirm your IT policy allows it
Quick Install
Free tier available immediately. The Free plan includes 2,000 records, 3 restores/month, and 7-day backup retention. Upgrade anytime from your account dashboard.
Setup Guide: Install to First Backup
This is a comprehensive step-by-step walkthrough from installing CRM Data Backup & Restore to your first automated backup and duplicate detection run.
Step 1: Install CRM Data Backup & Restore
Visit crmbackup.io 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 crmbackup.io/account. Click "Log in with HubSpot" to authenticate. This is your central dashboard for all CRM Data Backup & Restore settings, duplicate review, and billing.
Step 3: Configure Backup Protection
On the Account Portal, find the Backup Protection card. Here you will:
- Choose object types: Select which CRM objects to protect: contacts, companies, deals, or any combination.
- 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 backed up. This helps you stay under your plan's record limit by focusing protection on your most important data. Leave empty to back up all records of that type.
- Choose your timezone: Select your timezone from the dropdown (e.g., "America/New_York").
- Choose your backup time: Pick the time you want your scheduled backup to run (e.g., 2:00 AM). Backup cadence is set by your plan (Free monthly, Starter and Growth weekly, Pro and Enterprise daily). We recommend choosing a time when your team is not actively working in HubSpot.
Step 4: Enable Backup Protection
Click "Enable Backup Protection" to opt in. Backup protection is not automatic on install. You must explicitly enable it. Once enabled, CRM Data Backup & Restore will run your first backup at the next occurrence of your chosen time.
Backup protection is opt-in. Nothing runs until you explicitly click "Enable Backup Protection." You are in full control of when and what gets backed up.
Configure backup schedule, enrolled objects, and segment filters from the web portal
Step 5: First Backup Runs
At your chosen backup time, CRM Data Backup & Restore will:
- Back up all records of your selected object types
- Run duplicate detection on the backed-up records (rolling out)
- Display any detected duplicates in your Account Portal dedup dashboard
Step 6: Review Duplicates
After your first backup 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 merge (with backup protection), dismiss false positives, or view the match reasoning.
Step 7: Ongoing Protection
From this point forward, CRM Data Backup & Restore runs automatically at your chosen time based on your plan's scan frequency. As duplicate detection rolls out, each backup will also trigger a fresh duplicate detection run, so new duplicates are surfaced continuously.
How Automated Backups Work
Automated backups (monthly, weekly, or daily depending on plan) are the foundation of CRM Data Backup & Restore. They capture a complete, compressed JSON backup of every record's properties and associations, so any merge can be fully reversed.
Scheduled Backup at Your Chosen Time
CRM Data Backup & Restore runs an automated backup job at the time you configure in the Backup Protection settings. You choose both your timezone and your preferred backup time. The job checks each portal's scan schedule and runs backups for portals that are due:
| Plan | Scan Frequency |
|---|---|
| Free | Monthly (every 30 days) |
| Starter | Weekly (every 7 days) |
| Growth | Weekly (every 7 days) |
| Pro | Daily |
| Enterprise | Daily |
Automatic Duplicate Detection (rolling out)
As duplicate detection rolls out, it will run during each backup run on the backed-up records, so you do not need to manually trigger scans. Detected duplicates are surfaced in the dedup dashboard after each backup cycle.
Full Portal Coverage Every Run
Every backup run re-reads your entire portal fresh, so no change is ever missed by timestamp edge cases. A new version of a record is added to your backup history only when its content actually changed, which keeps that history compact even for large portals.
Where Backups Are Stored
- PostgreSQL database: The full compressed backup is stored server-side in our PostgreSQL database on Render (Oregon, US). The database runs on infrastructure with disk-level encryption, and application-layer encryption of backup contents is being rolled out.
- HubSpot property indicator: A lightweight custom property (
safe_merge_snapshot) is written to the record in HubSpot, marking it as protected and storing the backup timestamp. This allows the CRM card to instantly display protection status without an API call.
Backup Retention
Backups are retained based on your plan tier. Older backups are automatically pruned:
| Plan | Retention |
|---|---|
| Free | 7 days |
| Starter | 30 days |
| Growth | 90 days |
| Pro | 180 days |
| Enterprise | 365 days |
Backup before merge: When CRM Data Backup & Restore performs a duplicate merge, it always captures a fresh backup of both records immediately before merging, regardless of your scan schedule. This lets one-click restore recover every property and association captured in that pre-merge backup.
Duplicate Detection (rolling out)
CRM Data Backup & Restore is rolling out a 3-stage duplicate detection pipeline to find duplicates across your contacts, companies, and deals. Each stage adds increasing sophistication, filtering candidates down to high-confidence pairs. As it rolls out, duplicate detection will run during each backup cycle.
Stage 1: Exact Matching
The first pass applies fast, exact-match rules to identify obvious duplicates:
- Exact email match: Two contacts with the same email address (case-insensitive)
- Exact phone match: Two contacts with the same phone number (normalized)
- Domain match: Two companies with the same website domain (normalized, stripping www/subdomains)
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, CRM Data Backup & Restore applies probabilistic record linkage based on the Fellegi-Sunter model:
- Jaro-Winkler distance for names: Catches typos, abbreviations, and name variations (e.g., "Jon Smith" vs. "Jonathan Smith")
- Phone digit normalization: Strips formatting and compares raw digit sequences (e.g., "(555) 123-4567" vs. "5551234567")
- TF-IDF company name similarity: Accounts for common words like "Inc", "LLC", "Solutions" that reduce match significance, while weighting distinctive terms higher
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, CRM Data Backup & Restore sends the pair to Anthropic's advanced pattern matching service for contextual evaluation:
- The service analyzes property patterns, naming conventions, and contextual signals
- Returns a match/no-match verdict with a confidence score and reasoning
- Handles edge cases like maiden names, company acquisitions, and name transliterations
For Growth, Pro, and Enterprise plans, this stage also adds web search verification for company duplicates:
- Company domain verification: Confirms two company names resolve to the same domain
- LinkedIn cross-reference: Checks LinkedIn company pages for matching data
- Acquisition detection: Identifies companies that merged or acquired each other (different names, same entity)
Privacy note: Only company-level data (name, domain) is sent for web search verification. No contact PII is ever sent to external search services.
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 backup and duplicate detection run, detected pairs appear in the dedup dashboard. For each pair you can see:
- Match score: A confidence percentage indicating how likely the pair is a true duplicate
- Match reasoning: Explanation of why the records were flagged (e.g., "exact email match", "name similarity 0.92 + same company domain")
- Record details: Side-by-side comparison of key fields from both records
Actions
For each detected duplicate pair, you have three options:
- Merge (with Backup): Merge the records with full backup protection. A pre-merge backup is captured automatically, so you can restore the merge with one click if needed.
- Dismiss: Mark the pair as not a duplicate. Dismissed pairs will not appear again in future scans.
- View Reasoning: See the detailed match analysis, including which fields matched and the confidence breakdown.
Review each pair with side-by-side property comparison and per-field match confidence scores
Restoring 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 "Restore" to restore both records to their pre-merge state, recovering every property and association captured in the backup.
After restore, review the surviving and recreated records recovered from the captured backup
Merge with Restore
When CRM Data Backup & Restore identifies duplicates, you can merge them directly from the dashboard or CRM card with full one-click restore capability.
How It Works
- Pre-merge backup: Before any merge, CRM Data Backup & Restore captures a complete backup of both records (all properties + all associations)
- Merge via HubSpot API: The merge is executed through HubSpot's native merge API, ensuring full compatibility with HubSpot's merge behavior
- Restore available immediately: After the merge completes, a one-click "Restore" button appears in the CRM card and on your account dashboard
One-Click Restore
If a merge needs to be reversed:
- Navigate to the merged record in HubSpot, or find the merge in your account dashboard
- Click "Restore"
- Confirm in the dialog
- Processing typically takes 5 to 30 seconds (records with very many associations can take longer)
- Links to the restored records appear in the HubSpot card when complete; the account dashboard shows the new record IDs
What Gets Restored
- All writable properties captured in the pre-merge backup
- All associations: contacts, companies, deals, notes, tasks, calls, emails, meetings
- Read-only properties stored in a
safe_merge_readonly_valuesmirror property for reference - Surviving record cleanup: absorbed associations are removed and the surviving record is restored to its pre-merge state
CRM Data Backup & Restore supports one-click restore for contacts, companies, and deals.
Chain Merges
If a record was merged multiple times, CRM Data Backup & Restore handles it automatically with timestamp-aware backup matching. All abolished records are shown in the sidebar card and can be individually restored.
Time-sensitive: Restore relies on the pre-merge backup. The sooner you restore, the better. Associations or properties changed after the merge but before the restore are not captured in the original backup.
Account Dashboard
The web portal at crmbackup.io/account is your central hub for managing CRM Data Backup & Restore.
Dashboard Sections
- Backup Protection: Configure which object types to protect, your timezone, and your preferred backup time. Optionally limit backups to specific HubSpot segments (lists) per object type. Enable or disable backup protection.
- Backup Status: See when your last backup ran, how many records are protected, and when the next backup is scheduled
- Dedup Dashboard: View detected duplicate pairs, filter by object type (contacts/companies/deals), review match scores and reasoning, and approve or dismiss pairs
- Operations History: Complete log of all merges, restores, and backup operations with timestamps, status, and details
- Billing Management: Current plan, record usage, upgrade/downgrade options, and a link to the Stripe billing portal for invoices and payment methods
- Emergency Unmerge Credits: Current credit balance and purchase options (paid CRM Data Backup & Restore plans include a monthly EU allowance)
Bulk operations let you scan and restore multiple records from a HubSpot list or CSV upload
Cancellation
- Cancel anytime from the Stripe billing portal (linked from your Account page)
- Takes effect at the end of the current billing period
- Until the end of your billing period, backups and restore keep working normally
- At period end your portal moves to the Free plan: monthly backups, up to 2,000 records, 3 restores per month, 7-day retention
- Backup history older than 7 days is purged after the downgrade (the most recent backup of each record is kept), so export or restore anything you need before your period ends
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
CRM Data Backup & Restore installs two CRM cards on every contact, company, and deal record in your HubSpot portal.
Sidebar Card
The sidebar card appears in the right panel of every record and shows:
| State | Meaning | Action |
|---|---|---|
| Protected | Backup exists, no merge detected | None needed |
| Merge Detected | Record was merged and a pre-merge backup exists | One-click Restore |
| Merged (No Backup) | Merged before CRM Data Backup & Restore was installed | Emergency Unmerge |
| No Backup Yet | Waiting for first backup cycle | Wait 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.
The sidebar card and tab card appear on every contact, company, and deal record in HubSpot
Restore Tab Card
The tab card provides the full restore workflow when a merge is detected:
- Backup-based restore: One-click restore from the pre-merge backup
- Emergency Unmerge: For records merged before CRM Data Backup & Restore was installed, launches the reconstruction workflow (scan, review, execute)
- Operation status: Shows progress for in-flight restore operations
When a merge is detected, the tab card shows full details and lets you preview backups or execute a restore
Pricing & Plans
| Feature | Free | Starter | Growth | Pro | Enterprise |
|---|---|---|---|---|---|
| Price | $0 | $29/mo | $79/mo | $179/mo | $349/mo |
| Record Limit | 2,000 | 10,000 | 50,000 | 250,000 | 1,000,000 |
| Restores / Month | 3 | Unlimited | Unlimited | Unlimited | Unlimited |
| Backup Retention | 7 days | 30 days | 90 days | 180 days | 365 days |
| Scan Frequency | Monthly | Weekly | Weekly | Daily | Daily |
| Duplicate Detection (rolling out) | Exact + Fuzzy | Exact + Fuzzy | + Web Search (250 pairs/scan) | + Web Search (500 pairs/scan) | + Web Search (1,000 pairs/scan) |
| EU Operations/mo | 0 (credits required) | 10 included | 25 included | 50 included | 200 included |
| Support | Support form |
Annual billing saves up to 28%. 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 (200/mo). 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 CRM Data Backup & Restore was installed, when no pre-merge backup exists.
How It Works
- Deep scan: Reads all properties, associations, and engagement history on the merged record (30 to 120 seconds)
- Reconstruction: Anthropic's advanced pattern matching service analyzes property history, timestamps, association patterns, and email domain forensics to reconstruct the probable pre-merge state
- Human review: You review the proposed reconstruction side-by-side, with confidence scores for every property. Edit any field before executing.
- Execution: Only after your explicit approval are new records created in HubSpot
Cross-Product Benefit
Any paid CRM Data Backup & Restore subscription includes a monthly allowance of Emergency Unmerge operations:
- Starter: 10 EU operations/month included
- Growth: 25 EU operations/month included
- Pro: 50 EU operations/month included
- Enterprise: 200 EU operations/month included
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)
| Package | Credits | Price | Per Credit |
|---|---|---|---|
| Per-Credit (under 250) | 100 to 249 | $0.05 x qty | $0.05 |
| Per-Credit (250+) | 250+ | $0.04 x qty | $0.04 |
| Emergency | 100 | $4.99 | $0.05 |
| Emergency 250 | 250 | $9.99 | $0.04 |
| Emergency Plus | 500 | $19.99 | $0.04 |
Credit Cost by Record Complexity
| Complexity (total items) | Credits Used |
|---|---|
| 0 to 25 items | 10 |
| 26 to 100 items | 22 |
| 101 to 500 items | 50 |
| 501 to 2,000 items | 125 |
| 2,001 to 5,000 items | 250 |
| 5,001 to 10,000 items | 500 |
| 10,000+ items | 850 |
- The exact cost is shown before confirmation. Credits are charged when reconstruction begins and are automatically refunded if reconstruction fails, if execution is blocked, or if execution writes nothing to your CRM. The analysis report is yours whether or not you execute.
- Item counts are weighted (properties count double), and chain merges (records merged multiple times) add a surcharge equal to the base tier, so a chain restore can cost up to 1,700 credits
- All purchases are final and non-refundable
- Non-transferable between portals
- Do not expire
OAuth Scopes Explained
Required Scopes
| Scope | Why We Need It |
|---|---|
crm.objects.contacts.read | Read contact properties for backups, merge detection, and duplicate scanning |
crm.objects.contacts.write | Create new contact records during restore; write backup indicator properties |
crm.objects.companies.read | Read company properties for backups, merge detection, and duplicate scanning |
crm.objects.companies.write | Create new company records during restore; write backup indicator properties |
crm.objects.deals.read | Read deal properties for backups and merge detection |
crm.objects.deals.write | Create new deal records during restore; write backup indicator properties |
crm.schemas.contacts.read | Read contact property definitions to know which fields to back up |
crm.schemas.contacts.write | Create CRM Data Backup & Restore custom properties on contacts |
crm.schemas.companies.read | Read company property definitions |
crm.schemas.companies.write | Create CRM Data Backup & Restore custom properties on companies |
crm.schemas.deals.read | Read deal property definitions |
crm.schemas.deals.write | Create CRM Data Backup & Restore custom properties on deals |
oauth | Required for OAuth token refresh |
Optional Scopes
| Scope | Why |
|---|---|
tickets | Read ticket associations during Emergency Unmerge (if present) |
e-commerce | Read 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:
- HubSpot to CRM Data Backup & Restore: Property values, associations, and merge history are read for backup creation, merge detection, and duplicate scanning
- CRM Data Backup & Restore to HubSpot: New records are created during restore; backup indicator properties are written; associations are created and removed during restore operations; merges are executed via HubSpot's merge API
Data Handling & Security
Where Your Data Lives
| Data | Location | Retention |
|---|---|---|
| CRM backups | PostgreSQL on Render (Oregon, US) + lightweight indicator on HubSpot record | Per plan tier (7 to 365 days) |
| Duplicate detection results | PostgreSQL on Render | Until dismissed or merged |
| OAuth tokens (encrypted) | PostgreSQL on Render | Duration of integration |
| Billing records | Stripe | 7 years (legal) |
| Emergency Unmerge scan data | PostgreSQL on Render | Auto-deleted after 30 days |
| Advanced matching processing (Anthropic) | Anthropic servers | Deleted within 30 days |
Security Measures
- Data is encrypted in transit with TLS 1.2+ for all API traffic
- The database runs on infrastructure with disk-level encryption
- OAuth tokens are encrypted at the application layer today (Fernet / AES-128-CBC + HMAC-SHA256)
- Application-layer encryption of backup contents is being rolled out
- Database access restricted to application service only
- HTTPS enforced with HSTS headers
- Sentry error monitoring with PII sending disabled
- Render.com SOC 2 Type II certified infrastructure
- Your CRM data is never used to train models (per Anthropic Commercial Terms)
For complete details, see our Privacy Policy, Data Processing Agreement, and Security pages.
Troubleshooting
"No Backup Yet" on the Sidebar Card
This means the record has not been captured in a backup cycle yet. Backups 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 CRM Data Backup & Restore, make sure you have enabled Backup Protection in the Account Portal and the first backup will run at your chosen time.
"Token Expired" or Authorization Errors
If CRM Data Backup & Restore loses access to your HubSpot portal, the CRM card may show an authorization error. To resolve:
- Go to HubSpot Settings → Integrations → Connected Apps
- Find CRM Data Backup & Restore and disconnect it
- Reinstall from crmbackup.io
- Your account data (plan, history, credits) will be automatically reconnected
"Scan Running": Duplicate Scans (rolling out)
Duplicate detection is rolling out. Scan controls will appear in your account portal as the feature is enabled for your plan, and scan-status messages like "Scan Running" apply only once the feature is active for your portal.
Restore Button Is Disabled
Possible causes:
- Monthly limit reached: Free plan allows 3 restores/month. Upgrade or wait until the next billing cycle.
- Payment failed: Restore is disabled immediately when payment fails. Update payment at crmbackup.io/account.
- No merge detected: The record has no
hs_merged_object_ids. It may not have been merged, or HubSpot may not have recorded the merge.
Restore Completed but Some Associations Are Missing
Possible reasons:
- Association was created after the last backup: CRM Data Backup & Restore restores from the backup. Associations added between the backup and the merge are not captured.
- HubSpot rate limits: Extremely complex records (hundreds of associations) may hit HubSpot API rate limits. Wait a few minutes and check again.
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. CRM Data Backup & Restore 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 CRM Data Backup & Restore work with HubSpot Free CRM?
Yes. CRM Data Backup & Restore works with all HubSpot tiers, including the free CRM.
Do backups start automatically when I install?
No. After installing, you need to go to crmbackup.io/account, configure your object types, timezone, and backup time, then click "Enable Backup Protection." Nothing runs until you opt in.
Can I restore records that were merged before I installed CRM Data Backup & Restore?
Yes, that is what Emergency Unmerge is for. It uses advanced reconstruction to determine the probable pre-merge state, even without a backup. Paid CRM Data Backup & Restore subscribers get Emergency Unmerge for free.
Is my data safe?
Backups are stored in our PostgreSQL database, with a lightweight indicator property written to your HubSpot records. Data is encrypted in transit, the database runs on infrastructure with disk-level encryption, and application-layer encryption of backup contents is being rolled out. OAuth tokens are encrypted at the application layer today. 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 CRM Data Backup & Restore?
Your CRM data is unaffected. Custom properties remain on your records (you can delete them manually in HubSpot Settings → Properties). Our stored data (tokens, backups, logs) is deleted within 30 days.
Does CRM Data Backup & Restore work with custom objects?
Currently, CRM Data Backup & Restore supports contacts, companies, and deals. Custom object support is on our roadmap.
How is this different from a generic CRM backup tool?
CRM Data Backup & Restore is purpose-built backup and recovery for the things HubSpot calls permanent. Its superpower is recovery: it can rebuild a record absorbed by a HubSpot-UI merge and clear contamination on the survivor, and it can recover merges done in HubSpot itself. Automated backups (monthly, weekly, or daily depending on plan) are the recurring protection layer underneath, capturing pre-merge state so a merge done through CRM Data Backup & Restore can be restored with one click. A 3-stage duplicate detection pipeline is rolling out on top.
How does duplicate detection differ from HubSpot's built-in tool?
HubSpot's built-in duplicate tool uses basic matching. CRM Data Backup & Restore's duplicate detection (rolling out) adds Fellegi-Sunter probabilistic scoring, advanced matching for ambiguous pairs, and web search verification for companies. Most importantly, when you merge a duplicate through CRM Data Backup & Restore you can restore that merge with one click, and for merges done in HubSpot itself CRM Data Backup & Restore can recover the records, 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
| Plan | Support Level | Channel |
|---|---|---|
| Free | Support form | Support form |
| Starter | Email (business hours) | joshua@thirdspaced.com |
| Growth | joshua@thirdspaced.com | |
| Pro | joshua@thirdspaced.com | |
| Enterprise | joshua@thirdspaced.com |
When contacting support, include:
- Your HubSpot Portal ID
- The URL of the affected record (if applicable)
- A description of the issue and any error messages
Third Space, LLC
Email: joshua@thirdspaced.com
Website: https://crmbackup.io