Helpdesk migration
Field-level mapping, validation, and rollback between Crisp and Intercom. We move data and schema; workflows are rebuilt natively in Intercom.
Crisp
Source
Intercom
Destination
Compatibility
7 of 10
objects map 1:1 between Crisp and Intercom.
Complexity
BStandard
Timeline
2-4 weeks
Overview
Moving from Crisp to Intercom is a platform upgrade for teams that have outgrown a workspace-priced messaging tool and need the scale of per-seat licensing, Fin AI agent capabilities, and a richer contact-company data model. Crisp's core thread object is a Conversation; Intercom's is a Ticket. We resolve that mapping during scoping and preserve message authorship, timestamps, and channel metadata through the Intercom REST API. Crisp Contacts live in the CRM module gated behind the Essentials plan, so teams on Free or Mini tiers must use the API export path rather than the UI. We sequence that export in 200K-record chunks, deduplicate on contact_id, and reassemble before loading. Operators map to Intercom Users, Segments become structured filter rules that Intercom's admin reconstructs, and Canned Responses carry their %placeholder% syntax intact for manual review at the destination. We do not migrate Crisp chatbot flows or automation workflows as code; we deliver a written inventory of every active workflow for the customer's admin to rebuild in Intercom's Operator platform.
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 Crisp 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.
Crisp
Conversation
Intercom
Ticket
1:1Crisp Conversations are the primary thread object and map directly to Intercom Tickets. Each Crisp Conversation carries a website_id reference, a contact reference, a nested set of Messages, and operator assignments. We map these to Intercom Tickets with state (open, resolved, snoozed), assignee, and the original channel metadata preserved. Conversation created_at and updated_at timestamps migrate to Ticket created_at and updated_at.
Crisp
Message
Intercom
Part
1:1Messages nested inside Crisp Conversations map to Intercom Parts attached to a Ticket. We preserve message body content, author metadata (operator vs visitor), timestamp, and attachment URLs. The author identity resolves to the mapped Intercom User or stays as visitor attribution. Note that Intercom Parts do not support the same inline image behavior as Crisp; image-only messages that were sent as separate responses in Crisp may need consolidation during review.
Crisp
Contact
Intercom
Contact
1:1Crisp Contacts (CRM module, Essentials+ tier) map to Intercom Contacts. Standard fields (email, name, phone) migrate directly. All Crisp custom properties map to Intercom custom attributes, which Intercom creates at migration time using the attributes API. For Free or Mini tier accounts where the CRM module is not accessible via UI, we export directly from the Crisp /contacts REST endpoint using an API key, which is available regardless of tier. We chunk exports at 200K records and deduplicate on contact_id across passes.
Crisp
Operator
Intercom
User
1:1Crisp Operators map to Intercom Users. We resolve operators by email match. Role-based permissions (admin vs agent) map to Intercom's permission groups. Any Crisp Operator without a matching email in the destination Intercom workspace is flagged for the customer to provision before migration resumes. Seat count must fit within the destination Intercom plan's user limits.
Crisp
Tag
Intercom
Label
1:1Crisp Tags applied to Conversations carry over as Intercom Labels. Tags are stored as label strings on the conversation thread in Crisp and become Label records associated with Tickets in Intercom. We extract the full tag set from the Conversations API and bulk-associate them with migrated Tickets.
Crisp
Segment
Intercom
Segment
lossyCrisp Segments are dynamic filter rules defined against Contact properties (Essentials+). We export the segment rule definitions as structured metadata (rule logic, property names, operators, values) and surface them in a written handoff document. Intercom Admins reconstruct these as Segments using Intercom's segment builder. Automated campaign triggers tied to Segments require rebuild as Intercom workflows.
Crisp
Website
Intercom
Workspace + Inbox
lossyA Crisp Website represents a configured chat widget tied to a domain. Websites hold widget settings, enabled channels, and routing rules. For multi-website accounts, we map each Website to a corresponding Intercom Inbox or collection. Widget settings (theme, colors, greeting messages) are exported as configuration snapshots for the customer to reapply in Intercom's widget customization panel.
Crisp
Canned Response
Intercom
Saved Reply
1:1Crisp Canned Responses use %placeholder% variable syntax (e.g., %session.nickname%). We export these as structured text with placeholders intact and flag them for manual review in Intercom's Saved Replies. Intercom Saved Replies use a different placeholder format (e.g., {{contact.name}}) and the customer adapts the templates during the rebuild phase.
Crisp
Attachment
Intercom
Attachment
1:1File attachments uploaded to Crisp Messages are stored as URLs referencing Crisp's file storage. We preserve attachment URLs and re-upload files to Intercom's file storage during migration, ensuring attachment links work inside migrated Tickets without referencing the Crisp CDN.
Crisp
Custom Property (Contact)
Intercom
Custom Attribute
lossyCrisp Contact custom properties (stored as dynamic key-value pairs in the CRM module) map to Intercom custom attributes on the Contact object. We enumerate all distinct property keys during discovery, create the corresponding attributes in Intercom via the attributes API, and map values during Contact import. Property type inference (string, number, date, boolean) is resolved against the actual data during the transform phase.
| Crisp | Intercom | Compatibility | |
|---|---|---|---|
| Conversation | Ticket1:1 | Fully supported | |
| Message | Part1:1 | Fully supported | |
| Contact | Contact1:1 | Fully supported | |
| Operator | User1:1 | Fully supported | |
| Tag | Label1:1 | Fully supported | |
| Segment | Segmentlossy | Fully supported | |
| Website | Workspace + Inboxlossy | Fully supported | |
| Canned Response | Saved Reply1:1 | Fully supported | |
| Attachment | Attachment1:1 | Fully supported | |
| Custom Property (Contact) | Custom Attributelossy | 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.
Crisp gotchas
Contact export is gated behind the Essentials tier
Contact export ceiling of 200K records
Multi-level rate limits on the REST API
Seat limits constrain operator record exports
Canned Responses have Crisp-specific variable syntax
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 tier assessment
We audit the source Crisp account across tier (Free/Mini/Essentials/Plus), active operator count, contact volume, conversation history depth, enabled channels (chat, email, WhatsApp, SMS), chatbot and automation configuration, and segment definitions. We confirm whether the CRM module is accessible (Essentials+) or whether API-based Contact export is required (Free/Mini). We pair this with Intercom plan selection guidance: Essential ($29/seat) covers core messaging and inbox; Advanced ($85/seat) adds workflows, product tours, and 20 lite seats; Expert ($132/seat) adds advanced analytics and custom bots. The discovery output is a written migration scope with record counts per object.
API credential and export-path validation
We validate the Crisp API key scope during a pre-migration test pull. For Free or Mini tier accounts, we confirm the /contacts endpoint returns all required fields before committing to the API export path. For Essentials+ accounts, we compare UI export capability against API export to determine the fastest path. We also validate the Intercom destination workspace credentials and confirm the ability to create custom attributes via the Intercom API before any data moves.
Schema design and custom attribute creation
We design the Intercom destination schema before data migration begins. This includes creating custom attributes on Contacts that map to Crisp custom properties, creating Labels from the Crisp tag set, and configuring Inbox or collection structure for multi-website accounts. Segments are documented as rule metadata rather than created programmatically because Intercom's segment builder requires manual reconstruction. We deploy custom attributes into the Intercom workspace via the attributes API before Contacts are imported.
Chunked Contact export and reassembly
We run Contact export in 200,000-record chunks using Crisp's REST API with ID-range filters. Each chunk is deduplicated on contact_id and validated against field completeness before being assembled into the full export set. Custom properties are extracted as key-value pairs and flattened into columns matching the Intercom custom attribute names created in the previous step. Once reassembly is complete, we run a row-count reconciliation against the source before proceeding to Intercom import.
Conversation and Message migration via Intercom REST API
We migrate Crisp Conversations to Intercom Tickets in dependency order: Tickets are created first with the source conversation ID stored in an Intercom custom attribute for audit, then Messages are imported as Parts attached to each Ticket. Operator attribution is resolved via the User mapping created in step 1. Tags are associated as Labels during ticket creation. Attachments are re-uploaded to Intercom storage and linked inside Parts. We throttle writes to respect Intercom API rate limits and implement exponential backoff on 429 responses.
Cutover, delta sync, and workflow rebuild handoff
We freeze Crisp writes during cutover and run a final delta migration of any conversations or contacts modified during the migration window. We deliver a written inventory of Crisp chatbot flows, automation workflows, and Canned Responses with recommended Intercom equivalents for the customer's admin to rebuild in Intercom's Operator platform. We do not migrate automations as code. We support a post-cutover validation window where we spot-check migrated tickets against source records and resolve any mapping discrepancies before the account is fully switched to Intercom.
Platform deep dives
Crisp
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 Crisp 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
Crisp: Multi-tier: load balancer (permissive), API global (per IP+user), API route (per IP+user, more restrictive), plugin quota (daily for permanent tokens). No exact published numbers — 429 responses with Retry-After header indicate exhaustion..
Data volume sensitivity
Crisp 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 Crisp to Intercom migration scoping. Not seeing yours? Book a call.
Walk through your Crisp 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 Crisp
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.