CRM migration

Migrate from ZeyOS to Salesforce Sales Cloud

Field-level mapping, validation, and rollback between ZeyOS and Salesforce Sales Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Sales Cloud.

ZeyOS logo

ZeyOS

Source

Salesforce Sales Cloud

Destination

Salesforce Sales Cloud logo

Compatibility

67%

12 of 18

objects map 1:1 between ZeyOS and Salesforce Sales Cloud.

Complexity

BStandard

Timeline

3-5 weeks

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

Moving from ZeyOS to Salesforce is a structural migration that requires resolving several platform-level differences before any records move. ZeyOS stores date columns as Unix int8 epoch values; we convert each one to an ISO 8601 string and validate the range against Salesforce's supported date window before import. ZeyOS marks invoices, orders, and quotes as immutable post-booking; we sequence them in strict chronological order and flag any out-of-sequence financial records for customer review before insertion. ZeyOS has no bulk API — we paginate through the REST endpoint at cloud.zeyos.com/{INSTANCE}/api/v1/ and insert records individually with parallelization and exponential backoff. We map ZeyOS Activities (calls, emails, meetings, notes) to Salesforce Task, Event, and EmailMessage objects with WhoId and WhatId resolved to the migrated Contact and Account IDs. Projects and time-tracking data require a custom object strategy in Salesforce since no standard Project object exists. Workflows, iXML scripts, and custom automation logic do not migrate as code; we deliver a written inventory of every active workflow for the customer's admin to rebuild in Salesforce Flow. File attachments stored as binary blobs in the ZeyOS files table require individual REST retrieval and ContentVersion re-upload to Salesforce.

Field-level fidelity

Every standard and custom field arrives verified.

Schema-aware mapping

AI proposes the map; you confirm before any record moves.

Relationships preserved

Parent–child, lookups, and ownership stay linked.

Full activity history

Calls, emails, meetings — with original timestamps.

Attachments & notes

Documents, uploads, and inline notes move with the record.

Why teams make this switch

Two sides of the same decision

Leaving

ZeyOS logo

ZeyOS

What's pushing teams away

  • Very limited public review presence (only 1 verified G2 review, sparse Capterra coverage) makes it hard for prospective customers to gauge long-term reliability.
  • Smaller vendor footprint compared to Odoo, NetSuite, or HubSpot raises concerns about long-term product support and roadmap stability.
  • Custom iXML scripting layer adds development overhead for teams that want standard integrations without writing custom code.

Choosing

Salesforce Sales Cloud logo

Salesforce Sales Cloud

What's pulling them in

  • The AppExchange marketplace with 5,000+ prebuilt apps gives enterprises integrations for nearly every business workflow without custom development.
  • Native Einstein AI for lead scoring, opportunity insights, and predictive forecasting adds intelligence without a separate platform purchase.
  • Territory management, multi-currency support, and advanced forecasting satisfy the needs of complex B2B sales organizations with structured revenue teams.
  • Slack, Tableau, and CPQ are deeply integrated into the core platform, keeping the sales stack unified for teams already in the Salesforce ecosystem.
  • Organizations with a large, established Salesforce implementation choose it because switching costs — integrations, custom code, trained admins — are prohibitive.

Object mapping

How ZeyOS objects map to Salesforce Sales Cloud

Each row shows how a ZeyOS 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.

ZeyOS

Accounts

maps to

Salesforce Sales Cloud

Account

1:1
Fully supported

ZeyOS Accounts map directly to Salesforce Account as the primary company-level record. The account name, address fields, phone, and website transfer to the corresponding Account fields. Account is the parent of all Contact records in the destination, so we create Account before any Contact import to satisfy the AccountId Lookup foreign key at insert time. We use the Account name as the dedupe key during import.

ZeyOS

Contacts

maps to

Salesforce Sales Cloud

Contact

1:1
Fully supported

ZeyOS Contacts map to Salesforce Contact with the parent AccountId resolved at migration time via email-domain or name matching against the migrated Accounts. The extdata fields (nickname, additional address fields) transfer to custom Contact fields created during schema design. Any ZeyOS Contact without a matching Account is held in a reconciliation queue for the customer to resolve before import resumes.

ZeyOS

Leads

maps to

Salesforce Sales Cloud

Lead

1:1
Mapping required

