Helpdesk migration
Field-level mapping, validation, and rollback between iService and Intercom. We move data and schema; workflows are rebuilt natively in Intercom.
iService
Source
Intercom
Destination
Compatibility
10 of 11
objects map 1:1 between iService and Intercom.
Complexity
CModerate
Timeline
3-5 weeks
Overview
iService and Intercom organize customer service data differently at the object level. iService uses Tickets as the primary record with threaded Conversation history inside each ticket, while Intercom separates Contacts, Companies, and Conversations as top-level objects with Tickets as a distinct product layer. We map iService Tickets to Intercom Conversations, iService Customers to Intercom Contacts, and iService Companies to Intercom Companies. The key complexity in this migration is that iService does not publish a public API, which means export relies on admin-level data dumps coordinated with written authorization from the customer's iService administrator. Live chat transcripts require explicit handling because not all chat session formats are automatically portable between the two systems. Knowledge base articles migrate as HTML or markdown with their category hierarchy mapped to Intercom's article collections. Workflows, automations, and portal settings do not migrate; we deliver a written inventory of active iService workflows with recommended Intercom Inbox rules or workflow equivalents for the customer's admin to rebuild after cutover.
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 iService 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.
iService
Ticket
Intercom
Conversation
1:1iService Tickets map to Intercom Conversations. Each iService ticket ID becomes a reference stored in a custom attribute iservice_ticket_id__c on the Intercom Conversation for audit traceability. The iService ticket status (open, pending, resolved, closed) maps to Intercom's open, snoozed, or closed state. Priority from iService migrates to an Intercom conversation priority attribute. Custom ticket fields from iService map to Intercom custom conversation attributes (custom_attributes on the conversation object), with field type conversion applied: dropdown becomes single-select string, multi-select becomes comma-separated string, date fields use ISO 8601 format.
iService
Conversation (inside Ticket)
Intercom
Conversation Parts
1:1iService Conversation messages inside each Ticket map to Intercom Conversation Parts. Each message body, timestamp, and author (agent or customer) transfers to the Conversation Part structure. We preserve the original message author email and name as intercom_author_name and intercom_author_email attributes on the part for reconciliation. HTML-formatted message bodies are sanitized to plain text or markdown depending on whether the customer chooses a rich-text or plaintext Intercom inbox.
iService
Customer
Intercom
Contact
1:1iService Customer records map to Intercom Contacts. Email, name, phone, and any custom contact properties transfer. The iService customer ID is stored in a custom attribute iservice_customer_id__c on the Intercom Contact. Custom properties on iService customers map to Intercom contact custom attributes with type conversion. We resolve the lookup between iService customers and their associated Companies during import so that each Contact has the correct company_id in Intercom.
iService
Company
Intercom
Company
1:1iService Company records map directly to Intercom Companies. Company name, domain, and custom company properties transfer. The iService company ID is stored in iservice_company_id__c on the Intercom Company. We pre-create all Companies before importing Contacts so that the Intercom company_id relationship is satisfied at Contact insert time. Company-level custom properties map to Intercom company custom attributes with equivalent type handling.
iService
Live Chat Session
Intercom
Conversation (type = chat)
1:1iService Live Chat Sessions map to Intercom Conversations with type = chat. We flag chat sources during the data audit phase because iService chat sessions from the embedded portal widget and from integrated third-party channels may have different transcript formats. Portal-originated chats typically have complete transcript history; third-party integrated chats may have metadata only without full message history. We document which chats have full transcripts versus partial metadata during scoping and migrate what is available, noting any gaps in the reconciliation report.
iService
Knowledge Base Article
Intercom
Article
1:1iService KB Articles migrate to Intercom Articles within Collections. Article content exports as HTML or markdown from iService and imports into Intercom's article editor format. We map iService KB categories to Intercom Collections, preserving the hierarchy where it exists. Article attachments migrate as files attached to the article in Intercom. Portal visibility settings from iService (public, authenticated, restricted) do not have a direct Intercom equivalent; we default migrated articles to published status and the customer's admin sets article access permissions in Intercom after migration.
iService
KB Category
Intercom
Collection
1:1iService KB categories map to Intercom article Collections. We preserve category names and any parent-child hierarchy as nested Collection structures in Intercom. If iService categories have visibility rules (public, internal-only), we document these for the customer's admin to configure in Intercom's article settings post-migration.
iService
Custom Ticket Field
Intercom
Custom Attribute (conversation or contact)
lossyiService custom ticket fields vary by tenant configuration. We audit every distinct custom field name and data type during scoping. Each custom field maps to an Intercom custom attribute on the Conversation (if the field is ticket-specific) or on the Contact (if the field is customer-specific). We create the destination custom attribute schema in Intercom before migration begins. Multi-select fields from iService become comma-separated strings in Intercom; date fields use ISO 8601; boolean fields map to true/false strings.
iService
User / Agent
Intercom
Teammate
1:1iService Agent accounts (email, name, role, team assignment) map to Intercom Teammates. We match agents by email address against the Intercom workspace's user table. If an iService agent does not have a corresponding Intercom Teammate, they go to a reconciliation queue for the customer's admin to provision before ticket import begins, because agent assignment on conversations requires a valid Intercom teammate_id.
iService
Tag
Intercom
Tag
1:1iService Tags migrate to Intercom Tags. Tags attached to tickets become tags on the corresponding Intercom Conversation. Tags on KB articles become tags on the corresponding Intercom Article. We preserve tag names exactly and remap the tag associations to the parent object. If the same tag name exists in Intercom from a prior import, we merge rather than duplicate.
iService
Attachment (on Ticket)
Intercom
Conversation Attachment
1:1File attachments on iService tickets migrate as Intercom conversation attachments. We preserve the original filename and link each attachment to the correct conversation in Intercom. Attachments are uploaded as blobs and attached via the Intercom Attachments API to the relevant conversation part. Attachment files larger than 10 MB are flagged during scoping because Intercom's attachment size limit requires chunked handling.
| iService | Intercom | Compatibility | |
|---|---|---|---|
| Ticket | Conversation1:1 | Fully supported | |
| Conversation (inside Ticket) | Conversation Parts1:1 | Fully supported | |
| Customer | Contact1:1 | Fully supported | |
| Company | Company1:1 | Fully supported | |
| Live Chat Session | Conversation (type = chat)1:1 | Fully supported | |
| Knowledge Base Article | Article1:1 | Fully supported | |
| KB Category | Collection1:1 | Fully supported | |
| Custom Ticket Field | Custom Attribute (conversation or contact)lossy | Fully supported | |
| User / Agent | Teammate1:1 | Fully supported | |
| Tag | Tag1:1 | Fully supported | |
| Attachment (on Ticket) | Conversation Attachment1: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.
iService gotchas
No public API reference complicates automated export
Workflows cannot be migrated between platforms
Live chat transcript structure varies by configuration
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
Admin authorization and data export coordination
We request written authorization from the customer's iService account administrator and coordinate the data export process. This includes scheduling ticket exports (CSV or JSON depending on export capability), customer and company record exports, chat transcript retrieval (separated by portal-originated and integrated channel), and KB article downloads. We audit the exported data for completeness during this phase and flag any gaps before proceeding to mapping design.
Schema design and Intercom workspace configuration
We configure the Intercom workspace before migration begins. This includes enabling the Tickets product (if required by the customer), creating custom attributes on Contacts, Companies, and Conversations to match iService custom fields, designing the Collection hierarchy for KB articles, and provisioning Teammate accounts matched to iService agents. We create the destination schema in Intercom's settings and validate the attribute types before any data import starts.
Data audit and mapping specification
We audit the exported iService data across all object types and produce a written mapping specification. This includes the ticket-to-conversation mapping, customer-to-contact mapping, company-to-company mapping, custom field type conversions, tag mapping, chat source breakdown, and KB category-to-collection mapping. The mapping specification is reviewed by the customer's admin before migration begins.
Sandbox or staging migration
We run a full migration into a staging environment using production-like data volume. The customer's admin reconciles record counts, spot-checks 25-50 random conversations and contacts against the iService source, and validates that the KB article content rendered correctly in Intercom. Any mapping corrections happen at this stage. Chat transcript completeness is verified against the original iService chat export during this phase.
Production migration in dependency order
We run production migration in record-dependency order: Companies first (the parent for contacts), then Contacts (with company_id resolved), then Conversations (with contact_id resolved and ticket association if Tickets product is enabled), then chat session transcripts as conversation type=chat, then KB articles and collections, then attachments as conversation attachments, then tags as final linking records. Each phase emits a row-count reconciliation report before the next phase begins.
Cutover, validation, and workflow handoff
We freeze iService writes during cutover and run a final delta migration of any records modified during the migration window. We enable Intercom as the system of record and deliver the Workflow and automation inventory document to the customer's admin team, covering iService routing rules, status triggers, and notification workflows with recommended Intercom Inbox rule or workflow equivalents. We support a one-week hypercare window where we resolve any reconciliation issues. We do not rebuild iService workflows as Intercom Inbox rules inside the migration scope.
Platform deep dives
iService
Source
Strengths
Weaknesses
Intercom
Destination
Strengths
Weaknesses
Complexity grading
Moderate Helpdesk migration. 4 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 iService and Intercom.
Object compatibility
4 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
iService: Not publicly documented.
Data volume sensitivity
iService 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 iService to Intercom migration scoping. Not seeing yours? Book a call.
Walk through your iService 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 iService
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.