Helpdesk migration
Field-level mapping, validation, and rollback between HaloCRM and Intercom. We move data and schema; workflows are rebuilt natively in Intercom.
HaloCRM
Source
Intercom
Destination
Compatibility
10 of 12
objects map 1:1 between HaloCRM and Intercom.
Complexity
CModerate
Timeline
2-3 weeks
Overview
Moving from HaloCRM to Intercom is a shift from an all-in-one omnichannel helpdesk CRM to a purpose-built conversational AI-first support platform. HaloCRM stores ticket-based records (Tickets, Clients, Companies, KB Articles, SLA rules, and custom fields scoped to Clients or Tickets) in a single unified API schema. Intercom uses a Conversations-first model where Users and Companies carry attributes, Conversations thread messages, and Help Center Articles sit in Collections. There is no native conversation bulk-import path in Intercom; we use the Conversations API with rate-limit handling and chunked batch writes to transfer historical ticket history without silent record drops. We do not migrate HaloCRM Workflows, Ticket Rules, or chatbot configurations as code because the HaloCRM API does not expose them; we deliver a written inventory of every active automation for the customer's admin to rebuild in Intercom's workflow builder post-migration.
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 HaloCRM 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.
HaloCRM
Ticket
Intercom
Conversation
1:1HaloCRM Tickets map to Intercom Conversations via the Conversations API. Ticket ID is stored as a custom conversation attribute for source reference. Message entries (customer replies, agent responses, internal notes) migrate as conversation parts ordered by timestamp. We disable SLA escalation rules in HaloCRM before import to prevent timers firing on historical records. Intercom has no native bulk-import path for conversations, so we write via the API in chunks of 200 parts with exponential backoff on rate-limit responses.
HaloCRM
Client
Intercom
User
1:1HaloCRM Client records map to Intercom User records. We map client_name to User name, client_email to email, and client_phone to phone. Client-scoped custom fields transfer as custom user attributes. A source_id attribute preserves the original HaloCRM Client ID for reconciliation. Intercom does not have a separate Contact object; all contact records are Users.
HaloCRM
Company
Intercom
Company
1:1HaloCRM Organization records map to Intercom Companies. Organization name maps to Company name, domain to company_domain, and custom organization fields to company_attributes. We resolve the Company-User linkage by matching the organization identifier on each Client record against the Intercom Company lookup before writing User records.
HaloCRM
Knowledge Base Article
Intercom
Help Center Article
1:1HaloCRM KB articles map to Intercom Articles within a Collection. Article title, body (HTML), category, and publication status migrate. Article-to-category relationships in HaloCRM map to Collection-Section hierarchy in Intercom. We preserve article publication status and sort order during import. Articles with draft status in HaloCRM become unpublished articles in Intercom pending editorial review.
HaloCRM
KB Category
Intercom
Collection
1:1HaloCRM KB categories map to Intercom Collections. Category name, description, and sort order transfer directly. We create Collections before importing Articles so that each article has a valid parent Collection ID at insert time.
HaloCRM
Agent
Intercom
Teammate
1:1HaloCRM Agent records map to Intercom Teammates. Agent name and email transfer. Agent permissions and team assignments require manual reconfiguration in Intercom Admin because access control models differ. We extract all agent email addresses and provide a provisioning checklist for the customer's admin to create matching Teammates in Intercom before the main migration run.
HaloCRM
Team
Intercom
Team
1:1HaloCRM Teams map to Intercom Teams. Team name and member list transfer. Intercom's inbox assignment rules and routing are rebuilt manually post-migration; the team structure itself migrates during the main run so that conversation assignment rules have a valid target team to route to.
HaloCRM
Client-Scoped Custom Field
Intercom
User Attribute
1:1HaloCRM custom fields scoped to the Client object map to Intercom custom user attributes. We explicitly flag Client-scoped fields during field-mapping (as distinguished from Ticket-scoped fields) to prevent mapping to the wrong object type in Intercom. Field type translation follows: HaloCRM text becomes Intercom string, dropdown becomes dropdown, date becomes date, checkbox becomes boolean.
HaloCRM
Ticket-Scoped Custom Field
Intercom
Conversation Attribute
1:1HaloCRM custom fields scoped to the Ticket object map to Intercom conversation custom attributes. These are stored on the Conversation record, not the User, because Intercom does not have a separate Ticket object. We explicitly validate this distinction during mapping to avoid Client-scoped field data appearing on the wrong Intercom entity.
HaloCRM
SLA Rule
Intercom
SLA Policy
lossyHaloCRM SLA definitions (first response time, resolution time, breach action) map to Intercom SLA Policies where the Intercom plan supports them. Intercom's SLA Policies apply to conversations based on priority, inbox, or tag conditions. Custom breach-action logic (auto-escalation to a specific team, notification triggers) requires manual recreation in Intercom Admin because SLA policy conditions in Intercom are rule-based rather than scripted.
HaloCRM
Tag/Label
Intercom
Label
1:1HaloCRM tags applied to tickets migrate as Intercom labels. Tags applied to KB articles migrate as labels on the corresponding Articles. The flat tag array in HaloCRM maps directly to the label array in Intercom with no transformation required.
HaloCRM
Service Contract
Intercom
Custom Object
lossyHaloCRM Service Contract records with dates, values, and linked entities map to Intercom custom objects. The destination schema for contract objects is typically different between platforms and requires explicit field mapping during discovery. We preserve entity relationships via ID cross-referencing during import and store the original HaloCRM contract ID as a reference field on the Intercom custom object.
| HaloCRM | Intercom | Compatibility | |
|---|---|---|---|
| Ticket | Conversation1:1 | Fully supported | |
| Client | User1:1 | Fully supported | |
| Company | Company1:1 | Fully supported | |
| Knowledge Base Article | Help Center Article1:1 | Fully supported | |
| KB Category | Collection1:1 | Fully supported | |
| Agent | Teammate1:1 | Fully supported | |
| Team | Team1:1 | Fully supported | |
| Client-Scoped Custom Field | User Attribute1:1 | Fully supported | |
| Ticket-Scoped Custom Field | Conversation Attribute1:1 | Fully supported | |
| SLA Rule | SLA Policylossy | Fully supported | |
| Tag/Label | Label1:1 | Fully supported | |
| Service Contract | Custom Objectlossy | 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.
HaloCRM gotchas
Automations fire on imported tickets by default
Client-scoped vs Ticket-scoped custom fields require explicit mapping
Bulk action performance degrades on large ticket volumes
Workflow and chatbot rules are not exportable via API
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 scope definition
We audit the source HaloCRM instance across custom field inventory (explicitly cataloguing Client-scoped versus Ticket-scoped fields), active Ticket Rules and notification automations, ticket volume and message depth per ticket, KB article count and category structure, SLA rule definitions, and team/agent roster. We pair this with an Intercom plan review: Starter ($74/seat) covers basic support inboxes and macros; Pro ($99/seat) adds SLA policies and workflow automation; Advanced ($132/seat) adds Fin AI Agent and advanced team inbox routing. The discovery output is a written migration scope document with record counts, custom field mapping, and automation inventory.
Automation pause and export preparation
We pause all active HaloCRM Ticket Rules, notification rules, and SLA escalation timers before any export begins. This is a proactive step we always take, but customers must confirm that pausing outbound notifications during the migration window will not impact active customer escalations. We then run a trial export of a sample of 50-100 tickets to validate export completeness (message threading, attachment references, custom field values) before committing to the full export run.
Schema design and Intercom workspace setup
We configure the Intercom destination workspace before any data import. This includes creating Teams (mapped from HaloCRM team roster), provisioning Teammates (agent email provisioning checklist delivered to the customer admin), setting up Inboxes with routing rules, creating Collections and Sections (mapped from HaloCRM KB categories), and designing the conversation attribute schema for Ticket-scoped custom fields. We validate the workspace configuration with a small import sample before the main migration run.
Intercom workspace configuration and sample import
We configure the Intercom destination workspace before any data import. This includes creating Collections and Sections mapped from the HaloCRM KB category hierarchy, setting up Teams and Inboxes with initial routing rules, provisioning Teammates from the HaloCRM agent roster, designing the conversation attribute schema for Ticket-scoped custom fields, and creating custom user attributes for Client-scoped custom fields. We run a sample import of 50-100 conversations to validate mapping completeness and conversation threading before committing to the full migration run.
Custom field type resolution and mapping validation
We resolve every HaloCRM custom field type (text, dropdown, date, checkbox, number) against the equivalent Intercom attribute type (string, dropdown, date, boolean, number). Client-scoped fields are flagged as user attributes; Ticket-scoped fields are flagged as conversation attributes. We validate the mapping against the destination schema in a test environment before committing to production import. Any fields without a clear Intercom equivalent are flagged for customer decision during scoping.
Main migration run with chunked API writes
We run the main migration in dependency order: Companies (first, so User records can link), Users (with Company ID resolved from the Company import), Teams, then Conversations (with User ID resolved for each message part). Conversation messages write via the Intercom Conversations API in batches of 200 parts with rate-limit handling. KB Articles import into their target Collections after Collections are created. Each phase emits a row-count reconciliation report. We flag any messages that fail to write and retry with a smaller batch size.
Cutover, validation, and automation rebuild handoff
We freeze HaloCRM write access during the cutover window, run a delta migration for any records modified during the main run, and deliver a reconciliation report comparing HaloCRM record counts against Intercom record counts. We deliver the Ticket Rules and Workflow inventory document to the customer's admin team with recommended Intercom equivalent configurations. We support a one-week hypercare window to resolve any data quality issues raised by the support team post-go-live. We do not rebuild HaloCRM automations in Intercom as part of the migration scope.
Platform deep dives
HaloCRM
Source
Strengths
Weaknesses
Intercom
Destination
Strengths
Weaknesses
Complexity grading
Moderate Helpdesk migration. 3 of 7 objects need a mapping; the rest are 1:1.
Overall complexity
Moderate migration
Derived from compatibility, mapping clarity, API constraints, and data volume across HaloCRM and Intercom.
Object compatibility
3 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
HaloCRM: Not publicly documented by HaloCRM.
Data volume sensitivity
HaloCRM 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 HaloCRM to Intercom migration scoping. Not seeing yours? Book a call.
Walk through your HaloCRM 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 HaloCRM
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.