ZeyOS Leads map directly to Salesforce Lead. Lead status, source, and rating migrate to the corresponding Salesforce Lead fields. Any custom lead-scoring or lead-source fields stored in ZeyOS extdata transfer to custom Lead fields. We flag any ZeyOS Lead with no email address for customer review because Salesforce requires an email format for standard Lead creation.

ZeyOS

Items

maps to

Salesforce Sales Cloud

Product2

1:1
Fully supported

ZeyOS Items (product catalog with barcode, model, and custom fields) map to Salesforce Product2. The Item name becomes Product Name, the item code becomes Product Code, and a Standard Price Book entry is created during import. Inventory quantities from ZeyOS's automated stock transactions do not map to a native Salesforce field and require a custom field or a separate inventory management AppExchange package post-migration.

ZeyOS

Projects

maps to

Salesforce Sales Cloud

Custom Project object (__c)

1:many
Fully supported

ZeyOS Projects have no native Salesforce equivalent — Salesforce Sales Cloud has no standard Project object. We create a custom Project__c object during schema design with fields for name, description, status, start date, and end date. Child ZeyOS Tasks and time entries reference the migrated Project__c ID as their WhatId. The customer may alternatively assign Projects to a third-party project management AppExchange package installed post-migration.

ZeyOS

Tasks

maps to

Salesforce Sales Cloud

Task

1:1
Fully supported

ZeyOS Tasks belonging to Projects map to Salesforce Task with the WhatId resolved to the migrated Project__c ID. Assignee, due date, priority, and status transfer directly. Tasks without a parent Project map with WhatId set to the related Account or Contact. The original ZeyOS creationdate Unix timestamp is converted to ActivityDate on the Salesforce Task.

ZeyOS

Tickets

maps to

Salesforce Sales Cloud

Case

1:1
Fully supported

ZeyOS Tickets (helpdesk module with email integration and subject-line ticket numbering) map to Salesforce Case if the destination org includes Service Cloud. Ticket subject, description, status, priority, and origin migrate to the corresponding Case fields. Email thread history migrates as EmailMessage records linked to the Case via ParentId. Ticket custom fields from extdata transfer to custom Case fields.

ZeyOS

Activities

maps to

Salesforce Sales Cloud

Task, Event, EmailMessage

1:many
Fully supported

ZeyOS Activities (calls, emails, meetings, and notes) split by type across Salesforce Task, Event, and EmailMessage. Calls map to Task with TaskSubtype = Call and call duration preserved. Emails map to Salesforce EmailMessage records linked to a parent Task record on the activity timeline. Meetings map to Event with StartDateTime, EndDateTime, and Location preserved. All activities resolve WhoId to the migrated Contact or Lead and WhatId to the related Account or Opportunity.

ZeyOS

Users

maps to

Salesforce Sales Cloud

User

1:1
Fully supported

ZeyOS Users map to Salesforce User records by email match. We extract all distinct ZeyOS owner IDs referenced on Contacts, Accounts, Projects, and Tickets and match them against the destination org's User table by email. Users without a matching Salesforce User go to a reconciliation queue for the customer's admin to provision before record import continues, because OwnerId is required on most standard object inserts.

ZeyOS

Quotes

maps to

Salesforce Sales Cloud

Quote

1:1
Fully supported

ZeyOS Quotes map to Salesforce Quote when the destination org includes Sales Cloud with the Quote object enabled. Quote status, expiration date, and line items map to the QuoteLineItems table with the Pricebook2 reference resolved at migration time. Quote PDFs are not stored as binary attachments in ZeyOS and do not migrate; the customer retains quote records as data-only.

ZeyOS

Orders

maps to

Salesforce Sales Cloud

Order

1:1
Fully supported

ZeyOS Orders map to Salesforce Order linked to the parent Account. Order status, order date, and total amount transfer directly. Order line items map to OrderProduct records. We resolve the Pricebook2 reference before inserting line items. Note that ZeyOS marks orders as locked once the linked delivery is posted; we check the order status and flag any booked order for chronological review before import.

ZeyOS

Deliveries

maps to

Salesforce Sales Cloud

Custom Delivery__c object

lossy
Fully supported

ZeyOS Deliveries (automated stock transactions linked to orders) have no direct Salesforce standard object equivalent. We create a custom Delivery__c object with fields for delivery date, status, linked order reference, and stock impact. Stock quantity changes from ZeyOS's automated inventory transactions do not map to Salesforce native fields and require a custom field or a separate inventory management AppExchange package post-migration.

ZeyOS

