CRM migration
Field-level mapping, validation, and rollback between AgileCase and Freshsales. We move data and schema; workflows are rebuilt natively in Freshsales.
AgileCase
Source
Freshsales
Destination
Compatibility
12 of 12
objects map 1:1 between AgileCase and Freshsales.
Complexity
BStandard
Timeline
24–72 hours
Overview
AgileCase is a case-management platform built around Cases, Contacts, Companies, Tasks, Notes, and Workflow automations. FreshSales is a sales CRM organized around Leads, Contacts, Accounts, Deals, Products, and Sales Activities. The two data models share enough structure to map Cases → Deals, Contacts → Contacts, and Companies → Accounts, but FreshSales enforces a mandatory AccountId on every Contact — contacts without a primary company in AgileCase require a default Account record or your specified rule before migration validates. We extract AgileCase data via REST API, resolving owners by email match against FreshSales users. Custom AgileCase properties become FreshSales custom fields; relationship logic that has no CRM equivalent is preserved as reference text. Pipeline stages are mapped value-by-value to FreshSales pick-list stages per pipeline. Workflows, automations, and email templates are not migratable — they must be rebuilt in FreshSales Workflows after go-live. Files, notes, custom field values, and audit history do migrate. A 24–48 hour delta window captures any records modified during cutover. FlitStack AI provides an audit log and one-click rollback if reconciliation fails.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a AgileCase object lands in Freshsales, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
AgileCase
Case
Freshsales
Deal
1:1Cases map 1:1 to FreshSales Deals. Case name becomes Deal name, case value/amount maps to FreshSales Amount, and Case status is mapped value-by-value to FreshSales Deal stage per pipeline. Owner resolves by email match. FreshSales Deal Amount field accepts decimal values; case amounts with currency symbols are stripped of non-numeric characters before insert.
AgileCase
Contact
Freshsales
Contact
1:1Contacts map to FreshSales Contacts, but FreshSales requires an AccountId on every Contact record. AgileCase contacts without a primary company are linked to a default 'Unassigned Accounts' record or your specified default Account. Email is the unique identifier for deduplication.
AgileCase
Company
Freshsales
Account
1:1Companies map 1:1 to FreshSales Accounts. Company name becomes Account Name; domain/website maps to Account Website. AgileCase parent-child company hierarchies map to FreshSales Parent Account field. Parent records are migrated before child records to resolve the ParentId foreign key correctly.
AgileCase
Task
Freshsales
Task
1:1AgileCase Tasks map directly to FreshSales Tasks. Subject, description, due date, priority, and status all map field-by-field. Owner resolution by email match. Completed tasks carry their completion timestamp; open tasks carry their original due date. FreshSales task status values (Open, Completed) are mapped from AgileCase task status values.
AgileCase
Note
Freshsales
Note
1:1AgileCase Notes map to FreshSales Notes. Note title becomes the Note subject; note body becomes the Note body. Original create date is preserved as a custom Created_Date__c field. Rich-text formatting in AgileCase notes is flattened to plain text for FreshSales Note compatibility.
AgileCase
Attachment / File
Freshsales
File / Attachment
1:1AgileCase file attachments are downloaded and re-uploaded to FreshSales as Files. File name and description are preserved. FreshSales file size limits (25MB per file by default) apply; files exceeding the limit are flagged for manual handling. Inline images in notes are extracted and rehosted as separate files.
AgileCase
User
Freshsales
User
1:1AgileCase users are matched to FreshSales users by email address. Unmatched AgileCase users are flagged before migration; you can either invite them to FreshSales first or assign their records to a fallback user. System-level or admin users without email equivalents are mapped to a designated FreshSales admin.
AgileCase
Pipeline / Case Status
Freshsales
Pipeline + Deal Stage
1:1AgileCase pipeline and case-status names are mapped value-by-value to FreshSales Deal pipeline stages. Each AgileCase pipeline becomes a FreshSales pipeline with its own stage pick-list. Stage probability and forecast category are re-applied from FreshSales defaults or your specified values during mapping setup.
AgileCase
Tag
Freshsales
Tag
1:1AgileCase tags migrate to FreshSales tags as string arrays. Tags on Cases become tags on Deals; tags on Contacts become tags on Contacts. FreshSales tag API accepts arrays of strings and creates tags on the target record. Duplicate tag names across objects are handled via namespaced prefixes if needed.
AgileCase
Custom Field / Custom Property
Freshsales
Custom Field / Custom Module
1:1AgileCase custom fields on Cases, Contacts, and Companies require pre-created FreshSales custom fields or custom modules before migration. We deliver a custom-field setup plan listing each AgileCase property, its data type, and the FreshSales field type to create. Complex AgileCase custom objects with many-to-many relationships become FreshSales custom modules with lookup fields.
AgileCase
Workflow / Automation
Freshsales
Not migratable
1:1AgileCase automations (task assignments, email triggers, field updates, case-plan rules) cannot be migrated to FreshSales Workflows. The two platforms use different rule engines with different trigger-action models. We export AgileCase workflow definitions as a structured document to serve as a rebuild reference for your FreshSales admin.
AgileCase
Email Template
Freshsales
Email Template
1:1AgileCase email templates are not migratable. FreshSales has its own email template system tied to Sales Sequences and Workflows. We export AgileCase template content (subject, body, merge fields) as a reference document for your team to recreate in FreshSales Templates post-migration.
| AgileCase | Freshsales | Compatibility | |
|---|---|---|---|
| Case | Deal1:1 | Fully supported | |
| Contact | Contact1:1 | Fully supported | |
| Company | Account1:1 | Fully supported | |
| Task | Task1:1 | Fully supported | |
| Note | Note1:1 | Fully supported | |
| Attachment / File | File / Attachment1:1 | Fully supported | |
| User | User1:1 | Fully supported | |
| Pipeline / Case Status | Pipeline + Deal Stage1:1 | Fully supported | |
| Tag | Tag1:1 | Fully supported | |
| Custom Field / Custom Property | Custom Field / Custom Module1:1 | Fully supported | |
| Workflow / Automation | Not migratable1:1 | Fully supported | |
| Email Template | Email Template1:1 | Fully supported |
Gotchas + challenges
Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.
AgileCase gotchas
Audit trail retention is tier-dependent
Post-termination 30-day export window in DPA
Blob storage document extraction requires flattening
Freshsales gotchas
Freddy AI is Pro-tier only despite heavy marketing
Post-migration emails and sequences are disabled
Bot session credits are a one-time 500-session allocation
Phone credits charged per minute with no cap
File storage limits scale with plan tier
Pair-specific challenges
Migration approach
Set up FreshSales schema before migration
Before any data moves, your FreshSales admin creates the required custom fields, pipelines, and stage pick-list values. We deliver a schema setup plan based on your AgileCase custom property count, pipeline count, and case-stage configuration. Pipelines must exist in FreshSales before deals can be inserted with valid stage values. Custom fields must be created so migration can write to them on insert rather than backfilling afterward.
Extract AgileCase data and resolve owners
FlitStack AI connects to the AgileCase REST API using scoped read credentials to extract Cases, Contacts, Accounts, Tasks, Notes, and Files. AgileCase users are matched against FreshSales users by email — unmatched users are flagged so you can invite them to FreshSales or assign their records to a fallback owner. No record lands in FreshSales without a valid OwnerId lookup.
Run a sample migration with field-level diff
A representative slice of 50–100 records migrates first, spanning cases, contacts, accounts, and tasks. We generate a field-level diff between the AgileCase source values and the FreshSales destination values so you can verify stage mapping, AccountId resolution for contacts without companies, owner matching, and tag formatting before the full run commits. This validation step ensures data integrity and catches mapping errors early.
Execute full migration with delta-pickup window
The full migration runs against FreshSales, inserting records in dependency order (Accounts first, then Contacts with AccountId, then Deals with stage mapping). A 24–48 hour delta-pickup window captures any AgileCase records created or modified during the cutover period. All operations are logged to an audit trail. If reconciliation finds discrepancies, one-click rollback reverts the FreshSales instance to its pre-migration state.
Platform deep dives
AgileCase
Source
Strengths
Weaknesses
Freshsales
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 2 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across AgileCase and Freshsales.
Object compatibility
2 of 8 objects need a mapping; the rest are 1:1.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
8-object category — typical timelines run 2–7 days end-to-end.
API constraints
AgileCase: Not publicly documented.
Data volume sensitivity
AgileCase exposes a bulk API — large-volume migrations stream efficiently.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during AgileCase to Freshsales migration scoping. Not seeing yours? Book a call.
Walk through your AgileCase to Freshsales migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave AgileCase
Other ways to arrive at Freshsales
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.