CRM migration
Field-level mapping, validation, and rollback between GoCanvas and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
GoCanvas
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
12 of 12
objects map 1:1 between GoCanvas and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
72–96 hours
Overview
GoCanvas is a mobile-first field operations platform built around customizable forms and submitted records — it has no native CRM concept of Accounts, Contacts, Leads, or Opportunities. Dynamics 365 Sales is built on Dataverse with a strict entity-relationship model (Account → Contact → Opportunity). The migration therefore requires a conceptual translation: each GoCanvas submission becomes one or more Dynamics 365 records, and the form fields collected in GoCanvas are flattened into custom fields on those records. The primary source objects we map are Submissions, Reference Data lists, Users, and Attachments. GoCanvas workflow chains (handoffs, notifications, conditional routing) cannot migrate — they must be rebuilt in Power Automate. We export the workflow definitions as JSON so your Dynamics admin has a complete rebuild reference. The migration uses GoCanvas API v3 (JSON, REST) to pull submission data and Dynamics 365 Web API (Dataverse) to write records, with scoped read access on GoCanvas so your field teams keep working throughout the cutover window. A delta-pickup layer captures any submissions created or modified in the 24–48 hours between the bulk extract and go-live.
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.
Source platform
GoCanvas platform overview
Scorecard, SWOT, gotchas, and pricing for GoCanvas.
Destination platform
Microsoft Dynamics 365 Sales platform overview
Scorecard, SWOT, gotchas, and pricing for Microsoft Dynamics 365 Sales .
Data migration guide
The complete Microsoft Dynamics 365 Sales migration guide
Data model, import mechanisms, field mapping strategy, pitfalls, and cutover — by the engineers running it.
Destination checklist
Microsoft Dynamics 365 Sales migration checklist
Pre- and post-cutover tasks for moving onto Microsoft Dynamics 365 Sales .
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 Microsoft Dynamics 365 Sales , including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
GoCanvas
Submission
Microsoft Dynamics 365 Sales
Account
1:1GoCanvas submissions with a company name or organization identifier map to Dynamics 365 Account records. The company-level data collected in the form (business name, address, industry, employee count if captured) populates the corresponding Account fields. If the submission is primarily a person record with no organization data, it maps to Contact instead.
GoCanvas
Submission (person-focused form)
Microsoft Dynamics 365 Sales
Contact
1:1Submissions where the form collects individual contact details (first name, last name, email, phone, job title) map to Dynamics 365 Contact. The Contact is linked to its parent Account if a company name was also captured in the same submission. Unmatched accounts are created as placeholder Account records.
GoCanvas
Submission
Microsoft Dynamics 365 Sales
Custom Table (Submission_cd)
1:1Because GoCanvas submissions contain form-specific field data that has no natural home in standard Account/Contact fields, we create a Dataverse custom table (e.g., InspectionSubmission_cd or Submission_cd) to hold the flattened field values. This table has a lookup to the primary Account or Contact, preserving the link between the form data and the CRM record.
GoCanvas
Form field (standard contact fields)
Microsoft Dynamics 365 Sales
Contact (standard fields)
1:1Form fields that capture standard contact properties — first name, last name, email address, phone number, job title, department — map directly to the corresponding Contact fields in Dynamics 365. Field type coercion is applied: phone number strings validated for E.164 format, email strings validated for RFC 5322 format before write.
GoCanvas
Form field (custom or non-standard)
Microsoft Dynamics 365 Sales
Custom Table column
1:1GoCanvas form fields that do not map to a standard Dynamics field — for example, inspection checklist items, condition ratings, barcode scans, or dropdown values specific to the form — become Dataverse custom columns on the Submission_cd custom table. Field type is inferred from the GoCanvas field type: text becomes nvarchar, number becomes decimal, date becomes datetimeoffset.
GoCanvas
Reference Data
Microsoft Dynamics 365 Sales
Custom Option Set or Lookup table
1:1GoCanvas Reference Data spreadsheets (used to auto-populate dropdown lists or validation tables in forms) become either Dataverse custom option sets (if the list is small, e.g., condition ratings) or lookup tables (if the list is large, e.g., equipment models). We map the Reference Data rows to option-set values or lookup records and populate the corresponding custom column on the Submission_cd table.
GoCanvas
Submission PDF
Microsoft Dynamics 365 Sales
Note (annotation) on Account/Contact/Submission_cd
1:1GoCanvas generates a PDF for each completed submission. We download the PDF and attach it as a Note annotation on the corresponding Dynamics 365 record (Account, Contact, or Submission_cd table). Dynamics 365 enforces a 25MB per-file limit — PDFs exceeding this are split or stored in SharePoint with a Note containing the link.
GoCanvas
Submission photo
Microsoft Dynamics 365 Sales
Note (annotation) with image attachment or SharePoint
1:1Photos captured in GoCanvas forms are extracted from the submission payload and rehosted as Note attachments or uploaded to the connected SharePoint document library. Each photo is linked to the parent record by creating a Note record with filename, mimetype, and the documentbody (base64) or a sharepointurl reference. Inline photos embedded in the submission PDF are preserved via the PDF attachment.
GoCanvas
GoCanvas User
Microsoft Dynamics 365 Sales
Dynamics 365 User (Owner lookup)
1:1GoCanvas users are matched to Dynamics 365 users by email address. The email address on the GoCanvas User record is used to query the Dynamics 365 User table (systemuser) for a matching internalemailaddress. The matched Dynamics User GUID populates the OwnerId field on the migrated records. Unmatched users are flagged before migration for admin action.
GoCanvas
GoCanvas Groups
Microsoft Dynamics 365 Sales
Dynamics 365 Teams
1:1GoCanvas Groups manage form access and submission routing. Dynamics 365 Teams serve a different purpose (security roles and record sharing). GoCanvas Group membership is preserved as a custom field on the Submission_cd table (Group_Name__c) for reporting, but the access-control semantics do not translate to Dynamics Teams.
GoCanvas
Dispatch
Microsoft Dynamics 365 Sales
Task (custom type) on Submission_cd
1:1GoCanvas Dispatch assigns submissions to specific users or devices for field completion. Dispatch records are translated into a custom Task record or a custom Dispatch_cd table linked to the Submission_cd record. Dispatch status (assigned, in-progress, completed) maps to a custom option-set field.
GoCanvas
GoCanvas Workflow
Microsoft Dynamics 365 Sales
Power Automate (manual rebuild required)
1:1GoCanvas Workflow chains define sequential handoffs, approval gates, and conditional routing between form submissions. These cannot migrate automatically — the automation logic, trigger conditions, and action steps have no equivalent in Dynamics 365. We export the workflow definitions as a structured JSON document that your Power Automate developer can use as a rebuild specification.
| GoCanvas | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Submission | Account1:1 | Fully supported | |
| Submission (person-focused form) | Contact1:1 | Fully supported | |
| Submission | Custom Table (Submission_cd)1:1 | Fully supported | |
| Form field (standard contact fields) | Contact (standard fields)1:1 | Fully supported | |
| Form field (custom or non-standard) | Custom Table column1:1 | Fully supported | |
| Reference Data | Custom Option Set or Lookup table1:1 | Mapping required | |
| Submission PDF | Note (annotation) on Account/Contact/Submission_cd1:1 | Fully supported | |
| Submission photo | Note (annotation) with image attachment or SharePoint1:1 | Fully supported | |
| GoCanvas User | Dynamics 365 User (Owner lookup)1:1 | Fully supported | |
| GoCanvas Groups | Dynamics 365 Teams1:1 | Fully supported | |
| Dispatch | Task (custom type) on Submission_cd1:1 | Fully supported | |
| GoCanvas Workflow | Power Automate (manual rebuild required)1: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
Microsoft Dynamics 365 Sales gotchas
Professional tier 15-table custom table limit blocks migrations
October 2024 pricing increase applies at renewal for all customers
Custom fields must be created in the UI before API writes
Power Platform request limits apply to bulk migrations
Activity records orphaned to inactive owners fail silently
Pair-specific challenges
Migration approach
Pre-migration schema audit and collision review
FlitStack pulls a full export of your GoCanvas form definitions — all forms, fields, field types, and Reference Data spreadsheets. We run a collision analysis across all forms to identify duplicate field names, incompatible field types, and Reference Data sets that exceed the Dynamics option-set limit. This produces a Dynamics schema setup plan: the list of custom tables, custom columns, option sets, and lookup relationships to create before data lands. You or your Dynamics admin create these objects; we validate the schema before extraction begins.
Authenticate to GoCanvas API v3 and Dynamics 365 Web API
We establish connections to GoCanvas REST API v3 (OAuth 2.0 bearer token) and the Dynamics 365 Dataverse Web API (OAuth 2.0 with Dynamics resource scope). API rate limits are respected on both sides: GoCanvas applies per-account throttling and Dynamics applies per-user request allocation limits that vary by license tier. We parallelize writes to Dynamics where possible but batch to stay within the allocation envelope. Any authentication failures are retried with exponential backoff; persistent failures are logged and flagged for manual resolution before the migration run commits.
Extract submissions and translate to Dynamics entity payloads
For each GoCanvas submission, we extract the JSON payload containing all field values, metadata (submission ID, submitter, timestamp, GPS, dispatch, status), and attachment references. The translation layer maps: form fields to custom columns on the Submission_cd table, contact-level data to Contact or Account records with lookup links, Reference Data values to option-set integers or lookup GUIDs, and file attachments to a download queue. Owner resolution runs by email-match against Dynamics SystemUser records; unmatched owners are logged to a resolution report for your admin.
Run sample migration with field-level diff
A representative slice — typically 100–500 submissions spanning your most-used forms — migrates first. We generate a field-level diff comparing the GoCanvas submission payload against the written Dynamics 365 records: custom column values match, attachment filenames present, owner GUIDs resolved, Reference Data values translated to option labels. You verify the diff before the full run commits. Any mapping errors discovered in the sample are corrected in the translation layer and the sample re-runs before proceeding.
Full migration with delta-pickup and audit log
The complete submission set migrates to Dynamics 365. A delta-pickup window (24–48 hours) keeps the GoCanvas read connection open, capturing any submissions created or modified during the migration run. All operations are written to an audit log: source record ID, destination record ID, operation type, timestamp, and operator. If reconciliation finds discrepancies, one-click rollback reverts the Dynamics environment to its pre-migration state. After rollback validation, the migration re-runs with the corrected mapping. At go-live, your field teams switch to Dynamics; GoCanvas remains accessible in read-only mode for 30 days for reference.
Platform deep dives
GoCanvas
Source
Strengths
Weaknesses
Microsoft Dynamics 365 Sales
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. All 8 core objects map 1:1 between GoCanvas and Microsoft Dynamics 365 Sales .
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across GoCanvas and Microsoft Dynamics 365 Sales .
Object compatibility
All 8 core objects map 1:1 between GoCanvas and Microsoft Dynamics 365 Sales .
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 Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your GoCanvas to Microsoft Dynamics 365 Sales 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 Microsoft Dynamics 365 Sales
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.