Invoices

maps to

Salesforce Sales Cloud

Custom Invoice__c object

lossy
Fully supported

ZeyOS Invoices are audit-proof — once booked, they cannot be edited or deleted via the ZeyOS API. We create a custom Invoice__c object to preserve the read-only state. The invoice date, amount, status, and line items migrate as custom fields. We sequence invoice imports in strict chronological order by invoice date and flag any out-of-sequence records for manual review before insertion to avoid locked-record conflicts. The customer confirms invoice chronology during scoping before migration begins.

ZeyOS

Time Entries

maps to

Salesforce Sales Cloud

Custom TimeEntry__c object

1:1
Fully supported

ZeyOS Time Entries (billable or non-billable hours linked to Projects, Tasks, or Tickets) map to a custom TimeEntry__c object with fields for hours, date, description, billable flag, and a lookup to the parent Project__c or Case. OwnerId resolves to the migrated Salesforce User. ZeyOS's creationdate Unix epoch timestamp converts to the EntryDate custom field.

ZeyOS

Contracts

maps to

Salesforce Sales Cloud

Contract

1:1
Mapping required

ZeyOS Contracts (subscription or service agreements tied to Accounts) map to Salesforce Contract with the AccountId resolved to the migrated Account. Contract start date, end date, and status transfer directly. Renewal terms and contract-specific custom clauses from extdata transfer to custom Contract fields. We flag contracts with missing Account references for customer review before import.

ZeyOS

Documents

maps to

Salesforce Sales Cloud

ContentDocument

1:1
Mapping required

ZeyOS Documents are binary blobs stored in the binfile column of the files table, retrieved individually via the ZeyOS REST API. We download each file, determine its MIME type, and re-upload as a Salesforce ContentVersion record linked via ContentDocumentLink to the parent record (Account, Contact, Opportunity, Case, or Project__c). Files exceeding 25MB are flagged for customer review before import because Salesforce has a 25MB ContentVersion limit per file.

ZeyOS

Custom Fields

maps to

Salesforce Sales Cloud

Custom Fields

lossy
Mapping required

ZeyOS custom fields exposed via the fields table and extdata JSON pattern migrate to Salesforce custom fields on the corresponding object. We read the ZeyOS field definitions during discovery, create matching Salesforce custom fields (with __c suffix) of the appropriate data type during schema design, and then import extdata values as Salesforce field values. Picklist-style extdata values map to Salesforce picklist or multi-select picklist fields.

ZeyOS

iXML Scripts

maps to

Salesforce Sales Cloud

None (documentation only)

lossy
Fully supported

