CRM migration
Field-level mapping, validation, and rollback between GoCanvas and Salesforce Sales Cloud. We move data and schema; workflows are rebuilt natively in Salesforce Sales Cloud.
GoCanvas
Source
Salesforce Sales Cloud
Destination
Compatibility
11 of 12
objects map 1:1 between GoCanvas and Salesforce Sales Cloud.
Complexity
BStandard
Timeline
3–5 days
Overview
GoCanvas stores field data as form submissions — each submission is a flattened record representing one completed mobile form. There is no native CRM object graph: submissions have no inherent relationship to each other except through shared form definitions and user accounts. Salesforce Sales Cloud uses a relationship-based schema where records link through AccountId, ContactId, and custom lookup fields. FlitStack AI treats each GoCanvas form as a Salesforce custom object (__c), submissions as custom object records, and GoCanvas user accounts as Salesforce users matched by email. Form field definitions map to custom fields on the destination object — text fields become Text(255), numeric fields become Number, dates become Date, and calculated fields become Formula fields. Signature and photo fields are extracted from GoCanvas, re-hosted as Salesforce Files, and linked back to the parent record. The migration uses GoCanvas API v3 (JSON REST), which replaced the deprecated XML-based API v2. Workflow handoffs in GoCanvas — a user-to-user approval routing mechanism — have no direct Salesforce equivalent; FlitStack exports the handoff log as a JSON attachment on each record so your Salesforce admin can rebuild the logic in Flow. A 24–48 hour delta window at cutover captures any submissions created or modified during the GoCanvas-to-Salesforce switchover.
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 GoCanvas 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.
GoCanvas
Form
Salesforce Sales Cloud
Custom Object (__c)
1:1Each GoCanvas form becomes a Salesforce Custom Object with the API name Form_API_Name__c. The object label matches the form name in GoCanvas. Custom object plural label is auto-generated from the form name. Deployment via Salesforce Metadata API requires a package.xml entry per object.
GoCanvas
Submission
Salesforce Sales Cloud
Custom Object Record (Form__c)
1:1Individual submissions map one-to-one to records in the corresponding Salesforce Custom Object, preserving the full field data payload from GoCanvas. Each submission's unique GoCanvas ID is stored in a Source_System_ID__c custom field to enable delta-run de-duplication and traceability during subsequent migration passes. Submission status values from GoCanvas — Draft, Submitted, and Archived — map directly to a custom pick-list field on the Salesforce record.
GoCanvas
Submission Submitter
Salesforce Sales Cloud
Salesforce User
1:1GoCanvas user accounts are matched by email address to existing Salesforce User records during the pre-migration user-resolution phase. Any GoCanvas user that does not have a corresponding Salesforce User is flagged in a detailed user-resolution report for manual review or automated fallback assignment. Submissions originating from unresolvable users are assigned to a designated fallback Salesforce User or a dedicated 'GoCanvas Migration' service account to ensure data integrity and audit compliance.
GoCanvas
Submission Attachment (Photo, Signature, File)
Salesforce Sales Cloud
Salesforce Files (ContentDocument / ContentVersion)
1:1Photos, signatures, and uploaded files attached to GoCanvas submissions are downloaded from GoCanvas cloud storage and re-uploaded to Salesforce as Salesforce Files using the ContentDocument and ContentVersion objects. Each file is linked to the parent submission record via a ContentDocumentLink with AllUsers visibility to ensure accessibility across the organization. PDF exports of completed submissions are stored as Salesforce Attachments for reference, separate from the native Files architecture.
GoCanvas
Form Field
Salesforce Sales Cloud
Custom Field (__c)
1:1Each GoCanvas form field becomes a Salesforce Custom Field on the custom object. Field type mapping: Short/Long Text → Text(255) or TextArea; Number → Number; Date/Time → DateTime; Dropdown → Picklist; Checkbox → Checkbox; Barcode/Scan → Text. Calculated fields become Formula fields.
GoCanvas
Reference Data
Salesforce Sales Cloud
Custom Object / Custom Metadata
1:1GoCanvas Reference Data, which provides spreadsheet-backed lookup tables for form fields, migrates to Salesforce as either Custom Objects or Custom Metadata Type records. Static reference data that rarely changes — such as equipment types, inspection categories, or facility codes — is stored as Custom Metadata Type records for queryability by Flow without record access. User-editable reference data migrates as Custom Object records, and pick-list value sets are built from the migrated rows.
GoCanvas
GoCanvas Group
Salesforce Sales Cloud
Salesforce Public Group / Queue
many:1GoCanvas Groups map to Salesforce Public Groups to preserve sharing-rule parity for form access and submission visibility. Groups with territory assignment or dispatch-oriented semantics — such as regional teams or role-based dispatch pools — are mapped to Salesforce Queues to enable work routing and load balancing. A mapping table is generated during discovery, listing each GoCanvas group name, member count, and the recommended Salesforce group type.
GoCanvas
Workflow Handoff Log
Salesforce Sales Cloud
Custom Object (Submission_Handoff_History__c)
1:1GoCanvas Workflow handoffs have no Salesforce native equivalent. FlitStack exports the complete handoff history (submitter, handoff target, timestamp, status) as a JSON field on the submission record and as a separate custom object for admin review. The admin rebuilds routing logic in Flow using this as a reference.
GoCanvas
Automation (Triggers, Notifications)
Salesforce Sales Cloud
Salesforce Flow
1:1GoCanvas Automations, which include form-submit triggers, email notifications, and conditional field routing logic, are exported as a JSON specification for each automation defined in the account. FlitStack documents the trigger conditions, action types, recipient rules, and any conditional branches for every automation. Your Salesforce admin or FlitStack uses these specifications to design and configure equivalent Record-Triggered Flows or Scheduled Flows in Salesforce, ensuring that automation logic is preserved post-migration.
GoCanvas
Submission Date / Created Date
Salesforce Sales Cloud
Original_Submission_Date__c
1:1Salesforce's native CreatedDate field reflects the timestamp when records are inserted during migration, not the original GoCanvas submission date. To maintain reporting continuity and audit trails, FlitStack preserves the original GoCanvas submission timestamp in a custom DateTime field named Original_Submission_Date__c on each record. Similarly, the original GoCanvas Last Modified date is stored in Original_Last_Modified__c. All Salesforce reports and list views that rely on historical submission timing reference these custom fields.
GoCanvas
Form Version / Submission Version History
Salesforce Sales Cloud
Custom Object (Form_Version_History__c)
1:1GoCanvas tracks form version changes that affected submissions. This version history is preserved as a custom text field (Form_Version_Snapshot__c) on each record, storing the GoCanvas form version ID at time of submission. Salesforce does not natively track form schema versioning.
GoCanvas
Submission Status (Draft, Submitted, Archived)
Salesforce Sales Cloud
Submission_Status__c
1:1GoCanvas submission status values — Draft, Submitted, and Archived — map directly to a custom pick-list field on the Salesforce submission record. Archived submissions are migrated with their Archived status preserved to maintain historical records in Salesforce. Draft submissions are migrated as-is only if explicitly requested in the project scope; by default, FlitStack migrates only Submitted records to ensure that Salesforce contains active, production-relevant data upon go-live.
| GoCanvas | Salesforce Sales Cloud | Compatibility | |
|---|---|---|---|
| Form | Custom Object (__c)1:1 | Fully supported | |
| Submission | Custom Object Record (Form__c)1:1 | Fully supported | |
| Submission Submitter | Salesforce User1:1 | Fully supported | |
| Submission Attachment (Photo, Signature, File) | Salesforce Files (ContentDocument / ContentVersion)1:1 | Fully supported | |
| Form Field | Custom Field (__c)1:1 | Fully supported | |
| Reference Data | Custom Object / Custom Metadata1:1 | Mapping required | |
| GoCanvas Group | Salesforce Public Group / Queuemany:1 | Fully supported | |
| Workflow Handoff Log | Custom Object (Submission_Handoff_History__c)1:1 | Fully supported | |
| Automation (Triggers, Notifications) | Salesforce Flow1:1 | Fully supported | |
| Submission Date / Created Date | Original_Submission_Date__c1:1 | Fully supported | |
| Form Version / Submission Version History | Custom Object (Form_Version_History__c)1:1 | Fully supported | |
| Submission Status (Draft, Submitted, Archived) | Submission_Status__c1: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.
GoCanvas gotchas
API v2 deprecation forces re-authentication by May 2027
Minimum three-user billing floor regardless of actual usage
No nested table support in GoCanvas PDF Designer
Browser support gaps on Edge and Safari cause data loss
Android 13 and iOS 17 minimum version enforcement
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
Discover GoCanvas forms, fields, and API v2 usage
FlitStack connects to your GoCanvas account via API v3 and enumerates all active forms, form field definitions (type, label, required flag, conditional logic), Reference Data spreadsheets, user accounts, and groups. We audit any active API v2 integrations in your middleware (Zapier, Make, custom) to identify which ones break at the v2 sunset. The discovery output is a Form-to-Salesforce-Custom-Object mapping plan, a field-level type map for every form, and a Reference Data classification report (static vs. dynamic). This step establishes the scope baseline for pricing and timeline.
Design Salesforce custom object schema
Based on the discovery output, FlitStack generates a Salesforce schema design document: one Custom Object per GoCanvas form, with field definitions mapped from GoCanvas field types to Salesforce field types (Text, Number, Picklist, Checkbox, DateTime, Formula). Custom fields are named using GoCanvas field labels with illegal characters stripped and spaces converted to underscores. The document also lists required Salesforce custom fields: Source_System_ID__c (Text unique), Original_Submission_Date__c (DateTime), Submitter__c (User lookup), Submission_Status__c (Picklist), GPS coordinates if present. We deliver this as a Field Mapping Spec for your Salesforce admin to create before migration runs.
Build user-resolution and group-mapping table
GoCanvas user accounts are matched to Salesforce users by email address. FlitStack generates a user-resolution report listing every unique submitter email, matched Salesforce User ID (or 'UNMATCHED' flag), and proposed fallback assignment. Groups are mapped to Salesforce Public Groups or Queues based on use semantics — dispatch-oriented groups become Queues, access-control groups become Public Groups. Unresolved users are assigned to a dedicated migration fallback user. GoCanvas API v2 key credentials are noted for decommissioning after the migration is complete.
Migrate submissions with field-level mapping and attachment re-upload
FlitStack migrates submissions in form batches using the Salesforce Bulk API 2.0 to handle volume efficiently without hitting API rate limits. Each submission's original timestamp is preserved in Original_Submission_Date__c. Photos and signatures are downloaded from GoCanvas storage, uploaded to Salesforce Files, and linked via ContentDocumentLink. Reference Data rows are migrated to the appropriate Salesforce object (Custom Object for dynamic, Custom Metadata for static). Workflow handoff logs are exported as JSON and stored on each record. A delta-pickup window (24–48 hours) captures any new submissions or modifications made in GoCanvas during the cutover period.
Validate migrated data with field-level diff and sample verification
FlitStack runs a field-level validation report comparing a statistical sample of GoCanvas submissions against the Salesforce custom object records. Checks include: field count parity, pick-list value coverage, GPS coordinate accuracy, attachment link count, and user lookup resolution rate. Any records with unmapped fields, value overflow (text exceeding field length), or failed user lookups are listed in an exception report with recommended fixes. Your team reviews the report and approves the delta snapshot before go-live. Rollback is available via FlitStack's audit log if reconciliation reveals systematic issues.
Platform deep dives
GoCanvas
Source
Strengths
Weaknesses
Salesforce Sales Cloud
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 1 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 GoCanvas and Salesforce Sales Cloud.
Object compatibility
1 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
GoCanvas: Not publicly documented.
Data volume sensitivity
GoCanvas 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 GoCanvas to Salesforce Sales Cloud migration scoping. Not seeing yours? Book a call.
Walk through your GoCanvas 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 GoCanvas
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.