Helpdesk migration
Field-level mapping, validation, and rollback between Dynamics 365 Customer Service and Intercom. We move data and schema; workflows are rebuilt natively in Intercom.
Dynamics 365 Customer Service
Source
Intercom
Destination
Compatibility
11 of 14
objects map 1:1 between Dynamics 365 Customer Service and Intercom.
Complexity
BStandard
Timeline
3-5 weeks
Overview
Moving from Dynamics 365 Customer Service to Intercom is a shift from a relational Dataverse-backed enterprise platform to a conversation-centric messaging layer. Dynamics 365 Customer Service stores Cases as incident rows with SLA KPIs, Entitlements, Knowledge Articles, and polymorphic Activities all linked through the Dataverse relational model. Intercom represents support as Conversations with Users, Companies, and Message parts — a fundamentally flatter schema that maps cleanly to standard contacts, companies, and tickets but requires deliberate configuration for SLA bridging and Queue-to-Team resolution. We migrate Cases to Conversations, Accounts to Companies, Contacts to Users, and Knowledge Articles to Intercom Articles with their taxonomy flattened to Collections and Sections. SLA contracts are written into a structured custom attribute block on each Conversation since Intercom's SLA engine is tier-gated and must be configured post-migration. Power Automate cloud flows and Omnichannel session transcripts do not migrate; we document the active flow inventory and produce a separate channel-asset report for the customer's admin to address.
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 Dynamics 365 Customer Service object lands in Intercom, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Dynamics 365 Customer Service
Case (Incident)
Intercom
Conversation
1:1Dynamics 365 Customer Service Cases map to Intercom Conversations. The Case title becomes the Conversation subject, casepriority maps to a Conversation priority attribute, incident state (active/resolved/cancelled) maps to Conversation state (open/closed/snoozed). Created-on and modified-on timestamps are preserved. Cases are the root record; we resolve the parent Contact and Account references first so that each Conversation is created against the correct User and Company in Intercom before the Case details are written.
Dynamics 365 Customer Service
Contact
Intercom
User
1:1Dynamics CE Contact records map to Intercom Users. We use the contact's email address as the dedupe key. Full name splits to first_name and last_name, and communication preferences map to has_email_opened, has_unsubscribed, and email_verified custom attributes. Contacts without an email address map to Leads in Intercom until an email is available for promotion to User.
Dynamics 365 Customer Service
Account
Intercom
Company
1:1Dynamics 365 Account records map to Intercom Companies. The Account name becomes the Company name, address fields map to city, region, country, and postal_code, and the Account website URL maps to the Company website field. Company is created before the linked Contact so that the User can be attached to the Company at migration time.
Dynamics 365 Customer Service
Activity: Email
Intercom
Message (part)
1:1Dynamics Email activities linked to a Case via regardingobjectid map to Intercom Conversation Message parts. The email body migrates as an inbound or outbound Message part based on the activity directioncode (incoming = user message, outgoing = admin message). We preserve the original timestamp and sender address. Attachments on the Email activity migrate as Conversation file attachments.
Dynamics 365 Customer Service
Activity: Phone Call
Intercom
Note (on User or Conversation)
1:1Dynamics Phone Call activities migrate as Notes attached to the relevant User record (and optionally linked to the Conversation if a Case is associated). Call duration, disposition, direction, and subject map to custom note attributes in Intercom. Voice recordings stored as external SharePoint or blob URLs are listed in the channel-asset report for the customer's admin to re-upload or re-link post-migration.
Dynamics 365 Customer Service
Activity: Task
Intercom
Conversation Note or Conversation Part
1:1Dynamics Task activities migrate as Conversation Notes or admin-part type messages depending on whether the task is a customer-facing action. Task subject, due date, priority, and status migrate. Completed tasks set the Conversation to closed if no open items remain; open tasks are logged as internal notes with a due date attribute.
Dynamics 365 Customer Service
Activity: Appointment / Meeting
Intercom
Conversation Note
1:1Dynamics Appointment activities migrate as Conversation Notes with the meeting subject, start and end time, location, and required attendees listed as plain text in the note body. No native calendar integration is created in Intercom; the admin configures any calendar sync separately via the Intercom app store or a Zapier or Make workflow.
Dynamics 365 Customer Service
Knowledge Article
Intercom
Article
1:1Dynamics Knowledge Articles map to Intercom Articles. Article title and body (HTML content) migrate directly; we strip HTML formatting that Intercom's renderer does not support. The Knowledge Article status (draft, published, archived) maps to Article visibility (draft = internal only, published = live, archived = archived). Article category and section hierarchy in Dynamics maps to Intercom Collections and Sections, which we flatten to match Intercom's two-level taxonomy. Language versioning is preserved where Intercom supports it; multi-language articles are split into separate Intercom articles with locale attributes.
Dynamics 365 Customer Service
Queue
Intercom
Team
1:manyDynamics Queues (holding Cases and Activities awaiting assignment) map to Intercom Teams. Each Queue becomes a Team, and queue members map to Team members. Unified Routing decision tables, skill-based assignment, and capacity-based distribution do not migrate because Intercom's routing is rule-based (assignment rules by conversation attribute) rather than capacity-aware. We document the active Queue-to-Routing logic as part of the automation inventory so that the admin can configure equivalent assignment rules in Intercom.
Dynamics 365 Customer Service
Entitlement and Entitlement Template
Intercom
Custom Attributes (on Conversation)
lossyDynamics Entitlements represent support contracts with allocated hours, case count limits, channel restrictions, and SLA linkage. Intercom has no native Entitlement equivalent at lower plans. We write Entitlements as a structured custom attribute block on each migrated Conversation (contract_name, remaining_hours, channel_restrictions, start_date, expiry_date) so that the customer can reference contract terms during support and configure SLA enforcement manually or via an Intercom SLA policy (Advanced plan). We deliver a separate Entitlements inventory document listing every active contract for admin review.
Dynamics 365 Customer Service
SLA (Service Level Agreement)
Intercom
Custom Attributes (on Conversation) + SLA Policy (Advanced plan)
lossyDynamics SLA definitions (first response time, resolution time, business hours, pause conditions, warning thresholds) cannot migrate as operational SLA configurations in Intercom because SLA Policies are only available on Intercom's Advanced plan. We export every SLA definition and active SLA instance on open Cases, then write them as structured custom attributes on each Conversation. If the destination is on Intercom Advanced, we configure the SLA Policy using the migrated SLA terms and document the mapping. If on Growth or lower, the admin sets up manual KPI tracking.
Dynamics 365 Customer Service
Custom Dataverse Tables and Columns
Intercom
Custom User or Company Attributes
1:1Dynamics customers extending the data model with custom Dataverse tables and columns are inventoried during scoping. Single-value custom columns on Contact map to Intercom custom User attributes. Single-value custom columns on Account map to Intercom custom Company attributes. Custom tables (standalone objects) have no direct Intercom equivalent; we assess whether the custom table data belongs on a User attribute (serialised as JSON), a Company attribute, or a Note, and document the chosen approach during schema design. Option-set values require a value-map to ensure picklist consistency in Intercom.
Dynamics 365 Customer Service
Attachment (Notes and Files)
Intercom
Conversation Attachment or Note
1:1Dynamics attachments on the annotation table linked to Cases, Contacts, or Accounts migrate as Intercom Conversation attachments (for inline attachments on active conversations) or Notes on the relevant User or Company. Files are downloaded from the source (SharePoint or Dataverse file columns), chunked if over Intercom's 10 MB per-file limit, and uploaded via the Intercom attachments API. We preserve the original filename and MIME type.
Dynamics 365 Customer Service
Power Automate Cloud Flows
Intercom
(not migratable — documented for admin rebuild)
1:1Cloud flows in Power Automate that trigger on Case create, update, or status change are first-class business logic but live in Power Automate, not in Dataverse rows. They cannot be exported as part of a normal record migration. We inventory every active flow, identify which trigger Case state changes, and deliver a written Flow inventory with trigger, conditions, actions, and a recommended Intercom workflow equivalent (or a Zapier/Make scenario). The customer's admin rebuilds the equivalent automation in Intercom's Workflow builder post-migration.
| Dynamics 365 Customer Service | Intercom | Compatibility | |
|---|---|---|---|
| Case (Incident) | Conversation1:1 | Fully supported | |
| Contact | User1:1 | Fully supported | |
| Account | Company1:1 | Fully supported | |
| Activity: Email | Message (part)1:1 | Fully supported | |
| Activity: Phone Call | Note (on User or Conversation)1:1 | Fully supported | |
| Activity: Task | Conversation Note or Conversation Part1:1 | Fully supported | |
| Activity: Appointment / Meeting | Conversation Note1:1 | Fully supported | |
| Knowledge Article | Article1:1 | Fully supported | |
| Queue | Team1:many | Fully supported | |
| Entitlement and Entitlement Template | Custom Attributes (on Conversation)lossy | Fully supported | |
| SLA (Service Level Agreement) | Custom Attributes (on Conversation) + SLA Policy (Advanced plan)lossy | Fully supported | |
| Custom Dataverse Tables and Columns | Custom User or Company Attributes1:1 | Fully supported | |
| Attachment (Notes and Files) | Conversation Attachment or Note1:1 | Fully supported | |
| Power Automate Cloud Flows | (not migratable — documented for admin rebuild)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.
Dynamics 365 Customer Service gotchas
Service Protection API limits will throttle bulk migration loads
OData v4 paging caps reads at 5,000 records per page
Power Automate flows do not migrate as data
Licensing tier gates which capabilities migrate cleanly
Omnichannel conversation history is fragmented across channels
Intercom gotchas
S3 JSON export omits conversation transcripts
Workspace isolation prevents workflow migration
Fin AI resolution fees compound with automation success
Two-year conversation history limit on historical export
Private app rate limits share workspace quota
Pair-specific challenges
Migration approach
Discovery and scoping
We audit the source Dynamics 365 Customer Service organisation across tier (Professional, Enterprise, Premium), active Queues, SLA definitions, Entitlement inventory, Knowledge Article count and taxonomy depth, custom Dataverse tables and columns, and Power Automate flow inventory. We pair this with an Intercom plan assessment (Starter, Growth, or Advanced) to determine whether SLA Policies are available in the destination. The discovery output is a written migration scope with object inventory, record counts, custom schema map, and a go/no-go decision on each migratable object.
Schema design and Intercom attribute configuration
We design the Intercom schema before any data moves. This includes provisioning custom attributes on User and Company for Dynamics custom fields (typed as string, number, date, boolean, or list), designing the Knowledge Article-to-Collection-Section taxonomy mapping, configuring Teams to mirror the Dynamics Queue structure, and drafting the Entitlement and SLA custom attribute block structure. Schema is configured in Intercom's settings before migration begins so that incoming records have the correct attribute targets. Any Intercom SLA Policies (Advanced plan only) are stubbed at this stage for the admin to finalise post-migration.
Sandbox migration and reconciliation
We run a full migration into the customer's Intercom workspace using production-like data volume from a sandbox or test export. The customer's support operations lead reconciles record counts (Conversations in, Users in, Companies in, Articles in), spot-checks 25-50 random Conversations and Articles against the Dynamics source, and signs off the mapping and SLA attribute structure before production migration begins. Any field mapping corrections happen here, not in production.
Owner and Queue reconciliation
We extract every distinct Queue owner and Queue member from Dynamics Queues and match them to Intercom Admins by email. Teams are created in Intercom to mirror Queue structure. Any Dynamics Queue with no matching Intercom Admin goes to a reconciliation queue for the customer's admin to provision before record import resumes. This step is critical because Conversation assignment requires an Intercom admin reference; without it, migrated Cases appear unassigned.
Production migration in dependency order
We run production migration in record-dependency order: Companies (from Dynamics Accounts), Users (from Dynamics Contacts with CompanyId resolved), Articles (from Knowledge Articles with Collection-Section taxonomy), then Conversations (from Cases with UserId and CompanyId resolved and SLA attribute block written). Activity history (email, call, task, appointment) is batched and written as Conversation Message parts and Notes via the Intercom API with per-minute throttling. Custom attribute data from Dynamics custom columns is written in a final pass after the parent record exists in Intercom.
Cutover, validation, and automation handoff
We freeze Dynamics writes during cutover, run a final delta migration of any records modified during the migration window, then enable Intercom as the system of record. We deliver the Flow inventory document and the channel-asset report listing every Omnichannel attachment reference that needs re-upload. We support a one-week hypercare window where we resolve any reconciliation issues raised by the customer's support team. We do not rebuild Power Automate flows as Intercom Workflows inside the migration scope; that is a separate engagement or an internal admin task.
Platform deep dives
Dynamics 365 Customer Service
Source
Strengths
Weaknesses
Intercom
Destination
Strengths
Weaknesses
Complexity grading
Standard Helpdesk migration. 2 of 7 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across Dynamics 365 Customer Service and Intercom.
Object compatibility
2 of 7 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
7-object category — typical timelines run 2–7 days end-to-end.
API constraints
Dynamics 365 Customer Service: Service Protection API limits — roughly 6,000 requests per user per rolling 5-minute window per web server; 429 responses include Retry-After header.
Data volume sensitivity
Dynamics 365 Customer Service exposes a bulk API — large-volume migrations stream efficiently.
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 Dynamics 365 Customer Service to Intercom migration scoping. Not seeing yours? Book a call.
Walk through your Dynamics 365 Customer Service to Intercom migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave Dynamics 365 Customer Service
Other ways to arrive at Intercom
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.