CRM migration
Field-level mapping, validation, and rollback between Jarvis CRM and Salesforce Sales Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Sales Cloud.
Jarvis CRM
Source
Salesforce Sales Cloud
Destination
Compatibility
9 of 13
objects map 1:1 between Jarvis CRM and Salesforce Sales Cloud.
Complexity
BStandard
Timeline
6-10 weeks
Overview
Moving from Jarvis CRM to Salesforce Sales Cloud is a multi-phase engineering project because Jarvis has no documented public API. Instead of calling a REST endpoint, we work with the customer's FileMaker host to extract Contacts, Companies, Opportunities, Projects, Time Entries, Vendors, and Custom Properties through FileMaker export scripts or direct table access. Every Jarvis deployment has a unique schema built on FileMaker's flexible table designer, so we begin every engagement with a mandatory schema audit to identify which objects are in use, which fields exist, and which are custom. We export primary and foreign keys from all relevant tables, reconstruct relational links in Salesforce using explicit association imports rather than name-matching, and load records in dependency order (Accounts first, then Contacts, then Opportunities, then Activity history) using the Salesforce Bulk API with rate-limit handling and parent-record lookup resolution. We do not migrate FileMaker scripts, custom FileMaker workflows, QuickBooks Online integration configurations, or the Gantt layout data as structured dependencies. We deliver a written inventory of any custom scripts or automation logic requiring rebuild in Salesforce Flow by the customer's admin.
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 Jarvis CRM 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.
Jarvis CRM
Contact
Salesforce Sales Cloud
Lead or Contact (split required)
1:manyJarvis Contact records map to Salesforce Lead for unqualified prospect records and Salesforce Contact for qualified buyer records. We determine the split by evaluating the Contact's associated pipeline stage, lifecycle status (if present as a custom field), and relationship to any Jarvis Opportunity. Contacts with no Opportunity and no sales-qualified flag default to Salesforce Lead. Contacts linked to a closed-won or active Opportunity default to Salesforce Contact attached to a parent Account. We preserve the original Jarvis Contact ID as a custom field jarvis_contact_id__c on both Lead and Contact for audit reconciliation.
Jarvis CRM
Company
Salesforce Sales Cloud
Account
1:1Jarvis Company records map directly to Salesforce Account. The Company name becomes Account Name; any industry classification field becomes Industry picklist; phone, website, and address fields map to standard Account fields. Account is created before Contact import so that the AccountId lookup relationship is satisfied at the moment of Contact insert. We resolve the Account ID from the jarvis_company_id__c reference during the Contact phase.
Jarvis CRM
Opportunity
Salesforce Sales Cloud
Opportunity
1:1Jarvis Opportunity records map to Salesforce Opportunity with AccountId, OwnerId, and CloseDate resolved at migration time. The Jarvis deal value maps to Amount; deal stage maps to StageName with a mapping defined during scoping because Jarvis stage names are customer-specific. We configure Salesforce Record Types and Sales Processes to match the customer's Jarvis pipeline structure before migration begins.
Jarvis CRM
Project
Salesforce Sales Cloud
Custom Project object or Case
1:manyJarvis Project records map to a Salesforce custom Project__c object pre-created during schema design. Task structures and assignees map to ProjectTask__c records linked to Project__c. Gantt layout metadata (start dates, durations, milestones) migrates as custom fields on Project__c; raw task dependency chains are documented as a text export because Salesforce native Gantt requires PSA or an AppExchange project management tool. If the customer does not license a PSA, Projects migrate as Cases with a custom Record Type for project tracking.
Jarvis CRM
Time Entry
Salesforce Sales Cloud
Time Sheet or Custom Time Entry object
1:1Jarvis Time Entries (timecards and job-time records) map to a Salesforce custom Time_Entry__c object or to the standard Time Sheet object if the destination org includes Salesforce Health Cloud or a PSA. Billable and non-billable flags, hours, date, and linked Project or Contact references migrate as custom fields. Time_Entry_ID is preserved in jarvis_time_entry_id__c for audit trail. QuickBooks Online integration data (if live vendor billing exists in Jarvis) is flagged separately because it may belong in a financial system rather than Salesforce CRM.
Jarvis CRM
Vendor
Salesforce Sales Cloud
Account (with Vendor record type)
1:1Jarvis Vendor records map to Salesforce Account with a Vendor record type to distinguish them from customer Accounts. PO data and payment histories migrate as custom fields or related custom objects on the Account. QuickBooks Online vendor data referenced in the Jarvis integration is identified during scoping and either migrated to Salesforce or flagged for reconciliation in the customer's QuickBooks instance.
Jarvis CRM
Product and Service
Salesforce Sales Cloud
Product2
1:1Jarvis Product and Service catalog records map to Salesforce Product2 with Standard Price Book entries created during import. Item names, prices, descriptions, and any custom product fields migrate to typed Salesforce fields. Product-to-Opportunity associations are preserved as OpportunityLineItem records with Pricebook2 and Product2 references resolved at migration time.
Jarvis CRM
Task and Activity
Salesforce Sales Cloud
Task
1:1Jarvis task flows and activity records (follow-ups, assignments, internal notes) map to Salesforce Task with Status, Priority, ActivityDate, and Subject preserved. Owner assignment migrates by resolving the Jarvis user reference to a Salesforce OwnerId via the User mapping. Activity records linked to Contacts or Opportunities carry WhoId and WhatId references resolved after the parent Contact and Opportunity are imported.
Jarvis CRM
Campaign and Group
Salesforce Sales Cloud
Campaign
1:1Jarvis Campaign and contact group records map to Salesforce Campaign. Campaign metadata (name, type, start and end dates, budget) migrates to standard Campaign fields. Group membership lists migrate as Campaign Member records linked to the Campaign and the corresponding Leads or Contacts. Because Jarvis has no native marketing automation engine, campaign data is typically basic; we do not migrate engagement metrics as Activity records unless those metrics exist as explicit custom fields in the FileMaker schema.
Jarvis CRM
Custom Properties
Salesforce Sales Cloud
Custom Fields (__c)
lossyJarvis is built on FileMaker Pro and every deployment has custom fields that do not exist in a standard schema. We identify all custom properties during the mandatory schema audit, map each to a typed Salesforce custom field (Text, Number, Date, Picklist, Checkbox, or Lookup depending on the source field type), and pre-create the schema in Salesforce before data migration begins. Fields with no Salesforce equivalent are flagged in a written gap report for the customer's admin to decide on custom field creation or alternative handling.
Jarvis CRM
Attachment
Salesforce Sales Cloud
ContentDocument (Files)
1:1File attachments stored within the FileMaker instance can be exported, but attachment storage format and location vary by deployment. We identify attachment storage paths during scoping, export files in their native format, and upload them to Salesforce as ContentVersion records linked to the parent record via ContentDocumentLink. Attachment migration is scoped separately from record migration because FileMaker attachment handling requires per-deployment investigation.
Jarvis CRM
User and Owner
Salesforce Sales Cloud
User
1:1User records and owner assignments on Jarvis records are extracted from the FileMaker ACL and record-level ownership fields. We map Jarvis users to corresponding Salesforce Users by email match. Any Jarvis Owner without a matching Salesforce User goes to a reconciliation queue for the customer's admin to provision before record import resumes. OwnerId references on Opportunities, Projects, and Tasks cannot be resolved until the User mapping is complete.
Jarvis CRM
Custom FileMaker Scripts
Salesforce Sales Cloud
Documentation Only
lossyJarvis custom scripts written by The Scarpetta Group are not migrated as executable code into Salesforce. We document every active custom script identified in the FileMaker instance, describing its trigger, logic, and the records it affects. This script inventory is delivered as a written document for the customer's Salesforce admin or a Salesforce implementation partner to rebuild equivalent logic in Salesforce Flow, Apex, or a third-party automation tool.
| Jarvis CRM | Salesforce Sales Cloud | Compatibility | |
|---|---|---|---|
| Contact | Lead or Contact (split required)1:many | Fully supported | |
| Company | Account1:1 | Fully supported | |
| Opportunity | Opportunity1:1 | Fully supported | |
| Project | Custom Project object or Case1:many | Fully supported | |
| Time Entry | Time Sheet or Custom Time Entry object1:1 | Fully supported | |
| Vendor | Account (with Vendor record type)1:1 | Fully supported | |
| Product and Service | Product21:1 | Fully supported | |
| Task and Activity | Task1:1 | Fully supported | |
| Campaign and Group | Campaign1:1 | Fully supported | |
| Custom Properties | Custom Fields (__c)lossy | Mapping required | |
| Attachment | ContentDocument (Files)1:1 | Fully supported | |
| User and Owner | User1:1 | Fully supported | |
| Custom FileMaker Scripts | Documentation Onlylossy | 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.
Jarvis CRM gotchas
No documented public API means migration requires FileMaker-native exports
FileMaker schema varies per deployment because the platform is fully customizable
Customizations are not included in base pricing and require separate engagement
Data relationships between FileMaker tables must be reconstructed manually
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 audit and scoping
We connect with the customer's FileMaker host to conduct a full schema audit of the live Jarvis instance. We enumerate every table occurrence, field definition, relationship graph, and custom script in use. We identify which objects are actively populated (not just defined), which are custom, and which have inter-table dependencies. We also review the Salesforce destination org's current schema, existing custom objects, validation rules, and Record Types. The output is a written migration scope document with the object list, field map, and a dependency graph showing which records must be imported before others.
FileMaker export coordination and relationship extraction
We coordinate with the customer's FileMaker Server administrator and, if needed, The Scarpetta Group's technical team to run FileMaker export scripts across all in-use tables simultaneously. We export primary keys, foreign keys, and all data fields in parallel from Contacts, Companies, Opportunities, Projects, Time Entries, Vendors, Products, Activities, and any custom tables. We receive the export as CSV or FileMaker-native format and immediately validate record counts against what the schema audit reported. Any discrepancy triggers a re-audit before mapping begins.
Destination schema pre-creation in Salesforce Sandbox
We deploy the destination schema into a Salesforce Sandbox (Full Copy or Partial Copy) using the metadata API or change set. This includes provisioning custom objects and fields (__c API names matched to Jarvis custom field names), Record Types and Sales Processes scoped to the Jarvis pipeline structure, Page Layouts per Record Type, and any custom picklist values referenced in the field map. Validation rules are documented and flagged for potential suspension during import. The Sandbox migration serves as the reconciliation baseline before any production data moves.
Owner reconciliation and User provisioning
We extract every distinct user referenced in the Jarvis export as an Owner or assigned user and match by email against the Salesforce destination org's User table. Any Jarvis user without a matching Salesforce User is added to a reconciliation queue. The customer's Salesforce admin provisions missing Users (active for current employees, inactive for departed users whose records need to be preserved). Migration cannot proceed past this step because OwnerId references are required on Opportunity, Project, and Task records.
Production migration in dependency order
We run production migration in record-dependency order: Accounts (from Companies), Contacts (with AccountId resolved and Lead-Contact split applied), Opportunities (with AccountId, OwnerId, and RecordTypeId resolved), Products and Pricebook entries, Project records (or Case records), Time Entries, Activity history (Tasks via Bulk API 2.0 with WhoId and WhatId resolution), Vendors, Attachments (ContentDocument upload), and Custom Objects last (because they may have lookups to any of the preceding objects). Each phase emits a row-count reconciliation report. Bulk API 2.0 handles chunking and exponential backoff on rate-limit responses.
Cutover, delta sync, and automation rebuild handoff
We freeze Jarvis writes during cutover, run a final delta migration of any records modified during the migration window, then enable Salesforce as the system of record. We deliver the custom script inventory document describing every active FileMaker script and its recommended Salesforce Flow or Apex equivalent. We do not rebuild FileMaker custom scripts as Salesforce Flow inside the migration scope; that is a separate engagement or an internal admin task. We support a one-week hypercare window to resolve record-level reconciliation issues surfaced by the customer's team.
Platform deep dives
Jarvis CRM
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 Jarvis CRM 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
Jarvis CRM: Not publicly documented.
Data volume sensitivity
Jarvis CRM doesn't expose a bulk API — REST + parallelization used for high-volume runs.
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 Jarvis CRM to Salesforce Sales Cloud migration scoping. Not seeing yours? Book a call.
Walk through your Jarvis CRM 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 Jarvis CRM
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.