CRM migration
Field-level mapping, validation, and rollback between Serviceform and Microsoft Dynamics 365 Sales . We move data and schema; workflows are rebuilt natively in Microsoft Dynamics 365 Sales .
Serviceform
Source
Microsoft Dynamics 365 Sales
Destination
Compatibility
6 of 8
objects map 1:1 between Serviceform and Microsoft Dynamics 365 Sales .
Complexity
BStandard
Timeline
2-4 weeks
Overview
Serviceform is a chatbot and lead-generation platform that charges per conversation on a usage-based model, while Microsoft Microsoft Dynamics 365 Sales is a full CRM built on the Power Platform with native Microsoft 365 integration, Copilot AI, and per-user licensing. The migration is structurally different from most CRM-to-CRM moves because Serviceform has no documented public REST API, so we coordinate data extraction directly with Serviceform support. We migrate Leads (Serviceform) to Dynamics 365 Leads and Contacts, conversation transcripts to Dynamics 365 Activity records (Tasks, Emails, Notes), chatbot node custom properties to custom entity fields, and form submission data to Dynamics 365 custom entities or Notes. Chatbot flows, conditional routing logic, and form-level automation do not migrate; we deliver a written specification for rebuilding them in Dynamics 365 Power Automate or model-driven apps. Workflows, sequences, and integration configurations also do not migrate as code.
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
Serviceform platform overview
Scorecard, SWOT, gotchas, and pricing for Serviceform.
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 Serviceform 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.
Serviceform
Lead
Microsoft Dynamics 365 Sales
Lead and Contact (split required)
1:manyServiceform Leads with qualification status of marketing_qualified or sales_qualified map to Salesforce Lead in Microsoft Dynamics 365 Sales . Leads with confirmed opportunity intent map to Contact attached to an Account. We preserve Serviceform's qualification_score and source_channel properties in custom fields sf_qualification_score__c and sf_source_channel__c on both Lead and Contact for post-migration reporting. The split rule is defined during discovery based on the customer's lead routing criteria.
Serviceform
Conversation
Microsoft Dynamics 365 Sales
EmailMessage, Task, and Note
1:1Serviceform conversation transcripts are re-mapped to Dynamics 365 Activity records. Visitor-to-bot message sequences where the visitor initiated are stored as EmailMessage records linked to the Lead or Contact. Bot-initiated outreach sequences are stored as Task records with a custom subtype sf_bot_initiated__c. Long-form conversation summaries are stored as Note records with ContentDocumentLink to the parent Lead or Contact. Each transcript preserves the original timestamp for activity timeline ordering.
Serviceform
Form
Microsoft Dynamics 365 Sales
Custom Entity or Note
1:1Serviceform form definitions and submission data map to a Dynamics 365 custom entity (e.g., sf_form_submission__c) with fields for each form field mapped to typed Dynamics 365 fields (text, number, picklist, date). Form conditional logic and field visibility rules are not migratable and are documented separately as a Power Automate rebuild specification. If the customer has fewer than ten form types, we offer Note-based storage as an alternative to custom entity provisioning.
Serviceform
Chatbot Flow
Microsoft Dynamics 365 Sales
Power Automate (specification only)
lossyServiceform chatbot flows consist of nodes, intent classifications, and response rules that have no direct Dynamics 365 equivalent. We export the flow structure as a JSON topology and deliver a written specification for rebuilding the flow logic in Power Automate with AI Builder for intent classification. The chatbot flow does not migrate as executable code.
Serviceform
Chatbot Node Custom Properties
Microsoft Dynamics 365 Sales
Custom Entity Fields
1:1Custom properties attached to chatbot nodes (e.g., product references, routing flags, custom score fields) are extracted as structured key-value pairs and mapped to custom fields on the sf_chatbot_node__c custom entity. Node-level properties that reference other Serviceform records (e.g., linked_lead_id) are resolved through the lead mapping before insert. Custom field API names follow the sf_ prefix convention.
Serviceform
Team Members
Microsoft Dynamics 365 Sales
User
1:1Serviceform user accounts with role assignments (admin, agent, viewer) map to Microsoft Dynamics 365 Sales User records. We match by email address. Serviceform team members who will not have a Dynamics 365 license are mapped to inactive User records so that historical assignment data is preserved without consuming a paid seat.
Serviceform
Live Chat Session
Microsoft Dynamics 365 Sales
Task (TaskSubtype = Chat)
1:1Live chat session logs (visitor info, agent assignment, resolution status, wait time) map to Dynamics 365 Task records with TaskSubtype = Chat. Session duration, resolution outcome, and agent assignment are stored in custom Task fields sf_chat_duration__c, sf_chat_resolution__c, and sf_agent_id__c. Session records link to the Lead or Contact via WhoId.
Serviceform
ATS Applicant
Microsoft Dynamics 365 Sales
Contact or Custom Entity
1:1Serviceform ATS module applicant records (resume files, candidate profiles, ranking scores) are extracted as a separate data set from core chatbot and lead data. They map to Dynamics 365 Contact records if the customer treats applicants as sales contacts, or to a sf_applicant__c custom entity if the applicant tracking use case is distinct from the sales CRM. Resume files are stored as ContentDocument records linked via ContentDocumentLink.
| Serviceform | Microsoft Dynamics 365 Sales | Compatibility | |
|---|---|---|---|
| Lead | Lead and Contact (split required)1:many | Fully supported | |
| Conversation | EmailMessage, Task, and Note1:1 | Fully supported | |
| Form | Custom Entity or Note1:1 | Fully supported | |
| Chatbot Flow | Power Automate (specification only)lossy | Fully supported | |
| Chatbot Node Custom Properties | Custom Entity Fields1:1 | Fully supported | |
| Team Members | User1:1 | Fully supported | |
| Live Chat Session | Task (TaskSubtype = Chat)1:1 | Fully supported | |
| ATS Applicant | Contact or Custom Entity1: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.
Serviceform gotchas
Usage-based billing means migration scope directly affects costs
No publicly documented public API
ATS module data is separate from core chatbot data
Conditional logic on forms may not transfer 1:1
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
Serviceform export coordination and discovery
We initiate contact with Serviceform support to request a bulk data export covering Leads, conversation transcripts (with date range and volume estimate), form submissions, chatbot flow definitions, team members, and live chat session logs. Simultaneously, we audit the customer's Microsoft Dynamics 365 Sales environment for existing schema (custom entities, custom fields, option sets, security roles) to determine what provisioning is required before import. The discovery output is a written data volume estimate, an export format confirmation from Serviceform, and a Dynamics 365 schema gap analysis.
Schema provisioning and field mapping design
We provision custom entities in Dynamics 365 (via the maker portal or admin center) for form submissions and any custom property schemas, and create custom fields on the standard Lead, Contact, Task, and Note objects to receive Serviceform metadata. Option set values for qualification status, source channel, and form type are defined to match the extracted Serviceform values. Field mapping is documented in a mapping spreadsheet covering every source field to its typed Dynamics 365 equivalent, with transformation rules noted for type conversions.
Conversation summarization and activity lineage resolution
We apply the conversation summarization strategy agreed during discovery: transcripts within the active window are stored as full EmailMessage records; older transcripts are converted to Note summaries. For each activity record, we resolve the parent WhoId (Lead or Contact) by matching the Serviceform visitor email to the migrated Lead or Contact record. Chat session records are similarly resolved and stored as Task with TaskSubtype=Chat.
Lead qualification split and contact-account linkage
We apply the split rule defined during discovery: Serviceform Leads above the qualification threshold are converted to Dynamics 365 Contact records linked to a provisioned Account (using the lead's company domain as the Account name); lower-qualification leads are stored as Dynamics 365 Lead records. The original Serviceform qualification_score and source_channel are preserved as custom fields on both objects. Owner assignment follows the Serviceform team member mapping to Dynamics 365 User.
Sandbox validation and reconciliation
We run a full migration into a Dynamics 365 Sandbox environment using representative data volume. The customer reconciles a sample of records (Leads, Contacts, Activities, Notes) against the Serviceform source data and signs off the field mapping before production migration. Corrections to field types, option set values, and parent record lookups are applied in the mapping spreadsheet before the production run.
Production migration and automation rebuild handoff
We execute the production migration in dependency order: Users (validated from team member mapping), Accounts (from lead company data), Leads and Contacts (with split rule applied), Activity history (Tasks, Events, EmailMessages, Notes via Dynamics 365 Bulk API), Form submission custom entity records, Live chat session records. We deliver the chatbot flow topology JSON and conditional logic specification for Power Automate rebuild. We provide a one-week post-migration reconciliation window for record-count validation and data-quality spot checks.
Platform deep dives
Serviceform
Source
Strengths
Weaknesses
Microsoft Dynamics 365 Sales
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. All 8 core objects map 1:1 between Serviceform and Microsoft Dynamics 365 Sales .
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Serviceform and Microsoft Dynamics 365 Sales .
Object compatibility
All 8 core objects map 1:1 between Serviceform 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
Serviceform: Not publicly documented.
Data volume sensitivity
Serviceform 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 Serviceform to Microsoft Dynamics 365 Sales migration scoping. Not seeing yours? Book a call.
Walk through your Serviceform 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 Serviceform
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.