ZeyOS iXML scripting logic (custom process automation written in ZeyOS's proprietary scripting language) does not migrate. We deliver a written inventory of every active iXML script during scoping, documenting its trigger, conditions, actions, and the recommended Salesforce Flow equivalent. The customer's admin or a Salesforce implementation partner rebuilds the automation logic post-migration. This is outside standard migration scope.

Gotchas + challenges

What specifically takes care here

Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.

ZeyOS logo

ZeyOS gotchas

High

Audit-locked invoices block post-import edits

High

No documented bulk API forces iterative record-by-record migration

Medium

Unix epoch timestamps require explicit conversion

Medium

File attachments require binary blob download from REST API

Low

Token auth without OAuth limits automation scope

Salesforce Sales Cloud logo

Salesforce Sales Cloud gotchas

High

Workflow Rules and Process Builder are retired

High

Bulk API batch quota exhaustion during large imports

Medium

Storage overage billing is non-obvious

Medium

Account-Contact many-to-many relationship mapping

Low

Territory and team member import ordering dependencies

Pair-specific challenges

  • ZeyOS invoices are immutable post-booking

    ZeyOS marks invoices as locked once they transition to a booked state — they cannot be edited or deleted via the API after that point. If imported out of chronological order, locked records will cause import failures with no ability to correct the sequence in ZeyOS. We sequence all financial records in strict chronological order by invoice date before any insertion begins. The customer confirms their complete invoice chronology during scoping. Any out-of-sequence invoices are flagged for manual customer review before we proceed.

  • No bulk API forces record-by-record migration

    ZeyOS exposes only a REST API at cloud.zeyos.com/{INSTANCE}/api/v1/ with no batch or bulk import endpoint. Large migrations with 50,000+ records require iterative record-by-record API calls. We paginate through results, parallelize inserts where the API permits, and implement exponential backoff on rate-limit responses to stay within safe request windows. This increases migration time proportionally with record count, and we price accordingly.

  • Unix epoch timestamps require explicit conversion

    ZeyOS stores creationdate and all timestamp columns as int8 Unix epoch values (seconds since 1970-01-01). Salesforce's Bulk API and REST API accept ISO 8601 datetime strings. We explicitly convert every epoch value before insertion, validate that the resulting date falls within Salesforce's supported date range (1700-01-01 to 4000-12-31), and flag any date that does not for customer review.

  • Binary file blobs require individual download and re-upload

    ZeyOS stores file content in the binfile column of the files table, retrieved as binary blobs via the REST API. We cannot stream files through a bulk endpoint — each attachment requires an individual download call followed by a ContentVersion multipart upload to Salesforce. Attachments exceeding 25MB exceed Salesforce's per-file limit and are flagged for customer review before import. Non-standard MIME types require additional MIME-type mapping.

  • Token auth lacks OAuth 2.0 scope for broad integrations

    ZeyOS uses token-based authentication generated via its Auth API rather than OAuth 2.0. Tokens are per-instance and have no publicly documented expiration policy. We store tokens securely during migration and rotate if the API returns authentication errors mid-migration. The lack of OAuth 2.0 means that ZeyOS cannot be connected to modern integration platforms (MuleSoft, Workato, Zapier) that require OAuth; this does not affect the migration but limits future connectivity options.

Migration approach

Six steps for a successful ZeyOS to Salesforce Sales Cloud data migration

  1. Discovery and scoping

    We audit the ZeyOS REST API schema across all objects, enumerating record counts for Accounts, Contacts, Leads, Items, Projects, Tasks, Tickets, Contracts, Quotes, Orders, Deliveries, Invoices, Time Entries, Activities, Documents, and custom fields. We identify the active iXML scripts for the automation inventory. We review any existing Salesforce destination org (or confirm that a new org is being provisioned) and determine which Salesforce edition and optional Service Cloud license applies. The discovery output is a written migration scope with object counts, a preliminary field mapping, and a fixed price quote.

  2. Schema design and Salesforce customization

    We create the destination Salesforce schema in a Sandbox org. This includes provisioning the custom Project__c, TimeEntry__c, Delivery__c, and Invoice__c objects; creating custom fields for ZeyOS extdata properties and financial metadata; configuring Record Types and Sales Processes if the customer uses multiple opportunity pipelines; and setting up the Quote object and Pricebook. We document the field-level mapping from every ZeyOS column to every Salesforce field, including type conversions for dates, numbers, and picklist values. Custom fields and custom objects are deployed via metadata API or change set into Sandbox for customer validation before production.

  3. Sandbox migration and reconciliation

    We run a full migration into a Salesforce Sandbox using production-like data volumes. The customer's admin reviews 25-50 randomly selected records for each major object, cross-checking values against the ZeyOS source. We verify that Activities land in the correct Contact timeline, that parent-child relationships (Account-Contact, Project-Task) resolve correctly, and that binary files attach to the right records. The customer signs off the Sandbox validation before production migration begins. Any field mapping corrections happen here.

  4. User provisioning and owner reconciliation

    We extract every distinct ZeyOS owner ID referenced across all migrating objects and match by email against the destination Salesforce org's User table. Owners without a matching User go to a reconciliation queue. The customer's Salesforce admin provisions any missing Users and sets them active or inactive based on whether the ZeyOS user account is still active. Migration cannot proceed past record imports until the OwnerId foreign key is resolved because most standard Salesforce objects require a valid OwnerId at insert.

  5. Production migration in dependency order

    We execute production migration in strict record-dependency order. Accounts (from ZeyOS Accounts) are inserted first. Contacts and Leads follow with AccountId resolved to the migrated Account. Opportunities, Quotes, and Orders insert next with AccountId and OwnerId resolved. Products (from ZeyOS Items) and Pricebook entries insert before line items. Projects__c, then Tasks and TimeEntry__c with Project__c and Case__c lookups resolved. Cases (from ZeyOS Tickets) with Activity history via Bulk API. Custom Invoice__c records insert last, in strict chronological order by invoice date, with any out-of-sequence records flagged and held for customer review before insertion. Documents attach via ContentVersion uploads with files over 25MB flagged. Each phase emits a row-count reconciliation report before the next phase begins.

  6. Cutover, delta sync, and handoff

    We freeze ZeyOS writes during the cutover window, run a final delta migration of any records created or modified during the migration run, then hand the Salesforce org to the customer as the system of record. We deliver the iXML script inventory document listing every active ZeyOS automation with its trigger, conditions, actions, and a recommended Salesforce Flow equivalent. We support a one-week hypercare window for reconciliation issues raised by the customer's team. Workflow rebuild, Flow configuration, and admin training are outside standard migration scope and are separate engagements.

Platform deep dives

Context on both ends of the pair

ZeyOS logo

ZeyOS

Source

Strengths

  • Unified platform combining CRM, ERP, and Groupware under a single subscription reduces tooling sprawl.
  • Free tier for up to five users enables teams to onboard and evaluate the platform without upfront cost.
  • Open PostgreSQL schema and REST API provide direct database access for migrations and integrations.
  • Audit-proof financial transactions (quotes, orders, invoices) satisfy compliance requirements for locked records.
  • Integrated inventory management with automated stock transactions on every delivery.

Weaknesses

  • Very limited public review presence reduces ability to gauge real-world customer satisfaction and longevity.
  • Smaller market footprint compared to Odoo, NetSuite, or HubSpot raises vendor risk concerns.
  • Custom iXML scripting language creates a learning curve for teams accustomed to standard integration approaches.
  • No documented bulk API means large migrations require iterative record-by-record API calls.
  • Pricing model is primarily per-user, which can become expensive as teams scale beyond 20-30 users.
Salesforce Sales Cloud logo

Salesforce Sales Cloud

Destination

Strengths

  • Largest enterprise app ecosystem in CRM with 5,000+ AppExchange integrations covering nearly every vertical workflow.
  • Native Einstein AI delivers lead scoring, opportunity insights, and predictive forecasting without a third-party layer.
  • Advanced territory management, multi-currency, and flexible forecasting satisfy complex B2B revenue structures.
  • Deep platform extensibility: Custom Objects, Apex, Flow, and the Metadata API allow full schema customization.
  • Well-documented REST API, Bulk API, and Composite API with published rate limits for programmatic migration.

Weaknesses

  • Pricing model is layered and opaque in practice: per-seat fees plus storage overages, add-on subscriptions, and annual uplifts compound to 30–40% above sticker price.
  • Workflow Rules and Process Builder are deprecated, forcing all orgs onto Salesforce Flow — a migration task that catches many teams by surprise.
  • Steep administrative complexity: meaningful configuration requires a dedicated Salesforce admin or consultant.
  • API rate limits are edition-gated (100k/day base for Enterprise) and easily exhausted by large historical imports without throttling.
  • Data export is exportable via Data Loader but preserving relationship integrity across 30+ objects requires careful ETL sequencing.

Complexity grading

How hard is this migration?

Standard CRM migration. 3 of 8 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across ZeyOS and Salesforce Sales Cloud.

  • Object compatibility

    B

    3 of 8 objects need a mapping; the rest are 1:1.

  • Field mapping clarity

    C

    Field mapping is derived from defaults — final spec confirmed during the sample migration.

  • Timeline complexity

    B

    8-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    B

    ZeyOS: Not publicly documented — we apply exponential backoff on 429/5xx responses and confirm tenant-specific limits during scoping.

  • Data volume sensitivity

    B

    ZeyOS doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your ZeyOS to Salesforce Sales Cloud migration cost

Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.

Step 1

What are you migrating?

Pick a category, then your source and destination platforms.

Category

FAQ

Frequently asked questions about ZeyOS to Salesforce Sales Cloud data migrations

Answers to the questions buyers ask most during ZeyOS to Salesforce Sales Cloud migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your ZeyOS to Salesforce Sales Cloud migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most ZeyOS migrations land between three and five weeks for accounts under 20,000 Contacts and 3,000 financial records with standard object mapping and no custom Project or inventory object requirements. Migrations with large engagement histories, more than 1,000 binary file attachments, custom Project__c and TimeEntry__c objects, or out-of-sequence invoice reconciliation requiring customer review move to ten to sixteen weeks because of the individual REST call overhead on ZeyOS, the custom object schema work in Salesforce, and the chronological invoice sequencing verification.

Adjacent paths

Related migrations to explore

Ready when you are

Move from ZeyOS.
Land in Salesforce Sales Cloud, intact.

Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.

Accuracy guarantee Rollback included Quote in 1 business day