Helpdesk migration
Field-level mapping, validation, and rollback between Crisp and Zoho Desk. We move data and schema; workflows are rebuilt natively in Zoho Desk.
Crisp
Source
Zoho Desk
Destination
Compatibility
7 of 12
objects map 1:1 between Crisp and Zoho Desk.
Complexity
CModerate
Timeline
2-3 weeks
Overview
Moving from Crisp to Zoho Desk is a schema translation from a messaging-centric model to a ticketing-centric model. Crisp organizes support around Conversations and Messages; Zoho Desk organizes around Tickets and Threads. We map each Crisp Conversation to a Zoho Desk Ticket, preserving the message timeline, operator attribution, and channel metadata. Contact records migrate from Crisp's CRM module (available from Essentials tier upward) into Zoho Desk Contacts and Accounts, with custom properties mapped to Zoho Desk custom fields. Operator records map to Zoho Desk Agents, matched by email address. Tags carry as label strings; Canned Responses export as plain text for manual rebuild in Zoho Desk macros. We do not migrate Workflows, Chatbot flows, or Widget configuration as code; we deliver a written inventory for the customer's admin to rebuild in Zoho Desk's automation builder.
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 Zoho Desk, including any object-level transformations, lookup resolution, or schema-design dependencies.
Typical mapping — final map is confirmed during the sample migration step.
Crisp
Conversation
Zoho Desk
Ticket
1:1Crisp Conversations map to Zoho Desk Tickets. Each Conversation carries a website ID, a contact reference, a set of Messages, and operator assignments. We map the Crisp conversation_id to Ticket zohoDeskId for audit traceability. The Crisp channel type (chat, email, WhatsApp) maps to Zoho Desk's channel field. Status values (open, resolved, pending) map to Zoho Desk Ticket Status (Open, On Hold, Waiting on Customer, Closed). Priority from Crisp operator rating maps to Zoho Desk Priority (Low, Medium, High, Urgent). Original conversation timestamp migrates as the Ticket creation date.
Crisp
Message
Zoho Desk
Thread
1:1Crisp Messages nested inside Conversations map to Zoho Desk Threads. We preserve message body, author identity (operator vs. visitor), timestamp, and attachment references. Operator-authored messages map with the author's name attributed to the Thread; visitor messages carry the contact name. Thread direction (incoming/outgoing) maps from Crisp's author type. Note: Zoho Desk's assisted migration documentation flags that Comment Author (Contact or Agent) attribution may be simplified during import; we preserve author identity in a custom field for audit.
Crisp
Contact
Zoho Desk
Contact + Account
lossyCrisp Contacts (CRM module, Essentials+ only) map to Zoho Desk Contacts. Standard fields (email, name, phone) migrate directly. Custom Contact properties in Crisp migrate to Zoho Desk custom fields scoped per department. If the source Crisp account is on Free or Mini tier, the CRM module is inaccessible via UI but Contacts are available via the REST API /contacts endpoint; we use the API export path. Crisp Contacts with a company domain may optionally split into a Zoho Desk Account with child Contact records based on the customer's account strategy during scoping.
Crisp
Operator
Zoho Desk
Agent
1:1Crisp Operators map to Zoho Desk Agents. We match by email address, which is the required deduplication key in Zoho Desk. Zoho Desk's assisted migration guide specifies that agent email addresses must match exactly between source and destination, and agents must be active in the destination account at time of import. Seat limits differ: Crisp Mini (fixed small count), Essentials (up to 5), Plus (higher) versus Zoho Desk Standard/Professional per-agent. If the destination plan's agent count is exceeded, we flag the reconciliation for the customer to deactivate operators or upgrade before migration.
Crisp
Tag
Zoho Desk
Tag
1:1Crisp Tags applied to Conversations migrate as Zoho Desk Tags. Tags are stored as label strings on the Ticket record. We extract all distinct tag values from Crisp Conversations, normalize them (trim whitespace, collapse duplicates), and write them to the migrated Tickets. Note: Zoho Desk's Zwitch tool documentation for other platforms flags that tags may not migrate fully in all paths; we use direct API mapping to ensure tag fidelity rather than relying on Zoho's import wizard.
Crisp
Website
Zoho Desk
Department or Custom Field
lossyCrisp Websites represent configured chat widgets tied to domains with widget settings, enabled channels, and routing rules. Website IDs and configurations do not have a direct Zoho Desk equivalent because Zoho Desk does not manage chat widget deployment. We extract Website settings as structured metadata and either map the Crisp website_id to a Zoho Desk custom field on Ticket for reference, or map the routing intent to Zoho Desk Department assignment rules. The chat widget replacement (installing Zoho Desk's widget or a third-party chat tool) is handled by the customer's dev team post-migration.
Crisp
Segment
Zoho Desk
Custom Field Filter
lossyCrisp Segments (dynamic Contact filters defined in the CRM module, Essentials+) are rule-based definitions against Contact properties. We preserve the segment rule definitions as structured metadata in a custom field on the Contact record (e.g., a JSON blob of the rule logic). Zoho Desk does not have native dynamic Segments; rebuilding segment-based routing requires Zoho CRM automation or manual contact filtering. We document the original Crisp segment criteria for the customer's admin to rebuild as Saved Filters or CRM workflows.
Crisp
Canned Response
Zoho Desk
Macro
lossyCrisp Canned Responses use %placeholder% syntax (e.g., %session.nickname%) for dynamic values. We export Canned Responses as plain text with placeholders intact and deliver them as a structured list for manual adaptation. Zoho Desk Macros use {{ticket.id}} and {{contact.name}} variable syntax, which differs from Crisp's %variable% format. We flag each Canned Response for manual review and document the recommended Zoho Desk Macro variable replacement so the customer's admin can adapt templates without rebuilding from scratch.
Crisp
Attachment
Zoho Desk
Attachment
1:1File attachments uploaded to Crisp Messages are stored as URLs referencing Crisp's file storage. We preserve attachment URLs during extraction and re-upload files to Zoho Desk's attachment storage during migration. Large attachments are handled in sequence to avoid timeout. Note: inline images within message bodies may require URL rewriting if Crisp-hosted URLs are not publicly resolvable at migration time; we flag any broken attachment references for manual resolution.
Crisp
Chat Widget Settings
Zoho Desk
Not Migrated
lossyCrisp's chat widget theme, color, greeting message, and behavior configuration is tied to each Website and cannot be exported in a form that Zoho Desk can import. We extract widget settings as a configuration snapshot document for the customer's development team to use when installing Zoho Desk's chat widget, Zoho's SalesIQ, or an alternative widget post-migration. This is an operational rebuild task, not a data migration task.
Crisp
Engagement (email, call, meeting)
Zoho Desk
Task + Event
1:1If the source Crisp account has engagement logging (e.g., emails sent via Crisp Campaigns or call logs in the CRM module), we map these to Zoho Desk Tasks and Events. Note that Crisp's core product is messaging rather than a full engagement tracking platform; engagement data density depends on which Crisp plugins are active. We migrate what is present and flag any engagement gaps for the customer's awareness.
Crisp
Products (if configured in Crisp CRM)
Zoho Desk
Product
1:1Products configured in Crisp's CRM module (Essentials+) migrate to Zoho Desk Products. The Crisp product name, SKU (hs_sku), and price map to Zoho Desk Product2 name, product code, and unit price. If no Products are configured in Crisp, this object is skipped.
| Crisp | Zoho Desk | Compatibility | |
|---|---|---|---|
| Conversation | Ticket1:1 | Fully supported | |
| Message | Thread1:1 | Fully supported | |
| Contact | Contact + Accountlossy | Fully supported | |
| Operator | Agent1:1 | Fully supported | |
| Tag | Tag1:1 | Fully supported | |
| Website | Department or Custom Fieldlossy | Fully supported | |
| Segment | Custom Field Filterlossy | Fully supported | |
| Canned Response | Macrolossy | Fully supported | |
| Attachment | Attachment1:1 | Fully supported | |
| Chat Widget Settings | Not Migratedlossy | Mapping required | |
| Engagement (email, call, meeting) | Task + Event1:1 | Fully supported | |
| Products (if configured in Crisp CRM) | Product1: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.
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
Zoho Desk gotchas
Agent email identity determines comment ownership after migration
Blueprints and SLA policies do not export via API
File upload capped at 10GB per migration batch
Tier-gated export and migration capabilities
Inbound migration is two-phase with a hard Phase 2 cutoff
Pair-specific challenges
Migration approach
Discovery and tier assessment
We audit the source Crisp account across plan tier (Free/Mini/Essentials/Plus), conversation volume, contact count, active websites, configured tags, and Canned Responses. We confirm API key availability for Free/Mini tier accounts (required for Contact export via /contacts endpoint). We assess the destination Zoho Desk plan (Free 3 agents, Standard $14, Professional $23) against the operator count to identify any seat reconciliation needed before migration. The discovery output is a written migration scope document with record counts per object and a seat reconciliation checklist.
Object mapping design and sandbox validation
We design the Zoho Desk schema before any data moves: custom fields scoped to the target department, Tag field configuration, and Ticket status values aligned to Crisp's conversation states. We run a sandbox migration with a representative sample (typically 50-100 records per object) to validate the mapping, confirm that operator email matching resolves correctly, and identify any custom field type mismatches. The customer reconciles sandbox results before production migration begins.
Operator-to-agent reconciliation
We extract every distinct Crisp Operator and match by email against the destination Zoho Desk agent list. Operators without a matching active Zoho Desk Agent go to a reconciliation queue. The customer decides whether to provision missing agents (active or inactive), deactivate operators exceeding the destination plan's seat count, or upgrade the Zoho Desk plan. Migration cannot proceed past this step because Zoho Desk requires a valid agent email for ticket attribution.
Data extraction and chunking
We extract Crisp data in dependency order: Contacts (via API with chunking for accounts over 200K records), then Conversations with embedded Messages, then Tags, then Canned Responses, then Website configurations. For large datasets we implement exponential backoff on the Crisp REST API and respect the Retry-After header on 429 responses. We preserve original timestamps in a custom field on each record and extract inline images as separate file references.
Production migration in dependency order
We run production migration into the live Zoho Desk account in record-dependency order: Agents (validated from step 3), Contacts (with any Account linkage resolved), Tickets (with original timestamp in custom field and current timestamp as import date per Zoho Desk import behavior), Threads (linked to Tickets), Attachments (re-uploaded to Zoho Desk storage), Tags (written to Ticket records), and Canned Responses (delivered as a structured document for manual macro rebuild). Each phase emits a row-count reconciliation report before the next phase begins.
Cutover, validation, and inventory handoff
We freeze Crisp writes during cutover, run a final delta migration of any records modified during the migration window, then enable Zoho Desk as the system of record. We deliver the Canned Response adaptation document (with Zoho Desk Macro variable mapping), the Widget configuration snapshot for the customer's dev team, and the Segment rebuild guide as Saved Filters or CRM workflows. We support a one-week hypercare window for reconciliation issues. We do not rebuild Crisp chatbot flows as Zoho Desk workflows inside the migration scope; that is a separate engagement.
Platform deep dives
Crisp
Source
Strengths
Weaknesses
Zoho Desk
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 Crisp and Zoho Desk.
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
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 Zoho Desk migration scoping. Not seeing yours? Book a call.
Walk through your Crisp to Zoho Desk 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 Zoho Desk
Same-Helpdesk migrations
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.