CRM migration
Field-level mapping, validation, and rollback between AgileCase and Salesforce Sales Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Sales Cloud.
AgileCase
Source
Salesforce Sales Cloud
Destination
Compatibility
12 of 12
objects map 1:1 between AgileCase and Salesforce Sales Cloud.
Complexity
BStandard
Timeline
48–72 hours
Overview
AgileCase stores all data under a Case as the top-level object — contacts, companies, files, and custom properties are all subordinate to a case record. Salesforce Sales Cloud uses a relational model: Accounts (companies) come first, Contacts attach to Accounts, and Cases stand alone as a separate object. FlitStack AI maps AgileCase Cases directly to Salesforce Cases, preserving all standard fields (Subject, Description, Status, Priority, Origin) and translating AgileCase custom fields into Salesforce __c custom fields. Contact and company data migrate to their Salesforce equivalents with AccountId and foreign-key resolution handled automatically. File attachments re-upload as Salesforce Files linked via ContentDocumentLink. AgileCase automations, workflows, and email templates do not migrate — they must be rebuilt in Salesforce Flow and Salesforce email templates. The migration uses scoped read access to AgileCase's API, extracts all objects in dependency order, and inserts into Salesforce via the Bulk API with a delta-pickup window capturing in-flight changes at cutover. FlitStack sequences the migration Accounts → Contacts → Cases → Custom Objects so foreign keys resolve correctly on first pass.
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 Salesforce Sales Cloud, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
AgileCase
Case
Salesforce Sales Cloud
Case
1:1AgileCase Cases migrate directly to Salesforce Cases. All standard fields — Subject, Description, Status, Priority, Origin, IsClosed — map 1:1. Custom AgileCase fields require __c custom fields pre-created in Salesforce before migration inserts run. If AgileCase uses custom Status or Priority pick-list values, those need explicit value-by-value mapping to Salesforce pick-list options to avoid insert failures.
AgileCase
Contact
Salesforce Sales Cloud
Contact
1:1AgileCase Contacts migrate to Salesforce Contacts. All standard fields — FirstName, LastName, Email, Phone, MobilePhone, Title, MailingStreet — carry over directly. A Salesforce Contact requires an AccountId lookup to an Account record, so we resolve each contact's primary AgileCase company to a Salesforce Account before inserting contacts. Contacts without a company link attach to a default placeholder Account.
AgileCase
Company
Salesforce Sales Cloud
Account
1:1AgileCase Companies map to Salesforce Accounts. The Name, Website, Phone, and Industry fields map directly. Address fields migrate to the Account's billing or shipping address compound field. Parent-company hierarchies in AgileCase map to Account.ParentId in Salesforce. If AgileCase stores annual revenue or employee count, those map to Account.AnnualRevenue and Account.NumberOfEmployees.
AgileCase
Case-CaseContact Junction
Salesforce Sales Cloud
CaseContactRelation
1:1AgileCase allows multiple contacts linked to a single Case. Salesforce handles this via the CaseContactRelation object (available as a standard object in most Salesforce editions). Each AgileCase contact-case link becomes a CaseContactRelation record with CaseId and ContactId. The mapping requires the Case and Contact records to already exist in Salesforce, so we sequence this as the final step in the migration.
AgileCase
Case Owner (AgileCase User)
Salesforce Sales Cloud
Case OwnerId
1:1AgileCase stores the case owner as a user reference. We resolve each owner by email match against Salesforce Users — this is the standard cross-platform owner-resolution pattern. If no matching Salesforce User exists, we flag the record before migration and assign it to a fallback owner that your team specifies. Unresolved owners block Case inserts in Salesforce because OwnerId cannot be null on a Case record.
AgileCase
Custom Field (AgileCase)
Salesforce Sales Cloud
Custom Field (__c)
1:1Every AgileCase custom field requires a pre-created Salesforce custom field before migration. We deliver a custom field manifest that lists each AgileCase field label, its Salesforce API name (with __c suffix), data type, and pick-list values. Your Salesforce admin creates these fields before the migration run. The manifest includes field-level ordering so custom fields are created before the objects that reference them.
AgileCase
Custom Object (AgileCase Enterprise)
Salesforce Sales Cloud
Custom Object (__c)
1:1AgileCase Enterprise customers who created custom objects map these 1:1 to Salesforce custom objects. Each custom object's fields become Salesforce custom fields on the new custom object. Custom-object records migrate with their parent records using the same dependency-ordered insertion sequence.
AgileCase
Attachment / File
Salesforce Sales Cloud
ContentDocument / ContentVersion
1:1AgileCase file attachments re-upload to Salesforce as Salesforce Files — stored as ContentVersion records and linked to the parent Case via ContentDocumentLink. The original file name, MIME type, body content, and any inline text are preserved. File size limits per Salesforce edition apply (25 MB default per file; chunking for larger files).
AgileCase
Audit History (AgileCase 180-day trail)
Salesforce Sales Cloud
Custom Datetime Fields + Case History Tracking
1:1AgileCase tracks a 180-day audit trail of case field changes on the Professional plan. We extract case history records (field name, old value, new value, changed-by user, changed-at timestamp) and surface them in Salesforce as custom datetime fields on the Case record for cross-object audit continuity. Salesforce's native Case History feature also tracks Status and Priority changes.
AgileCase
Workflow / Automation
Salesforce Sales Cloud
Salesforce Flow
1:1AgileCase workflows and automations use AgileCase's proprietary rule engine and do not have a Salesforce equivalent. Triggers, conditions, and actions are not portable between the two platforms. We export your AgileCase workflow definitions as a structured reference document so your Salesforce admin can rebuild equivalent logic in Flow or Process Builder after migration.
AgileCase
Email Template
Salesforce Sales Cloud
Salesforce Email Template
1:1AgileCase email templates use a template format that is not directly compatible with Salesforce's HTML-based email template engine. Email templates must be rebuilt manually in Salesforce's Email Template object after migration. We provide a list of all AgileCase email templates with their field merges so your admin can reconstruct them.
AgileCase
Report / Dashboard
Salesforce Sales Cloud
Salesforce Report / Dashboard
1:1AgileCase custom reports (10 on Professional, unlimited on Business and Enterprise) cannot be exported in a format that Salesforce imports. The underlying data migrates, so reports can be rebuilt in Salesforce's reporting module after go-live. We include a report inventory as part of the migration package so nothing is missed during the rebuild phase.
| AgileCase | Salesforce Sales Cloud | Compatibility | |
|---|---|---|---|
| Case | Case1:1 | Fully supported | |
| Contact | Contact1:1 | Fully supported | |
| Company | Account1:1 | Fully supported | |
| Case-CaseContact Junction | CaseContactRelation1:1 | Fully supported | |
| Case Owner (AgileCase User) | Case OwnerId1:1 | Fully supported | |
| Custom Field (AgileCase) | Custom Field (__c)1:1 | Fully supported | |
| Custom Object (AgileCase Enterprise) | Custom Object (__c)1:1 | Fully supported | |
| Attachment / File | ContentDocument / ContentVersion1:1 | Fully supported | |
| Audit History (AgileCase 180-day trail) | Custom Datetime Fields + Case History Tracking1:1 | Fully supported | |
| Workflow / Automation | Salesforce Flow1:1 | Fully supported | |
| Email Template | Salesforce Email Template1:1 | Fully supported | |
| Report / Dashboard | Salesforce Report / Dashboard1: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
Salesforce Sales Cloud gotchas
Workflow Rules and Process Builder are retired
Bulk API batch quota exhaustion during large imports
Storage overage billing is non-obvious
Account-Contact many-to-many relationship mapping
Territory and team member import ordering dependencies
Pair-specific challenges
Migration approach
Schema validation and discovery
FlitStack AI validates both platforms' schemas before any data moves. We confirm which AgileCase fields are standard vs. custom, identify custom pick-list values, count all active cases and contacts, and audit the relationship model. On the Salesforce side, we confirm the edition, available API quota, and identify any pre-existing custom fields that might conflict with AgileCase field names. This phase produces a validated field manifest and a migration sequencing plan.
Extract and transform AgileCase data
We extract all Cases, Contacts, Companies, custom-object records, and file attachments from AgileCase via its API. Data is cleaned and transformed per the field mapping manifest — date formats are normalized, email addresses are validated for owner resolution, and custom field values are prepared for Salesforce pick-list mapping. The scoped read-access token is set up so AgileCase remains fully operational for your team throughout the process.
Resolve owners and build junction records
AgileCase case owners are resolved by email match against Salesforce Users. We build a lookup table and flag any owners without a Salesforce account. Your team either invites those users before migration or designates a fallback owner. We also build CaseContactRelation junction records for all multi-contact cases at this stage, so junction inserts are ready to run after parent records land in Salesforce.
Run sample migration with field-level diff
A representative slice — typically 5–10% of records spanning cases, contacts, accounts, and attachments — migrates first. We generate a field-level diff between the AgileCase source values and the Salesforce destination fields so you can verify that custom field mapping, owner resolution, and file attachment linkage are correct before the full run. You review and approve the sample before we commit to the full migration.
Full migration with delta pickup and rollback
The full data load executes against Salesforce using Bulk API. A 24–48 hour delta-pickup window captures any cases or contacts created or modified in AgileCase during the migration window. All operations are logged in an audit trail. After insertion, we run a reconciliation check comparing record counts and a spot-check of field values. If reconciliation fails, one-click rollback reverts Salesforce to its pre-migration state so the team can re-diagnose and retry.
Platform deep dives
AgileCase
Source
Strengths
Weaknesses
Salesforce Sales Cloud
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 Salesforce Sales Cloud.
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 Salesforce Sales Cloud migration scoping. Not seeing yours? Book a call.
Walk through your AgileCase to Salesforce Sales Cloud 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 Salesforce Sales Cloud
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.